728x90
반응형
/*
* Banking System Ver 0.1
* Writer : Rogue
* Contents : OOP Basic
*/
#define _CRT_SECURE_NO_WARNINGS
#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);
//void Function(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 (1) {
ShowMenu();
cout << "Choice : ";
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. Open Account" << endl;
cout << "2. Deposit" << endl;
cout << "3. Withdrawal" << endl;
cout << "4. Print Information" << endl;
cout << "5. Exit" << endl;
}
void MakeAccount(void) {
int id;
char name[NAME_LEN];
int balance;
cout << "[OPEN ACCOUNT]" << endl;
cout << "ACCOUNT ID"; cin >> id;
cout << "NAME"; cin >> name;
cout << "Input"; cin >> balance;
cout << endl;
accArr[accNum].accID = id;
accArr[accNum].balance = balance;
strcpy(accArr[accNum].cusName, name);
accNum++;
}
void DepositMoney(void) {
int money;
int id;
cout << "[INPUT]" << endl;
cout << "ACCOUNT ID"; cin >> id;
cout << "Deposit : "; cin >> money;
for (int i = 0; i < accNum; i++) {
if (accArr[i].accID == id) {
accArr[i].balance += money;
cout << "Complete deposit" << endl << endl;
return;
}
}
cout << "Not valid ID" << endl << endl;
}
void WithdrawMoney(void) {
int money;
int id;
cout << "Inquery" << endl;
cout << "Account ID"; cin >> id;
cout << "Inquiry amount : "; cin >> money;
for (int i = 0; i < accNum; i++)
{
if (accArr[i].accID == id)
{
if (accArr[i].balance < money) {
cout << "Not enough Balance" << endl << endl;
return;
}
}
}
cout << "No valid ID" << endl << endl;
}
void ShowAllAccInfo(void) {
for (int i = 0; i < accNum; i++) {
cout << "ACCOUNT ID" << accArr[i].accID << endl;
cout << "NAME: " << accArr[i].cusName << endl;
cout << "BALANCE: " << accArr[i].balance << endl << endl;
}
}
728x90
반응형
'Language > C & C++' 카테고리의 다른 글
l-value and r-value (0) | 2022.09.27 |
---|---|
Class (0) | 2022.09.26 |
C++ (0) | 2022.09.24 |
Pointer Examples (0) | 2022.09.10 |
Transfer an array to a function's arguments (0) | 2022.09.09 |