티스토리 뷰
책의 내용을 그대로 따왔습니다.
은행계좌 관리 프로그램.
기능 1. 계좌 개설
기능 2. 입금
기능 3. 출금
기능 4. 전체 고객 잔액 조회
*ID(통장 계좌번호)는 중복되지 아니한다(계좌 개설시 중복되는 계좌 번호의 입력이 없을 것이라는 가정).
* 입금 및 출금액은 무조건 0보다 크다(고객이 항상 0이상의 값만을 입력 할 것이라는 가정).
*고객의 계좌에 관한 정보는 계좌번호, 고객이름, 고객의 잔액, 이렇게 세 가지만 저장 및 관리한다.
/*
Banking System v1.0
Written by SW. YOON.
*/
#include <iostream>
using namespace std;
const int NAME_LEN=20;
typedef struct _Account
{
int id; // 계좌번호
int balance; // 잔 액
char name[NAME_LEN]; // 고객 이름
} Account;
Account pArray[100]; // Account 저장을 위한 배열
int index=0; // 저장된 Account 수
void PrintMenu(); // 메뉴 출력
void MakeAccount(); // 계좌 개설을 위한 함수
void Deposit(); // 입 금
void Withdraw(); // 출 금
void Inquire(); // 잔액 조회
enum{MAKE=1, DEPOSIT, WITHDRAW, INQUIRE, EXIT};
int main(void)
{
int choice;
while(1)
{
PrintMenu();
cout<<"선택 : ";
cin>>choice;
switch(choice)
{
case MAKE :
MakeAccount();
break;
case DEPOSIT :
Deposit();
break;
case WITHDRAW :
Withdraw();
break;
case INQUIRE :
Inquire();
break;
case EXIT :
return 0;
default :
cout<<"Illegal selection.. "<<endl;
break;
}
}
return 0;
}
void PrintMenu() //메뉴 출력
{
cout<<"---Menu-------"<<endl;
cout<<"1. 계좌 개설 "<<endl;
cout<<"2. 입금 "<<endl;
cout<<"3. 출금 "<<endl;
cout<<"4. 잔액 조회 "<<endl;
cout<<"5. 프로그램 종료 "<<endl;
}
void MakeAccount() // 계좌 개설
{
int id;
char name[NAME_LEN];
int balance;
cout<<" 계좌 개설-------- "<<endl;
cout<<" 계좌 ID : "; cin>>id;
cout<<" 이 름 : "; cin>>name;
cout<<" 입금액 : "; cin>>balance;
pArray[index].id=id;
pArray[index].balance=balance;
strcpy(pArray[index].name, name);
index++;
}
void Deposit() // 입 금
{
int money;
int id;
cout<<" 계좌 ID : "; cin>>id;
cout<<" 입금액 : "; cin>>money;
for(int i=0; i<index; i++)
{
if(pArray[i].id==id)
{
pArray[i].balance+=money;
cout<<" 입금 완료 "<<endl;
return;
}
}
cout<<" 유효하지 않은 ID입니다. "<<endl;
}
void Withdraw() // 출 금.
{
int money;
int id;
cout<<" 계좌ID : " ; cin>>id;
cout<<" 출금액 : " ; cin>>money;
for(int i=0; i<index; i++)
{
if(pArray[i].id==id)
{
if(pArray[i].balance<money)
{
cout<< "잔액 부족"<<endl;
return;
}
pArray[i].balance-=money;
cout<<"출금 완료 "<<endl;
return;
}
}
cout<<"유효하지 않은 ID입니다."<<endl;
}
void Inquire() // 전체 고객의 정보(잔액) 조회
{
for(int i=0; i<index; i++)
{
cout<<" 계좌ID : "<<pArray[i].id<<endl;
cout<<" 이 름 : "<<pArray[i].name<<endl;
cout<<" 잔 액 : "<<pArray[i].balance<<endl;
}
}