반응형
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

+ Recent posts