Programda nerede hata var ? yardım edebilir misiniz?
Kod:
/* Sinifin mevcuduna göre not ortalamasini alma */
#include<stdio.h>
#include<conio.h>
int main ()
{
int sinifmevcudu,dersnotu,toplam=0,sayici=0,;
float ortalama;
printf("Sinif mevcudunu giriniz:");
scanf("%d",&sinifmevcudu);
while (sayici<=sinifmevcudu);
{
printf("\nNotu giriniz: ");
scanf("%d",&dersnotu); /* ders notunu desibal değere atadık */
sayici=sayici+1;
toplam=toplam+dersnotu;
}
if (sinifmevcudu!=0)
{
ortalama=(float)toplam/sinifmevcudu;/* girilen not sayisini bilmediğimiz
icin toplami sayici sayısına yani öğrenci sayısına böldük. */
printf("\nSinifin ders notu ortalamasi:%.2f'dir",ortalama);/* % işaretinin
yanındaki .2 ifadesi ortalamanin virgülden sonra kaç basamak devam
edeceğini belirler */
}
else
printf("Hic not girilmemistir.");
getch ();
return 0;
}
Program derleyince hata vermiyor ama çalışmıyor da burada yapmak istediğim önce kişiden sınıf mevcudunu almak ve sınıf mevcudu kadar notu girdikten sonra direk ortalamayı vermesi daha yeni öğrenmeye başladım yardımlarınız için şimdiden teşekkürler..
Ynt: Programda nerede hata var ? yardım edebilir misiniz?
#include<stdio.h>
#include<conio.h>
int main ()
{
int sinifmevcudu,dersnotu,toplam=0,sayici=1;
float ortalama;
printf("Sinif mevcudunu giriniz:");
scanf("%d",&sinifmevcudu);
while (sayici<=sinifmevcudu)
{
printf("\nNotu giriniz: ");
scanf("%d",&dersnotu); /* ders notunu desibal değere atadık */
sayici++;
toplam=toplam+dersnotu;
}
if (sinifmevcudu!=0)
{
ortalama=(float)toplam/sinifmevcudu;/* girilen not sayisini bilmediğimiz
icin toplami sayici sayısına yani öğrenci sayısına böldük. */
printf("\nSinifin ders notu ortalamasi:%.2f'dir",ortalama);/* % işaretinin
yanındaki .2 ifadesi ortalamanin virgülden sonra kaç basamak devam
edeceğini belirler */
}
else
printf("Hic not girilmemistir.");
getch ();
return 0;
}
Doğrusu böle olacak arkadasım.while sonuna ; koyarsan program orayı boş deyim algılar ve ondan snrasını çalıştırmaz.Ve sayiciyi 1 den baslatmalısın cünkü mesela 2 girdiğinde sayici=1 ken 1. kez sayici=2 oldugunda 2.kez dönecektir döngü,eger 0 dan baslatırsan sayıcıyı 3 kez döndürür.
Ynt: Programda nerede hata var ? yardım edebilir misiniz?