2011년 4월 13일 수요일

cpp] 예제로 바로 알아보는 c와 c++ - 35

#include <iostream.h>
#include <string.h>
class Score{
 char * name;
 int kor, eng, mat, tot;
 double ave;
public:
 Score();
 ~Score();
 void Calc(void);
 void Output(void);
};
Score::Score()
{
 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;
}
Score::~Score()
{
 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];
 }

 cout << "\n##### 성적처리 #####\n\n";
 cout << "이름" << '\t' << "국어" << '\t' << "영어" << '\t' << "수학" << '\t' << "총점"
  << '\t' << "평균" << endl;
 cout.precision(4);
 for(n = 0; n < cnt; n++){
  pScore[n].Output();
 }

 delete [] pScore; //꼭 필요함. 소멸자가 불리기 위해서.
}

OOP로 약간 변형 된 성적처리

댓글 없음:

댓글 쓰기

국정원의 댓글 공작을 지탄합니다.

UPBIT is a South Korean company, and people died of suicide cause of coin investment.

 UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...