#include <iostream>
#include <cstring>
using namespace std;
const int NAME_LEN = 20;
void ShowMenu(void);
void MakeAccount(void);
void DepositMoney(void);
void WithDrawMoney(void);
void ShowAllAccInfo(void);
enum {MAKE=1,DEPOSIT,WITHDRAW,INQUIRE,EXIT};
typedef struct
{
int accID;
int balance;
char cusName[NAME_LEN];
} Account;
Account accArr[100];
int accNum = 0;
int main(void) {
int choice;
while (true) {
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 << "illegal selection" << endl;
}
}
return 0;
}
void ShowMenu(void) {
cout << "---Menu---" << endl;
cout << "1. 계좌개설" << endl;
cout << "2. 입 금" << endl;
cout << "3. 출 금" << endl;
cout << "4. 계좌정보 전체 출력" << endl;
cout << "5. 프로그램 종료" << endl;
}
void MakeAccount(void)
{
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(void) {
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(void) {
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(void) {
for (int i = 0; i < accNum; i++) {
cout << "계좌ID: " << accArr[i].accID << endl;
cout << "이름:" << accArr[i].cusName << endl;
cout << "잔액:" << accArr[i].balance << endl;
}
}
- 함수 정의부
- 함수 호출
- 구조체
'컴퓨터 공학 일지 > C++' 카테고리의 다른 글
C++ 참조자 - 1 (0) | 2019.12.16 |
---|---|
C++ C 복습 문제 (0) | 2019.12.16 |
C++ 네임스페이스와 입출력문 std::cout | std::cin | std::endl (0) | 2019.12.16 |
C++ 이름공간(네임스페이스{namespace}) (0) | 2019.12.16 |
C++ 인라인 함수 (0) | 2019.12.16 |