#include <stdio.h>
void print (int count, int* number, int* korean, int* english, int* math, float* aver,
float max_Aver, int max_Korean, int max_English, int max_Math, float* sum_Aver, float *total_Aver);
int main (void)
{
int count = 0;
int number; // 학번
int korean; // 국어성적
int english; // 영어성적
int math; // 수학성적
float aver; // 평균점수
float max_Aver = 0;
int max_Korean = 0;
int max_English = 0;
int max_Math = 0;
float sum_Aver;
float total_Aver; // 전체평균점수
print (count, &number, &korean, &english, &math, &aver, max_Aver, max_Korean, max_English, max_Math, &sum_Aver, &total_Aver);
printf(\"\\n\");
return 0;
}
void print (int count, int *number, int *korean, int *english, int *math, float* aver,
float max_Aver, int max_Korean, int max_English, int max_Math, float* sum_Aver, float *total_Aver)
{
int koreanmax = 0;
do
{
printf(\"Enter the student number : \");
scanf(\"%d\", number);
count++;
if (*number == 0)
{
break;
}
else
{
*sum_Aver += *aver;
*total_Aver = *sum_Aver / count-1;
if (*aver > max_Aver)
{
max_Aver = *aver;
}
printf(\"Enter the score for the KOREAN class : \");
scanf(\"%d\", korean);
if (*korean > max_Korean)
{
max_Korean = *korean;
}
printf(\"Enter the score for the ENGLISH class : \");
scanf(\"%d\", english);
if (*english > max_English)
{
max_English = *english;
}
printf(\"Enter the score for the MATH class : \");
scanf(\"%d\", math);
if (*math > max_Math)
{
max_Math = *math;
}
*aver = (float) (*korean + *english + *math) / 3;
printf(\"---------------------------------------------\");
printf(\"\\n Student NO : %3d\", *number);
printf(\"\\n KOREAN : %3d\", *korean);
printf(\"\\n ENGLISH : %3d\", *english);
printf(\"\\n MATH : %3d\\n\", *math);
printf(\"\\n AVERAGE : %4.1f\", *aver);
printf(\"\\n---------------------------------------------\\n\\n\");
}
} while (number != 0);
printf(\"---------------------------------------------\");
printf(\"\\n S T U D E N T T O T A L S C O R E \");
printf(\"\\n---------------------------------------------\");
printf(\"\\n\\n TOTAL SCORE: %f \\n\", total_Aver);
printf(\"\\n Number of students: %d \\n\", count-1);
printf(\" MAX SCORE [AVERAGE]: %4.1f \\n\", max_Aver);
printf(\" MAX SCORE [KOREAN]: %d \\n\", max_Korean);
printf(\" MAX SCORE [ENGLISH]: %d \\n\", max_English);
printf(\" MAX SCORE [MATH]: %d \\n\", max_Math);
printf(\"\\n---------------------------------------------\");
return;
}
여기서 맨 밑부분에 TOTAL SCORE <-- total_Aver 가 0.000000 로 출력되고
MAX SCORE [AVERAGE] <-- max_Aver 가 평균값들중 최대값을 출력할떄도 있고 가끔씩 첫 평균값을 걍 내버리는경우가있음;
어떤 부분을 수정하면 될가요...
댓글 0