E D R , A S I H C RSS

실습

컴퓨터 실습시간.. ^^


~cpp 

객체와 클래스 (성적 관리 프로그램)

성적 관리하는 프로그램을 클래스(class)를 이용하여 C++로 작성하여 본다.

1.	클래스(Class) 설계

SungJuk Class
Member 변수
이름 	char[21]	m_szName	
국어 점수	int	m_nKorean	
영어 점수	int	m_nEnglish	
수학 점수	int	m_nMath	
총점	int	m_nTotal	
평균 	int	m_dAvg	
등수	double	m_nRank	
Member 함수
입력함수	void Input(char szName[],int nKorean,	int nEnglish,int nMath);
총점 함수	int GetTotal(void);
등수 함수	int GetRank(void);
등수 기록 함수	void SetRank(int nRank);
결과출력 함수	void PrintResult();

2.	컴파일러 세팅 (Compiler Setting)
1)	Microsoft Visual Studio를 실행시킨다.
2)	File->New를 선택한다.
3)	Tab에서 Project를 선택한다.
4)	ListBox에서 Win32 Console Application을 선택한다.
5)	Project 이름을 삽입한다.
6)	Location:에 프로그램을 작성할 경로를 지정한다.
7)	OK를 누른다.
8)	An empty project를 선택하고, Finish를 선택한다.
9)	File->New를 선택한다.
10)	Tab에서 Files를 선택한다.
11)	C/C++ Header File을 선택한 후, 오른쪽 File 칸에 "SungJuk.h"라고 기입한다.
12)	OK 버튼을 누른다.
13)	오른쪽 Project Workspace 창에서 Class View Tab을 선택한다.
14)	Tree를 모두 펼쳐 보면, SungJuk.h와 SungJuk.cpp가 존재한다.각 File을 밑에 보여주는 Source를 작성한다.
15)	Source 작성이 끝나면, F7을 눌러 Compile한다.
16)	Error를 모두 잡은 후, Ctrl+F5를 눌러 실행하여 본다.

3.	결과

 















4.	Source Code

SungJuk.h
class SungJuk
{
private:
char m_szName[21];

int m_nKorean,m_nEnglish,m_nMath;
int m_nTotal;
int m_nRank;
double m_dAvg;

public:
SungJuk();

void Input(char szName[],int nKorean,int nEnglish,int nMath);
int GetTotal(void);
int GetRank(void);
void SetRank(int nRank);
void PrintResult();
};














SungJuk.cpp
#include "iostream.h"
#include "string.h"

#include "SungJuk.h"

void main(void)
{
	SungJuk		sung[5];

	sung[0].Input("Kim1",90,70,80);
	sung[1].Input("Lee1",100,90,80);
	sung[2].Input("Kim2",100,100,100);
	sung[3].Input("Lee2",80,70,100);
	sung[4].Input("Park",85,75,70);

	for(int i = 0;i < 5;i++) {
		sung[i].SetRank(i+1);
	}

	for(i = 0;i< 5;i++) {
		for(int j = 0;j < 5;j++) {
			if(sung[i].GetTotal() > sung[j].GetTotal()) {
				if(sung[i].GetRank() > sung[j].GetRank()) {
					int nTemp;
					nTemp = sung[i].GetRank();
					sung[i].SetRank(sung[j].GetRank());
					sung[j].SetRank(nTemp);
				}
			}
		}
	}

	for(i = 0;i < 5;i++) {
		sung[i].PrintResult();
	}
}

SungJuk::SungJuk()
{
	memset(m_szName,NULL,sizeof(char)*21);

	m_nKorean	= 0;
	m_nEnglish	= 0;
	m_nMath	= 0;
	m_nTotal	= 0;
	m_nRank	= 0;
	m_dAvg		= 0.0;

}

void SungJuk::Input(char szName[],int nKorean,int nEnglish,int nMath)
{
	strcpy(m_szName,szName);
	m_nKorean	= nKorean;
	m_nEnglish	= nEnglish;
	m_nMath	= nMath;

	m_nTotal = m_nKorean + m_nEnglish + m_nMath;

	m_dAvg = m_nTotal / 3;
}

int SungJuk::GetRank(void)
{
	return m_nRank;
}

void SungJuk::SetRank(int nRank)
{
	m_nRank = nRank;
}
int SungJuk::GetTotal(void)
{
	return m_nTotal;
}

void SungJuk::PrintResult()
{
	cout << "Rank : " << m_nRank; 
	cout << "\tName : " << m_szName; 
	cout << "\tKorean = " << m_nKorean; 
	cout << "\tEnglish = " << m_nEnglish; 
	cout << "\tMath = " << m_nMath; 
	cout << "\tTotal = " << m_nTotal; 
	cout << "\tAvg = " << m_dAvg; 
	cout << "\n\n";
}


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:19
Processing time 0.0131 sec