ㅠ_ㅠC언어 짠거 수정좀 부탁 드립니다..내공 드림.ㅠㅠ
-
게시물 수정 , 삭제는 로그인 필요
#include <stdio.h>
struct sungjuk{
char name[10];
int en;
int mat;
int kor;
int tot;
double avg;
float grade;
int sort;
};
void total(struct sungjuk *psj)
{
int i;
for(i = 0; i < 10; i++, psj++)
{
psj->tot = psj->en + psj->kor + psj->mat;
}
}
void avg(struct sungjuk *psj)
{
int i;
for(i = 0; i < 10; i++, psj++)
psj->avg = psj->tot / 3.0;
}
void f_grade (struct sungjuk *psj)
{
int i;
for(i = 0; i < 10; i++, psj++)
{
if( (psj->avg >= 90) && (psj->avg <=100))
psj->grade = 'A';
else if( (psj->avg >= 80) && (psj->avg <90))
psj->grade = 'B';
else if( (psj->avg >= 70) && (psj->avg <80))
psj->grade = 'C';
else if( (psj->avg >= 60) && (psj->avg <70))
psj->grade = 'D';
else if( (psj->avg >= 50) && (psj->avg <60))
psj->grade = 'E';
else
psj->grade = 'F';
}
}
void f_sort(struct sungjuk *psj)
{
int i, j, count = 1;
struct sungjuk *ptemp01 = psj;
struct sungjuk *ptemp02 = psj;
for(i=0; i<10; i++, ptemp01++)
{
// temp = ptemp01->tot;
for(j=0; j<10; j++)
{
if(i==j)
continue;
if( (i != j) && (ptemp01->tot < (psj++)->tot))
count++;
}
ptemp01->sort = count;
psj = ptemp02;
count = 1;
}
}
void output(struct sungjuk *psj)
{
int i;
printf("------------------------------------------------------------\n");
printf("이름 영어 수학 국어 총점 평균 학점 순위\n");
printf("------------------------------------------------------------\n");
for(i = 0; i < 10; i++, psj++)
{
printf("%s\t%d\t%d\t%d\t%d\t%.2f\t%c\t%d\n",
psj->name, psj->en, psj->mat, psj->kor, psj->tot, psj->avg, psj->grade, psj->sort);
}
}
void main()
{
struct sungjuk sj[10] = {
{"홍길동", 90, 80, 70, 0, 0, 0, 0},
{"이길동", 95, 85, 75, 0, 0, 0, 0},
{"김길동", 55, 75, 45, 0, 0, 0, 0},
{"유길동", 75, 20, 55, 0, 0, 0, 0},
{"안길동", 15, 20, 15, 0, 0, 0, 0},
{"신길동", 52, 50, 80, 0, 0, 0, 0},
{"강길동", 47, 25, 30, 0, 0, 0, 0},
{"권길동", 44, 62, 64, 0, 0, 0, 0},
{"하길동", 58, 72, 65, 0, 0, 0, 0},
{"성길동", 48, 22, 85, 0, 0, 0, 0}
};
// struct sungjuk *psj;
total(sj);
avg(sj);
f_grade(sj);
f_sort(sj);
output(sj);
}
여기서요 ㅠㅠ 석차랑 평균이 영,,이상한데 ㅠㅠ
좀 수정좀 부탁 드릴께요 ㅠ_ㅠ...
#include <stdio.h>
struct sungjuk{
char name[10];
int en;
int mat;
int kor;
int tot;
double avg;
float grade;
int sort;
};
void total(struct sungjuk *psj)
{
int i;
for(i = 0; i < 10; i++, psj++)
{
psj->tot = psj->en + psj->kor + psj->mat;
}
}
void avg(struct sungjuk *psj)
{
int i;
for(i = 0; i < 10; i++, psj++)
psj->avg = psj->tot / 3.0;
}
void f_grade (struct sungjuk *psj)
{
int i;
for(i = 0; i < 10; i++, psj++)
{
if( (psj->avg >= 90) && (psj->avg <=100))
psj->grade = 'A';
else if( (psj->avg >= 80) && (psj->avg <90))
psj->grade = 'B';
else if( (psj->avg >= 70) && (psj->avg <80))
psj->grade = 'C';
else if( (psj->avg >= 60) && (psj->avg <70))
psj->grade = 'D';
else if( (psj->avg >= 50) && (psj->avg <60))
psj->grade = 'E';
else
psj->grade = 'F';
}
}
void f_sort(struct sungjuk *psj)
{
int i, j, count = 1;
struct sungjuk *ptemp01 = psj;
struct sungjuk *ptemp02 = psj;
for(i=0; i<10; i++, ptemp01++)
{
// temp = ptemp01->tot;
for(j=0; j<10; j++)
{
if(i==j)
continue;
if( (i != j) && (ptemp01->tot < (psj++)->tot))
count++;
}
ptemp01->sort = count;
psj = ptemp02;
count = 1;
}
}
void output(struct sungjuk *psj)
{
int i;
printf("------------------------------------------------------------\n");
printf("이름 영어 수학 국어 총점 평균 학점 순위\n");
printf("------------------------------------------------------------\n");
for(i = 0; i < 10; i++, psj++)
{
printf("%s\t%d\t%d\t%d\t%d\t%.2f\t%c\t%d\n",
psj->name, psj->en, psj->mat, psj->kor, psj->tot, psj->avg, psj->grade, psj->sort);
}
}
void main()
{
struct sungjuk sj[10] = {
{"홍길동", 90, 80, 70, 0, 0, 0, 0},
{"이길동", 95, 85, 75, 0, 0, 0, 0},
{"김길동", 55, 75, 45, 0, 0, 0, 0},
{"유길동", 75, 20, 55, 0, 0, 0, 0},
{"안길동", 15, 20, 15, 0, 0, 0, 0},
{"신길동", 52, 50, 80, 0, 0, 0, 0},
{"강길동", 47, 25, 30, 0, 0, 0, 0},
{"권길동", 44, 62, 64, 0, 0, 0, 0},
{"하길동", 58, 72, 65, 0, 0, 0, 0},
{"성길동", 48, 22, 85, 0, 0, 0, 0}
};
// struct sungjuk *psj;
total(sj);
avg(sj);
f_grade(sj);
f_sort(sj);
output(sj);
}
여기서요 ㅠㅠ 석차랑 평균이 영,,이상한데 ㅠㅠ
좀 수정좀 부탁 드릴께요 ㅠ_ㅠ...