Yazdığım koddaki hata nedir?

Katılım
13 Mayıs 2020
Mesajlar
1.163
Çözümler
1
Yer
Mersin
Daha fazla  
Sistem Özellikleri
Macbook Pro 16" M1 Pro Silver
Cinsiyet
Erkek
Meslek
Ağa/Paşa
Terminale böyle çıkıyor. Ortalama 50'nin altında dahi olsa en alttaki "tebrikler" Printf'i çalışıyor. Eğer ortalama 50'nin altında kalırsa program orada sonlansın istiyorum.
Not: Algoritma ödevi.
Not 2: C dili.

Ekran Resmi 2022-01-10 14.48.45.png
 
Tebrikler printf'i else bloklarının içinde değil. Sırası gelince her türlü çalışacaktır. Şu şekilde dene:
[CODE lang="c" title="C"]else{
printf("Geçme notu/n");
printf("Tebrikler");

}[/CODE]
 
Çünkü tebrikler ile başlayan satır if döngüsü içerisinde değil. Yani bir sorgu içerisinde olmadığı için sabit bir yazı olarak çıkıyor.

Tebrikler yazısını eğer bütünlemeye kalmazsa yazdıracaksın. Yani else döngüsü içerisinde olacak. Böylece ortalaması ve finali 50'den büyükse o yazı yazdırılacak.
 
Kod düzeninizi en kısa sürede düzeltmenizi şiddetle tavsiye ediyorum.
; den sonra gelen kod bir alt satıra yazılır.
{} Lerden sonra bir satır aşağıya in.
Else ile aynı satıra kod yazma bir alt satıra in.
 
Arkadaşlar cevabı vermiş ama yine de yazayım.

If-else ve döngü blokları bittiğinde program koşmaya devam eder. Senin yazdığın "Tebrikler" programın ana kısmında. Yani ne olursa olsun yazılacaktır.

Bir koşula bağlamayı dene.

Çözümü kendin bulman için buraya düzeltmeyi yapmayacağım. :)

Bu arada kodlarını daha temiz ve düzenli yazmaya çalış, bu bir alışkanlıktır ve ileride sana aşırı faydası olur.
 
Çok teşekkür ederim yardımlarınız için ancak yarına yetiştirmem lazım ekstradan algoritmasını şemasını çizmem , raporunu hazırlamam lazım yani direkt olarak kodu söylerseniz çok büyük iyilik yaparsınız.
Ben dediğinizi yaptım ancak yine en alttakinden devam ediyor demek istediğim switch case deki "brake" gibi bir şey var mı ki ortalama 50 nin altında olunca büte kaldın yazsın ve programı sonlandırsın eğer 50 den yüksek ise devam etsin istiyorum ama bir türlü yapamadım.
Ekran Resmi 2022-01-10 16.14.29.png

Tamamdır dostlar sağolun return(1); yazmayı denedim bütünlemeye kaldın yazısının altına ve oldu hepinize çok teşekkürler.
 
Son düzenleme:

Technopat Haberler

Geri
Yukarı