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

+ Recent posts