~cpp
#include<iostream>
using namespace std;
class student
{
private:
char Name[20]; //이름
int ID; //학번
int Math; //수학성적
int Korean; //국어성적
int English; //영어성적
public:
student(); //디폴트 생성자
student(char *name, int id, int math, int kor, int eng);//생성자
~student(); //소멸자
int getTotal(); //총점을 구하는 함수
void outputID(); //학번, 이름 출력
int getMath(); //수학점수에 접근
int getKor(); //국어점수에 접근
int getEng(); //영어점수에 접근
};
student::student()
{
}
student::student(char *name, int id, int math, int kor, int eng)
{
strcpy(Name, name); //이름초기화(카피)
ID = id; //학번초기화
Math = math; //수학점수초기화
Korean= kor; //국어점수초기화
English = eng; //영어점수초기화
}
student::~student()
{
}
int student::getTotal()
{
return Math + Korean + English;//총점리턴
}
void student::outputID()
{
cout << ID << " " << Name << endl;//학번과 이름 출력
}
int student::getMath()
{
return Math; //수학점수리턴
}
int student::getKor()
{
return Korean; //국어점수리턴
}
int student::getEng()
{
return English; //영어점수리턴
}
void main()
{
int Max;
int bestStu;
int i;
const int numberOfStudent = 10;//학생 수
student stu[numberOfStudent] =
{student("KangHeeKyoung", 953, 99, 99, 99),
student("KimSooJin", 954, 55, 100, 12),
student("ParkJinHa", 955, 66, 87, 11),
student("ParkJinYoung", 956, 11, 23, 54),
student("KimTaeHyuk", 957, 10, 9, 4),
student("LeeChunSoo", 958, 100, 40, 19),
student("AnJaeHyun", 959, 0, 0, 0),
student("ByunJoonWon", 960, 2, 3, 1),
student("SinJaeDong", 961, 1, 2, 100),
student("NoSooMin", 963, 0, 4, 1)};//객체 배열 생성 및 초기화
Max = 0;
for(i = 0; i < numberOfStudent; i++)
{
if(stu[i].getTotal() > Max)
{
bestStu = i;
Max = stu[i].getTotal();
}
} //최대값과 최대값을 가진 객체를 찾는다.
cout << "전체수석: ";
stu[bestStu].outputID(); //학번, 이름 출력
Max = 0;
for(i = 0; i < numberOfStudent; i++)
{
if(stu[i].getMath() > Max)
{
bestStu = i;
Max = stu[i].getMath();
}
}
cout << "수학수석: ";
stu[bestStu].outputID();
Max = 0;
for(i = 0; i < numberOfStudent; i++)
{
if(stu[i].getKor() > Max)
{
bestStu = i;
Max = stu[i].getKor();
}
}
cout << "국어수석: ";
stu[bestStu].outputID();
Max = 0;
for(i = 0; i < numberOfStudent; i++)
{
if(stu[i].getEng() > Max)
{
bestStu = i;
Max = stu[i].getEng();
}
}
cout << "수학수석: ";
stu[bestStu].outputID();
}