\

해병 코딩

728x90
반응형

클래스 이용 성적관리 프로그램

1. has ~a(data  필요할때 가져다 쓴다 -> 포함 오브젝드

예) 팬 과 나의 관계 

필요하다면 팬을 사용 할수있다

 

 

 
#include "stdafx.h"
#include<iostream>
#include<string>
using namespace std;
 
class Name //이름 //
{
    string name;
public:
    void setName(string name) { this->name = name; }
    string  getName() { return name; }
 
};
class Subjet //과목
{
    int soccer;
public:
    void setSoccer(int soccer) { this->soccer = soccer; }
    int getSoccer() { return soccer; }
};
 
class ScoMag  //연산들어감 // 스코어 메니저
{
    Name n;   //클래스 받아옴
    Subjet kor; //Subjet 클래스를 건들지않고 과목 추가 
    Subjet egn;
    Subjet jap;
    int total;
    float avg;
 
 
public:
    void setName(string  name) { n.setName(name); }
    string  getName() { return n.getName(); }
    void setKor(int soccer) { kor.setSoccer(soccer); }
    int getKor() { return kor.getSoccer(); }
    void setEgn(int soccer) { egn.setSoccer(soccer); }
    int getEgn() { return egn.getSoccer(); }
    void setJap(int soccer) { jap.setSoccer(soccer); }
    int getJap() { return jap.getSoccer(); }    
    int getTotal()        
    {
        total = kor.getSoccer() + egn.getSoccer() + jap.getSoccer();
        return total;
    }
    
    float getavg() {
        avg = total / 3.f;
        return avg;
 
    }
 
};
 
void main() {
    int num = 0;
    string  name;
    int kor = 0, egn = 0, jap = 0;
    cout << "학생수 : ";
    cin >> num;
 
    ScoMag *dta = new ScoMag[num];// 동적메모리
 
    for (int i = 0; i < num; i++) {
        cout << "name :";
        cin >> name;
        dta[i].setName(name);
        cout << "국어 : ";
        cin >> kor;
        dta[i].setKor(kor);
        cout << "영어 : ";
        cin >> egn;
        dta[i].setEgn(egn);
        cout << "일어 : ";
        cin >> jap;
        dta[i].setJap(jap);
        cout << "--------------" << endl;
        
 
    }
    for (int i = 0; i < num; i++)
    {
        cout << "name : " << dta[i].getName() << endl;
        cout << "국어 : " << dta[i].getKor() << endl;
        cout << "영어 : " << dta[i].getEgn() << endl;
        cout << "일어 : " << dta[i].getJap() << endl;
        cout << "총점 : " << dta[i].getTotal() << endl;
        cout << "평균 : " << dta[i].getavg() << endl;
        cout << "--------------" << endl;
 
    }
    cout << endl;
    delete[] dta;//동적 메모리 초기화 해주어야한다
}
cs

 

 

 

 

728x90
반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band