구조체를 이용한 기본적인 프로젝트 구성
#include <iostream>
using namespace std;
typedef struct {
int accId;
int balance;
char cusName[20];
} Account;
Account userList[100];
int userIndex=0;
enum {MAKE=1, DEPOSIT, WITHDRAW, INQUIRE, EXIT};
void ShowMenu();
void MakeAccount();
void ShowAllAccount();
void DepositMoney();
void WithdrawMoney();
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:
ShowAllAccount();
break;
case EXIT:
return 0;
}
}
return 0;
}
void ShowMenu() {
cout << "----- Menu -----" << endl;
cout << "1. 계좌개설" << endl;
cout << "2. 입 금" << endl;
cout << "3. 출 금" << endl;
cout << "4. 계좌정보 전체 출력" << endl;
cout << "5. 프로그램 종료" << endl;
}
void MakeAccount() {
cout << "[계좌개설]" << endl;
cout << "계좌번호: ";
cin >> userList[userIndex].accId;
cout << "고객이름: ";
cin >> userList[userIndex].cusName;
userList[userIndex].balance = 0;
userIndex++;
cout << endl;
}
void DepositMoney() {
int tempId;
int tempBalance;
cout << "[입 금]" << endl;
cout << "입금할 계좌번호: ";
cin >> tempId;
for (int i = 0; i < userIndex; i++) {
if (tempId == userList[i].accId) {
cout << "입금할 금액: ";
cin >> tempBalance;
userList[i].balance += tempBalance;
cout << endl;
return;
}
}
cout << "유효하지 않은 ID 입니다." << endl << endl;
}
void WithdrawMoney() {
int tempId;
int tempBalance;
cout << "[출 금]" << endl;
cout << "출금할 계좌번호: ";
cin >> tempId;
for (int i = 0; i < userIndex; i++) {
if (tempId == userList[i].accId) {
cout << "출금할 금액: ";
cin >> tempBalance;
if (tempBalance > userList[i].balance) {
cout << "잔액 부족" << endl << endl;
return;
}
userList[i].balance -= tempBalance;
cout << "출금완료" << endl;
cout << endl;
return;
}
}
cout << "유효하지 않은 ID 입니다." << endl << endl;
}
void ShowAllAccount() {
for (int i = 0; i < userIndex; i++) {
cout << "계좌번호: " << userList[i].accId << endl;
cout << "고객이름: " << userList[i].cusName << endl;
cout << "잔 액: " << userList[i].balance << endl << endl;
}
}
'C++' 카테고리의 다른 글
열혈 C++ 프로그래밍 OOP 프로젝트 04 (0) | 2024.03.20 |
---|---|
열혈 C++ 프로그래밍 OOP 프로젝트 03 (0) | 2024.03.20 |
열혈 C++ 프로그래밍 OOP 프로젝트 02 (0) | 2024.03.20 |
스택 프레임 (0) | 2023.07.06 |
C++ 열거형 (0) | 2023.07.03 |