#include <stdio.h> 
int main(void)
{
    char a,b,c;
    printf("Lutfen bir araba modelinin bas harfini giriniz.");
    scanf("%c" ,&a,&b,&c);
    if(a) {
        printf("Audi.",a);
    }
    else if(b) {
        printf("BMW.",b);
    }
    else if(c) {
        printf("Citroen." ,c);
    }
    else {
    printf("Boyle bir araba markasi yok.");
    }
    return 0;
}

Arkadaşlar C dilini öğrenmeye yeni başladım.İlk deneyimim. Bi kod yazdım. Derlediğimde ne yazarsam yazıyım hep Audi cevabını veriyor. Nedeni nedir?

soruldu: 20 Eyl '15, 08:39

kalpsiz00's gravatar image

kalpsiz00
0112
cevap kabul oranı: 0%

değiştirildi: 21 Eyl '15, 03:21

kodmanyagha's gravatar image

kodmanyagha
3.1k132852


1- oncelikler scanf in kullaniminda sorun var, format stringinde sadece bir tane %c var ama 3 tane degisken kullanmissiniz, degiskenlerin ucune de ayri ayri deger girmek icin

scanf("%c %c %c" ,&a,&b,&c);

gibi birsey olmali.

2- ama printf in icindeki ifadeye bakilirsa siz sadece bir tane harf ( baş harf ) girilmesini bekliyorsunuz o zaman, b ve c degiskenleri gereksiz olmus, soyle yapabilirsiniz.

char a;
printf("Lutfen bir araba modelinin bas harfini giriniz.");
scanf("%c" ,&a);

3- if-else bloklari kullanmissiniz, ilk "if(a)" her zaman true olunca ( cunku girilen deger o degiskene atainyor, deger ne olursa olsun true olarak yorumlanacak) diger "else if" lere hic girmiyor.

4- anladigim kadariyla, kullanicinin girdigi harfe gore ( a degiskenindeki deger ) cevap vereceksiniz, o zaman "if" lerin icinde sadece "a" degil, "a nin degeri 'c' midir" seklinde kontrol etmeniz lazim

if( a == 'a') printf("Audi\\n");
else if( a == 'b') printf("BMW\\n);
else if( ....
....

seklinde.

permanent link

cevaplandı: 21 Eyl '15, 02:09

tafali's gravatar image

tafali
4593412
cevap kabul oranı: 12%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×42

Soruldu: 20 Eyl '15, 08:39

Görüntüleme: 385 kez

Son güncelleme: 23 Eyl '15, 10:17

powered by BitNami OSQA