본문으로 바로가기

C++ 파일 분할

category [ IT ]/C++, 자료구조 2015. 6. 24. 21:56

- 파일분할


코드를 여러개의 소스파일에 분할해서 작성하는것을 말하며 메인함수는 하나다.
헤더 파일(함수에대한 정보. 함수 선언 파트, Class, 구조체 등등) - 소스(함수 정의) / 소스(함수 정의) / 소스(함수 정의) / 소스(함수 정의) / 소스(메인 함수)


클래스 -> 헤더
클래스 중에 기능함수들 - > 소스 파일
메인에 헤더파일을 포함시켜야한다. 
사용자 정의 헤더파일 -> #include "헤더파일이름.h"
각각의 헤더파일 ex)iostream등등을 헤더 파일에 집어 넣어준다.

그후 각각의 소스파일에  #include "헤더파일이름.h"를 해주어야 한다. 


- 헤더 파일

"accountHeader.h"

#include <iostream>
#include <cstring>
#include <iomanip>
#include <conio.h>


typedef class Member
{
public:
int accountNumber;
int money;
char memberName[10];
void SetAccount();
void InputMoney();
void OutputMoney();
void DisplayAccount();

}mb;


- 소스 파일

"account.cpp"
#include "accountHeader.h"

void mb::SetAccount()
{
std::cout<<"계좌 번호를 적어주세요"<<std::endl;
std::cin>>accountNumber;
std::cout<<"이름을 적어주세요"<<std::endl;
std::cin>>memberName;
std::cout<<"금액을 적어주세요"<<std::endl;
std::cin>>money;
}
void mb::InputMoney()
{ int inmon;
std::cout<<"금액을 적어주세요"<<std::endl;
std::cin>>inmon;
money = money + inmon;
}
void mb::OutputMoney()
{
int outmon;
std::cout<<"금액을 적어주세요"<<std::endl;
std::cin>>outmon;

if(money>outmon)
money = money - outmon;
else
std::cout<<"잔액이 부족합니다"<<std::endl;

}

void mb::DisplayAccount()
{
std::cout<<std::setw(23)<<"고객 이름"<<std::setw(23)<<"계좌 번호"<<std::setw(23)<<"잔액"<<std::endl;
std::cout<<std::setw(23)<<memberName<<std::setw(23)<<accountNumber<<std::setw(23)<<money<<std::endl<<std::endl;
system("pause");

}

"main.cpp"

#include "accountHeader.h"


int c;


void main()
{
mb * pMa;

pMa = new mb;
while(1)
{

std::cout<<"원하는 기능을 눌러주세요"<<std::endl;
std::cout<<"1. 계좌 등록"<<std::endl;
std::cout<<"2. 입금"<<std::endl;
std::cout<<"3. 출금"<<std::endl;
std::cout<<"4. 계좌 조회"<<std::endl;
std::cout<<"5. 종료"<<std::endl;
std::cin>>c;
system("cls");



switch(c)
{
case 1 : pMa->SetAccount(); break;
case 2 : pMa->InputMoney(); break;
case 3 : pMa->OutputMoney(); break;
case 4 : pMa->DisplayAccount(); break;
case 5 : {delete pMa; exit(1); }
}
system("cls");
}
}


'[ IT ] > C++, 자료구조' 카테고리의 다른 글

C++ String / 상속 / 바인딩  (0) 2015.06.24
C++ Gotoxy 함수  (0) 2015.06.24
C++ 전자레인지 만들기  (0) 2015.06.24
C++ Access 지정 / 생성자 / 소멸자 /This 포인터  (0) 2015.06.24
C++ Class  (0) 2015.06.24