Dailelog

입출금 프로그램 예제 만들어 보기 본문

언어/CPP

입출금 프로그램 예제 만들어 보기

Daile 2022. 6. 25. 19:09
#include <iostream>
#include <cstring>


using namespace std;
const int NAME_LEN = 20;

void ShowMenu();  //메뉴출력
void MakeAccount();      //계좌개설을 위한 함수
void DepositMoney();     //입금
void WithdrawMoney();    //출금
void ShowAllAccInfo();   //잔액조회

enum {MAKE = 1, DEPOSIT, WITHDRAW, INQUIRE, EXIT};

typedef struct
{
int accID; //계좌 번호
int balance; //잔액
char cusName[NAME_LEN]; //고객 이름
}Account;

Account accArr[100];   //Account 저장을 위한 배열
int accNum = 0;        //저장된 Account 수

int main(void)
{
int choice;

while (1)
{
ShowMenu();
cout << "선택: ";
cin >> choice;
cout << endl;

switch (choice)
{
case MAKE:
MakeAccount();
break;

case DEPOSIT:
DepositMoney();
break;

case WITHDRAW:
WithdrawMoney();
break;

case INQUIRE:
ShowAllAccInfo();
break;

case EXIT:
return 0;

default:
cout << "Illegeal selection." << endl;
}
}
return 0;
}


void ShowMenu()
{
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;
cout << endl;

accArr[accNum].accID = id;
accArr[accNum].balance = balance;
strcpy_s(accArr[accNum].cusName, name);
accNum++;
}

void DepositMoney()
{
int money;
int id;
cout << "[입 금]" << endl;
cout << "계좌 ID :";  cin >> id;
cout << "입금액 :";  cin >> money;

for (int i = 0; i < accNum; i++)
{
if (accArr[i].accID == id)
{
accArr[i].balance += money;
cout << "입금 완료" << endl << endl;
return;
}
}

cout << "유효하지 않는 ID 입니다. " << endl << endl;
}

void WithdrawMoney()
{
int money;
int id;
cout << "[출 금]" << endl;
cout << "계좌 ID : "; cin >> id;
cout << "출금액: "; cin >> money;

for (int i = 0; i < accNum; i++)
{
if (accArr[i].accID == id)
{
if (accArr[i].balance < money)
{
cout << "잔액 부족" << endl << endl;
return;
}

accArr[i].balance -= money;
cout << "출금 완료" << endl << endl;
return;
}
}
cout << "유효하지 않은 ID 입니다." << endl << endl;
}

void ShowAllAccInfo()
{
for (int i = 0; i < accNum; i++)
{
cout << "계좌 ID: " << accArr[i].accID << endl;
cout << "이 름 : " << accArr[i].cusName << endl;
cout << "잔액 : " << accArr[i].balance << endl << endl;
}
}

윤성우 저자의 열혈 C++프로그래밍 예제 중 입출금 프로그램 예제를 그대로 만들어 보았다. strcpy를 사용할때 strcpy_s를 사용해야 최신 버전 비주얼 스튜디오에서 작동하는 듯 하다. 주의 하시길 바랍니다. 나는 이책으로 C++을 계속 공부해볼 생각입니다. 

LIST

'언어 > CPP' 카테고리의 다른 글

Cpp 들어가기  (0) 2022.06.25