-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfunc_project2
59 lines (52 loc) · 1.55 KB
/
func_project2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <stdio.h>
typedef struct student {
int num; // 학번
char name[20]; // 이름
int mic, lin, pro; // 각 과목의 점수
int tot; // 총점
double avg; // 평균
char grade;
} Student;
void input_data(Student *pary); // 학생 데이터를 입력하는 함수
void calc_data(Student *pary); // 학생 데이터를 계산하는 함수
void print_data(Student *pary); // 학생 데이터를 출력하는 함수
int main(void) {
Student ary[5];
input_data(ary);
calc_data(ary);
print_data(ary);
return 0;
}
void input_data(Student *pary) {
for (int i = 0; i < 5; i++) {
printf("학생 %d의 데이터를 입력하세요 : ", i+1); // 1~5
scanf("%d %s %d %d %d", &pary[i].num, pary[i].name, &pary[i].mic, &pary[i].lin, &pary[i].pro);
} // 학번, 이름, 각 과목의 점수 입력
}
void calc_data(Student *pary) {
for (int i = 0; i < 5; i++) { // 입력받은 5명의 학생 데이터
pary[i].tot = pary[i].mic + pary[i].lin + pary[i].pro; // 총점을 구해서
pary[i].avg = (double) pary[i].tot / 3; // 과목 수만큼 나눔
if (pary[i].avg >= 90) {
pary[i].grade = 'A';
}
else if (pary[i].avg >= 80) {
pary[i].grade = 'B';
}
else if (pary[i].avg >= 70) {
pary[i].grade = 'C';
}
else if (pary[i].avg >= 60) {
pary[i].grade = 'D';
}
else {
pary[i].grade = 'F';
}
}
}
void print_data(Student *pary) {
printf("학번\t이름\tmic\tlin\tpro\t총점\t평균\t학점\n");
for (int i = 0; i < 5; i++) {
printf("%d\t\t%s\t%d\t%d\t%d\t%d\t\t%.1lf\t%c\n", pary[i].num, pary[i].name, pary[i].mic, pary[i].lin, pary[i].pro, pary[i].tot, pary[i].avg, pary[i].grade);
}
}