31-12-2006, 17:15
|
|
|
חבר מתאריך: 06.07.05
הודעות: 6,559
|
|
מתחיל בC וכבר בעיה...
הבקשה הייתה:
כתוב תוכנית הקולטת עבור 5 תלמידים את שמם ואת ציוניהם. מספר הציונים לכל תלמיד לא ידוע מראש, והוא יסתיים בציון 444-.
התוכנית תחשב ותדפיס לכל תלמיד את ממוצע הציונים שלו.
כמו כן התוכנית תדפיס את שמו של התלמיד שקיבל את הממוצע הגבוה ביותר.
זה הקוד שכתבתי:
int x1,count,i,sum;
char name,MaxName;
double AVG,max;
i=1;
for (;i<6;i++)
{
max=101;
count=0;
sum=0;
printf("Enter student name: \n");
scanf("%c",&name);
printf("Enter student mark: \n");
scanf("%d",&x1);
while (x1!=-444)
{
sum=sum+x1;
count++;
printf("Enter student mark:\n");
scanf("%d",&x1);
}
AVG=(double)sum/count;
printf("%c's AVG is: %lf\n",name,AVG);
if (AVG>max)
{
max=AVG;
MaxName=name;
}
}
printf("The student with the best AVG was %c, his AVG is: %lf",MaxName,max);
return 0;
מצטער על הצורה שבה הקוד כתוב...
אני מניח שיש לי כמה בעיות, אבל מה שהכי מעצבן אותי זה שכל פעם שאני מריץ את זה הוא שואל אותי:
Enter student name
אני כותב לו שם כלשהו, ואז הוא כותב לי אינסוף פעמים:
Enter student mark
מה יכולה להיות הבעיה?
|