C++ 4일차

Posted by seunggwon
2009. 5. 19. 18:43 IT Note/C++

/* v1.0 성적표

학생이 몇명인지 물어본다.

국어,영어,수학 점수 입력한다.

평균 계산해서 입출력한다.

 

#include <iostream.h>

class Student

{

private:

             int *kor;

             int *eng;

             int *math;

             int *ave;

public:

             void stu_input(int num)     //학생 성적 입력

             {

                           kor=new int[num];

                           eng=new int[num];

                           math=new int[num];

                           for(int i=0;i<num;i++)

                           {

                                        cout<<i+1<<"번의 국어 점수를 입력하세요.";

                                        cin>>kor[i];

                                        cout<<i+1<<"번의 영어 점수를 입력하세요.";

                                        cin>>eng[i];

                                        cout<<i+1<<"번의 수학 점수를 입력하세요.";

                                        cin>>math[i];

                                        cout<<"-----------------------------\n";

                           }

             }

             void stu_ave(int num)       //학생 평균

             {

                           ave=new int[num];

                           for(int i=0;i<num;i++)

                           {

                                        ave[i]=(kor[i]+eng[i]+math[i])/3;

                                        cout<<i+1<<"번의 학생의 평균은 "<<ave[i]<<"점입니다.\n";

                                        cout<<"----------------------------------\n";

                           }

             }

};

void main()

{

             Student stu;

             int num;

             cout<<"학생이 몇명입니까?";

             cin>>num;

             stu.stu_input(num);

             stu.stu_ave(num);

}*/

/* 성적표 v1.5

추가사항

메뉴 : 1.성적추가 2.성적출력 3.종료

성적출력하면 반평균 추가한다.*/

/*

#include <iostream.h>

class Student

{

private:

             int *kor;

             int *eng;

             int *math;

             int *student_ave;

             int class_ave;

public:

             void stu_input(int num)     //학생 성적 입력

             {

                           kor=new int[num];

                           eng=new int[num];

                           math=new int[num];

                           for(int i=0;i<num;i++)

                           {

                                        cout<<i+1<<"번의 국어 점수를 입력하세요.";

                                        cin>>kor[i];

                                        cout<<i+1<<"번의 영어 점수를 입력하세요.";

                                        cin>>eng[i];

                                        cout<<i+1<<"번의 수학 점수를 입력하세요.";

                                        cin>>math[i];

                                        cout<<"-----------------------------\n";

                           }

             }

             void stu_output(int num)   //학생 개인 성적과 평균 출력

             {

                           student_ave=new int[num];

                           for(int i=0;i<num;i++)

                           {

                                        student_ave[i]=(kor[i]+eng[i]+math[i])/3;

                                        cout<<i+1<<"번 학생\n";

                                        cout<<"국어 영어 수학 평균\n";

                                        cout<<" "<<kor[i]<<"   "<<eng[i]<<"   "<<math[i]<<"   "<<student_ave[i]<<endl;

                                        cout<<"----------------------------------\n";

                           }

             }

             void Class_ave(int num)   //반 평균 출력

             {

                           class_ave=0;

                           for(int i=0;i<num;i++)

                           {

                                        class_ave+=student_ave[i];

                           }

                           class_ave=class_ave/num;

                           cout<<"반평균은 "<<class_ave<<"점입니다.\n";

                           cout<<"종료합니다.\n";

             }

};

void main()

{

             Student stu;

             int num=0;

             int menu;

             for(;;)

             {

                           cout<<"메뉴를 선택하세요.\n";

                           cout<<"1.성적 입력 2. 성적출력 3.종료 \n";

                           cin>>menu;

                           if(menu==1)

                           {

                                        cout<<"학생이 몇명입니까?";

                                        cin>>num;

                                        stu.stu_input(num);

                           }

                           else if(menu==2)

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.stu_output(num);

                                        }

                           }

                           else if(menu==3)

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.Class_ave(num);

                                        }

                                        break;

                           }

                           else

                           {

                                        cout<<"다시 입력하세요.\n";

                           }

             }

}*/

/*성적표 v2.0

메뉴추가 1.성적입력 2.성적출력 3.로드 4.저장 5.종료*/

//          파일의 저장과 로드

//          File *fopen(*filename,*mode);       파일을 연다.

//          mode에서 wt는 쓰기, rt는 읽기

//          fprintf 파일을 출력하는 함수

//          fclose 해체

 

#include <iostream.h>

#include <string.h>

class Student

{

private:

             int *kor;

             int *eng;

             int *math;

             int *student_ave;

             int class_ave;

public:

             void stu_input(int num)     //학생 성적 입력

             {

                           kor=new int[num];

                           eng=new int[num];

                           math=new int[num];

                           for(int i=0;i<num;i++)

                           {

                                        cout<<i+1<<"번의 국어 점수를 입력하세요.";

                                        cin>>kor[i];

                                        cout<<i+1<<"번의 영어 점수를 입력하세요.";

                                        cin>>eng[i];

                                        cout<<i+1<<"번의 수학 점수를 입력하세요.";

                                        cin>>math[i];

                                        cout<<"-----------------------------\n";

                           }

             }

