씨언어 구조체 문제 질문이요~
유진
질문 내용 :
학교에서 소스 문제를
각 과목의 합이랑 평균 구하라고 하던데
뭘 더 고쳐야 되는지 이해를 못했어요...
혹시 더 고쳐야 할게 있나요???
#includestdio.h
#includestring.h
#define SJ_SU 5
struct Student //구조체의 정의
{
char name[10]; //이름
char hakbun[8]; //학번
int sj[SJ_SU];
int hap;
double ave;
int rank;
char grade[3];
};
void Input(Student * t);
void Processing(Student * t);
void output(Student * t);
void check_grade(char * str , double av);
char sj_name[11][11]={이름,학번, // (가 아닌 {
국어,영어,수학,사회,과학,
합계,평균,등위,등급};
char gr[][3]={A+ , A0 , B+ , B0 , //
C+ , C0 , D+ , D0 ,
F};
int main()
{
Student s;
Input(&s);
Processing(&s);
output(&s);
return 0;
}
void Input(Student * t) // ; 없앰
{
printf(학생의 이름:);
scanf(%s , &t-name);
printf(학생의 학번:);
scanf(%s , &t-hakbun);
int i;
for(i=2 , t-hap=0 ; i7 ; i++) //
{
printf(%s 성적 : , sj_name[i]);
scanf(%d , &t-sj[i-2]);
t - hap += t-sj[i-2];
}
}
void Processing(Student * t)
{
t-ave=(double)t-hap/5;
t-rank=1;
check_grade(t-grade,t-ave);
return;
}
void output(Student * t)
{
printf(%s %s %s %s %s %s %s %s
%s %s %s\n,
sj_name[0],sj_name[1],sj_name[2],
sj_name[3],sj_name[4],sj_name[5],
sj_name[6],sj_name[7],sj_name[8],
sj_name[9],sj_name[10]);
printf(%s %s %d %d %d %d %d %d
%0.2f %d %s \n , t-name,
t-hakbun, t-sj[0],t-sj[1],t-sj[2],
t-sj[3],t-sj[4],t-hap,t-ave,
t-rank ,t-grade);
return ;
}
void check_grade(char * str , double av)
{
int gr_no , check=(int)av/5;
if(check==20) gr_no=0;
else if (check 12) gr_no=0;
else
gr_no=19-check;
strcpy(str , gr[gr_no]); //
return ;
}