본문 바로가기

Programming/ C++

(C++) 클래스를 이용하여 성적처리

728x90
반응형

 

클래스를 이용하여 성적처리를 만들었습니다.

 

(코드 내용)

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
 
class Name {
    string name;
public:
    void setname(string name) {
        this->name = name;
 
    }
    string getname() {
        return name;
    }
};
 
class Subject {
    int subsco;
public:
 
    void setsubsco(int subsco) {
        this->subsco = subsco;
    }
    int getsubsco() {
        return subsco;
    }
};
 
class Score {
    Name na;
    Subject mat;
    Subject eng;
    Subject kor;
 
public:
 
    void setname(string name) {
        na.setname(name);
    }
    void setmatsco(int sco) {
        mat.setsubsco(sco);
    }
    int getmatsco() {
        return mat.getsubsco();
    }
    void setengsco(int sco) {
        eng.setsubsco(sco);
    }
    int getengsco() {
        return eng.getsubsco();
    }
    void setkorsco(int sco) {
        kor.setsubsco(sco);
    }
    int getkorsco() {
        return kor.getsubsco();
    }
    string getname() {
        return na.getname();
    }
 
    int getsum() {
        return getmatsco() + getengsco() + getkorsco();
    }
    float getavg() {
        return this->getsum() / 3.f;
    }
};
 
void main() {
    Score *aa;
 
    int num;
    cout << "몇명 입력하시겠습니까?";
    cin >> num;
    aa = new Score[num];
    for (int i = 0; i < num; i++) { //성적 입력  num만큼 입력
        string sn;
        cout << i + 1 << "번째 이름을 입력하시오 : ";
        cin >> sn;
        aa[i].setname(sn);
        for (int j = 0; j < 3; j++) {
            int sco;
            if (j == 0) {
                cout << "국어성적을 입력하시오 : ";
                cin >> sco;
                aa[i].setkorsco(sco);
            }
            if (j == 1) {
                cout << "영어성적을 입력하시오 : ";
                cin >> sco;
                aa[i].setengsco(sco);
            }
            if (j == 2) {
                cout << "수학성적을 입력하시오 : ";
                cin >> sco;
                aa[i].setmatsco(sco);
            }
        }
 
    }
 
 
    for (int i = 0; i < num; i++) { //성적 출력 num만큼 출력
        cout << "====================================================================\n";
        cout << "=   이름  ==     국어  ==   영어   ==   수학  ==   총점    == 평균 =\n";
        cout << "====================================================================\n";
        cout << "=  " << setw(3<<aa[i].getname() ;
        for (int j = 0; j < 3; j++) {
 
            if (j == 0) {
 
                cout << setw(11)<<aa[i].getkorsco();
            }
            if (j == 1) {
 
                cout  << setw(11<<aa[i].getengsco();
            }
            if (j == 2) {
                cout << setw(12<< aa[i].getmatsco();
            }
        }
        cout << setw(11<< aa[i].getsum() ;
        cout << setw(11)<< aa[i].getavg()<<"  =" << "\n";
        cout << "--------------------------------------------------------------------\n";
    }
    cout << "====================================================================\n";
 
    delete[] aa; //메모리 할당 해제
}
cs

 

(실행 화면)

 

반응형