C++

OOP 단계별 프로젝트(은행계좌 관리 프로그램및 프로그래밍 문제 실습)

kdi6316 2024. 12. 30. 11:04

OOP 단계별 프로젝트(은행계좌 관리 프로그램 실습)

 

목차

 

1. 계좌 관리 프로그램 만들어보기

 

은행

/*
* Banking System Ver 0.1
* 작성자 : 강동인
* 내용 : OOP 단계별 프로젝트의 기본 틀 구성
*/
#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 acccArr[100];
int accNum = 0;

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:
			ShowAllAccInfo();
			break;
		case EXIT:
			return 0;
			break;
		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;

	acccArr[accNum].accID = id;
	acccArr[accNum].balance = balance;
	strcpy_s(acccArr[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 (acccArr[i].accID == id)
		{
			acccArr[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 (acccArr[i].accID == id)
		{
			if (acccArr[i].balance < money)
			{
				cout << "잔액부족" << endl << endl;
				return;
			}

			acccArr[i].balance -= money;
			cout << "출금완료" << endl << endl;
			return;
		}
	}
	cout << "유효하지 않은 ID입니다" << endl << endl;
}
void ShowAllAccInfo(void)
{
	for (int i = 0; i < accNum; i++) 
	{
		cout << "계좌ID : " << acccArr[i].accID << endl;
		cout << "이름 : " << acccArr[i].cusName << endl;
		cout << "잔액 : " << acccArr[i].balance << endl << endl;
	}
}

https://github.com/dongin03008/Cpp-Study

'C++' 카테고리의 다른 글

Chapter 03 클래스의 기본  (1) 2025.01.07
Chapter 02 C언어 기반의 C++2  (2) 2025.01.03
Chapter 01 C언어 기반의 C++  (0) 2024.12.26
배열  (0) 2024.12.23
변수  (0) 2024.12.23