C++

열혈 C++ 프로그래밍 OOP 프로젝트 01

나른한여우 2024. 3. 20. 19:01

구조체를 이용한 기본적인 프로젝트 구성

#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