반응형
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 |
#include "stdafx.h"
#include <stdio.h>
#include <Windows.h>
#define MAX 3
struct st_info {
char name[30];
double lang=0.0f, eng = 0.0f, math = 0.0f;
double total = 0.0f, avg = 0.0f, rank = 0.0f;
char grade[3];
};
int main()
{
typedef unsigned char byte;
//구조체
st_info clsA[MAX];
for (int i = 0; i < MAX; i++) {
system("cls");
printf("%d번 학생\n이름 :", i + 1);
scanf_s("%s", clsA[i].name, sizeof(clsA[i].name));
printf("국어 :");
scanf_s("%lf", &clsA[i].lang);
printf("영어 :");
scanf_s("%lf", &clsA[i].eng);
printf("수학 :");
scanf_s("%lf", &clsA[i].math);
clsA[i].total = clsA[i].lang + clsA[i].eng + clsA[i].math;
clsA[i].avg = (clsA[i].lang + clsA[i].eng + clsA[i].math) / 3;
if (clsA[i].total > 95) sprintf_s(clsA[i].grade, "A+");
else if (clsA[i].total > 90 && clsA[i].total <=95) sprintf_s(clsA[i].grade, "A0");
else if (clsA[i].total > 85 && clsA[i].total <= 90) sprintf_s(clsA[i].grade, "B+");
else if (clsA[i].total > 80 && clsA[i].total <= 85) sprintf_s(clsA[i].grade, "B0");
else if (clsA[i].total > 75 && clsA[i].total <= 80) sprintf_s(clsA[i].grade, "C+");
else if (clsA[i].total > 70 && clsA[i].total <= 75) sprintf_s(clsA[i].grade, "C0");
else if (clsA[i].total > 65 && clsA[i].total <= 70) sprintf_s(clsA[i].grade, "D+");
else if (clsA[i].total > 60 && clsA[i].total <= 65) sprintf_s(clsA[i].grade, "D0");
}
printf("------------------------------------------------------\n");
printf("이 름 | 국어 | 영어 | 수학 | 총점| 평균 | 등급\n");
for (int i = 0; i < MAX; i++) {
printf("%s %0.1lf %0.1lf %0.1lf %0.1lf %0.1lf %s\n", clsA[i].name, clsA[i].lang,clsA[i].eng,clsA[i].math,clsA[i].total,clsA[i].avg, clsA[i].grade);
}
return 0;
}
|
cs |
출력 결과
// 이름과 국, 영, 수 점수를 scanf으로 입력 받을 수 있고, 입력된 결과를 출력 한다.
*과제
// 1등과 꼴지 출력하기
// 등수대로 출력하기
반응형
'Study > C' 카테고리의 다른 글
C언어(자료구조) - Stack 구현 (0) | 2018.09.06 |
---|---|
C언어 - goto문 (0) | 2018.08.29 |
C언어 - 2차원 배열과 포인터(빙고판 출력하기) (0) | 2018.08.29 |
C언어 - 2차원배열 과 포인터 (0) | 2018.08.29 |
C언어 - 이중 포인터 (0) | 2018.08.29 |