#include <iostream.h>
#include <string.h>
struct Score{
char * name;
int kor, eng, mat, tot;
double ave;
public:
void Input(void);
void Calc(void);
void Output(void);
void Delete(void);
};
void Score::Input(void)
{
char temp[100];
unsigned int len;
cout << "이름 : ";
cin >> temp;
len = ::strlen(temp);
if(len == 0) name = "";
else{
name = new char[len + 1];
strcpy(name, temp);
}
cout << "점수(kor, eng mat) :";
cin >> kor >> eng >> mat;
Calc();
}
void Score::Calc(void)
{
tot = kor + eng + mat;
ave = tot / 3.;
}
void Score::Output(void)
{
char ch[] = "FFFFFFDCBAA";
cout << name << '\t' << ch[kor / 10] << '\t' << ch[eng / 10] << '\t' << ch[mat / 10] << '\t'
<< tot << '\t' << ave << endl;
}
void Score::Delete(void)
{
if(*name != '\0') delete [] name;
}
void main()
{
int cnt;
cout << "입력할 총 인원 : ";
cin >> cnt;
if(cnt == 0) return;
Score * pScore = new Score[cnt];
if(!pScore) return;
for(int n = 0; n < cnt; n++){
pScore[n].Input();
}
cout << "\n##### 성적처리 #####\n\n";
cout << "이름" << '\t' << "국어" << '\t' << "영어" << '\t' << "수학" << '\t' << "총점"
<< '\t' << "평균" << endl;
cout.precision(4);
for(n = 0; n < cnt; n++){
pScore[n].Output();
}
for(n = 0; n < cnt; n++){
pScore[n].Delete();
}
delete [] pScore;
}
성적처리 프로그램 참조본.
댓글 없음:
댓글 쓰기
국정원의 댓글 공작을 지탄합니다.