C++ if else kodundaki hata nedir?

else (a>10)'dan sonra noktalı virgül koymayı dene.

Şu şekilde: else (a>10);{

Bu durumda da şöyle saçma bir sonuç çıkıyor. parantezden sonra süslü parantez arasınanoktalı virgül konulduğunu hiç görmedim. Yani bilmiyordum IDE hata vermiyor.
 

Dosya Ekleri

  • resim_2022-01-02_222244.png
    resim_2022-01-02_222244.png
    95,4 KB · Görüntüleme: 84
else ifadesinden sonra koşul gelmez. else if ve if koşul belirtir.
Doğru. Noktalı virgül koyduğunda program yine çalışır ancak koşula bakmaz. Yani hem a 10'dur der hem de a 10'dan büyüktür der. Sonuç olarak hata çözülmüş olur, program çalışmış olur ve ciktiya bakan konu sahibi anlamış olur koşul gelmemesi gerektiğini😊
 
@Rookie Programmer Else, IF koşulu sağlanamaz ise girilen yer.
Sen eğer IF'ten sonra başka IF eklemek istiyorsan IF yerine Else IF eklemen lazım.
Söze dökecek olursak:
Eğer 10L Süt varsa 10L Süt alacağım eğer 10L Süt yoksa 5L Süt alacağım Eğer ikisi de yoksa süt almayacağım.
10L Süt varsa = IF
10L Süt yoksa 5L Süt alacağım Else IF
Eğer ikisi de yoksa almayacağım. = Else
 
a > 10 gereksiz ayrıca. Asla çalışmayacak. Else if kullanmadan yazdığından hata alıyorsun ama bir diğer mevzu çalışma akışına göre hata var.

a 10 dan küçükse, kod çalışır kalan gereksinimler kontrol edilmez. a 10a eşitse kod çalışır sonrakiler kontrol edilmez, a 10dan farklıysa kod çalışır sonrakiler kontrol edilmez. Eğer a 10dan farklıyı koyduysan ve ondan sonra herhangi bir else if koyarsan, asla çalışmayacak. Logic errordur bu.
 
Daha basit bir şekilde kodunuz üzerinden anlatayım.

1- "a" değişkeni 10'dan küçükse yazdır. Değilse 2'ye geç.
2- "a" değişkeni 10'a eşitse yazdır. Değilse 3'e geç.
3- "a" değişkeni 10 değilse yazdır. Eşitse 4'e geç.
4- Hatalı kod.

Burada 2. sorgudan sonra 3. sorguyu else şeklinde yaparak kontrol ettirebilirsiniz. Zaten direk 10 değilse koşul sağlanacaktır. Son yapmış olduğunuz koşulu yani 10'dan büyükse eğer koşulunu 10'dan küçükse koşulunun altına "else if(a > 10)" şeklinde yazarsanız kodunuz çalışacaktır.

Yani "else", "if" ile kullandığımız koşulun dışında kalanların tamamını alıyor. Bunu matematikteki kümeler gibi düşünebiliriz. A kümesinin tersi A' şeklinde yazılır. Bizde denetlediğimiz koşulun dışında kalanları yani tersini alıyoruz. "else if" ise "if" sağlanmazsa yeni bir koşul denetlemeye yarıyor.
 
a 10'dan farklıdır ve a 10'dan büyüktür kısmı sanırım hatalı a'yı mesela 11 yaptım cevap a 10'dan farklıdır verdi. Büyüktür demedi.
Yazman gereken kod;

if(a<10){Buraya istediğini yaz}
else if(a==10){Buraya istediğini yaz}
else{){Buraya istediğini yaz}

şeklinde olmalıdır.
 
Son düzenleme:
"a" değişkenine girilen değer 5'ten küçükse "is smaller than 5." yazdır. Küçük değilse eğer 5'e eşit mi diye kontrol et. Eğer 5'e eşitse "is equal to 5." yazdır. 5'e eşit değilse eğer 5'e eşit olmayan ve 5'ten küçük olmayan herhangi bir değer olacağı için "is bigger than 5." yazdırıyor.
 

Technopat Haberler

Geri
Yukarı