             void stu_output(int num)   //학생 개인 성적과 평균 출력

             {

                           student_ave=new int[num];

                           for(int i=0;i<num;i++)

                           {

                                        student_ave[i]=(kor[i]+eng[i]+math[i])/3;

                                        cout<<i+1<<"번 학생\n";

                                        cout<<"국어 영어 수학 평균\n";

                                        cout<<" "<<kor[i]<<"   "<<eng[i]<<"   "<<math[i]<<"   "<<student_ave[i]<<endl;

                                        cout<<"----------------------------------\n";

                           }

             }

             void stu_load()

             {

                           FILE *f=fopen("text.txt","rt");

                           fgets(,f);

                           fclose(f);

             }

             void stu_save()

             {

                           FILE *f=fopen("text.txt","wt");

                           fputs(,f);

                           fclose(f);

             }

             void Class_ave(int num)   //반 평균 출력

             {

                           class_ave=0;

                           for(int i=0;i<num;i++)

                           {

                                        class_ave+=student_ave[i];

                           }

                           class_ave=class_ave/num;

                           cout<<"반평균은 "<<class_ave<<"점입니다.\n";

                           cout<<"종료합니다.\n";

             }

};

void main()

{

             Student stu;

             int num=0;

             int menu;

             for(;;)

             {

                           cout<<"메뉴를 선택하세요.\n";

                           cout<<"1.성적 입력 2. 성적출력 3.로드 4.저장 5.종료\n";

                           cin>>menu;

                           if(menu==1)         //성적입력

                           {

                                        cout<<"학생이 몇명입니까?";

                                        cin>>num;

                                        stu.stu_input(num);

                           }

                           else if(menu==2) //성적출력

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.stu_output(num);

                                        }

                           }

                           else if(menu==3) //로드

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.stu_load(num);

                                        }

                           }

                           else if(menu==4) //저장

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.stu_save(num);

                                        }

                           }

                           else if(menu==5) //종료

                           {

                                        if(num==0)

                                        {

                                                     cout<<"입력된 값이 없습니다.\n";

                                        }

                                        else

                                        {

                                                     stu.Class_ave(num);

                                        }

                                        break;

                           }

                           else       //잘못 입력했을때

                           {

                                        cout<<"다시 입력하세요.\n";

                           }

             }

}

 

ee.h

 

//class로 계산기를 만들기

#include <iostream.h>

class Cal

{

private:

             int add_sum;       //더하기

             int sub_sum;       //빼기

             int mul_sum;       //곱하기

             int divi_sum;        //나누기

             int result;                          //연산결과

public:

             void init()

             {

                           add_sum=0;

                           sub_sum=0;

                           mul_sum=0;

                           divi_sum=0;

             }

             void add(int a,int b)

             {

                           result=a+b;

                           cout<<a<<"+"<<b<<"="<<result<<endl;

                           add_sum++;

             }

             void sub(int a,int b)

             {

                           result=a-b;

                           cout<<a<<"-"<<b<<"="<<result<<endl;

                           sub_sum++;

             }

             void mul(int a,int b)

             {

                           result=a*b;

                           cout<<a<<"*"<<b<<"="<<result<<endl;

                           mul_sum++;

             }

             void divi(int a,int b)

             {

                           result=a/b;

                           cout<<a<<"/"<<b<<"="<<result<<endl;

                           divi_sum++;

             }

             void exit()

             {

                           cout<<"총 덧셈 연산은 "<<add_sum<<"번 했습니다.\n";

                           cout<<"총 뺄셈 연산은 "<<sub_sum<<"번 했습니다.\n";

                           cout<<"총 곱셈 연산은 "<<mul_sum<<"번 했습니다.\n";

                           cout<<"총 나눗셈 연산은 "<<divi_sum<<"번 했습니다.\n";

                           cout<<"종료합니다.\n";

             }

};

void main()

{

             int num1, num2;

             Cal cal;

             cal.init();

             for(;;)

             {

                           cout<<"어떤 연산을 할 것인지 선택하세요.\n";

                           cout<<"1:+, 2:-, 3:*, 4:/, 5:exit \n";

                           int cho;

                           cin>>cho;

                           if(cho==1)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.add(num1,num2);

                           }

                           else if(cho==2)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.sub(num1,num2);

                           }

                           else if(cho==3)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.mul(num1,num2);

                           }

                           else if(cho==4)

                           {

                                        cout<<"두개의 숫자를 입력하세요.\n";

                                        cin>>num1>>num2;

                                        cal.divi(num1,num2);

                           }

                           else if(cho==5)

                           {

                                        cal.exit();

                                        break;

                           }

                           else

                           {

                                        cout<<"잘못입력하셨습니다.\n";

                           }

             }

}


'IT Note > C++' 카테고리의 다른 글

C++ 3일차  (0) 2009.05.19
C++ 2일차  (0) 2009.05.19
C++ 1일차  (0) 2009.05.19