C C++/열혈 C++ 연습문제
[문제 01-5] OOP 단계별 프로젝트 01단계
개발하는꼬물이
2017. 8. 27. 18:35
** 은행 계좌 관리 프로그램
- 기능 : 계좌 개설, 입금, 출금, 전체고객 계좌 조회
- C 스타일로 구현
#include <iostream> #include <string> using namespace std; void ShowMenu(); void CreateAccount(); void DepositMoney(); void WithdrawMoney(); void ShowAllAccount(); typedef struct { int accountID; int balance; char userName[10]; } Account; Account accountArr[100]; int accNum = 0; int main() { int choice; while (1) { ShowMenu(); cout << "원하는 메뉴의 번호를 입력하세요 : "; cin >> choice; switch (choice) { case 1: CreateAccount(); break; case 2: DepositMoney(); break; case 3: WithdrawMoney(); break; case 4: ShowAllAccount(); break; case 5: return 0; default: cout << "1~5 사이의 메뉴 번호를 입력해주세요." << endl; } } return 0; } void ShowMenu() { cout << " -------- Bank Menu -------- " << endl; cout << " 1. 계좌 개설" << endl; cout << " 2. 입 금" << endl; cout << " 3. 출 금" << endl; cout << " 4. 계좌정보 전체 조회" << endl; cout << " 5. 프로그램 종료 " << endl; } void CreateAccount() { int accountID; int balance = 0; char userName[10]; cout << " -------- 계좌 개설 -------- " << endl; cout << "계좌ID를 입력하세요 : "; cin >> accountID; cout << "사용자 명을 입력하세요 : "; cin >> userName; cout << "계좌 잔액을 입력하세요 : "; cin >> balance; accountArr[accNum].accountID = accountID; accountArr[accNum].balance = balance; strcpy(accountArr[accNum].userName, userName); accNum++; } void DepositMoney() { int id; int deposit; cout << " -------- 입 금 -------- " << endl; cout << "계좌 ID를 입력하세요 : "; cin >> id; cout << "입금할 금액을 입력하세요 :"; cin >> deposit; for (int i = 0; i < accNum; i++) { if (accountArr[i].accountID == id) { accountArr[i].balance += deposit; cout << "입금 후 잔액은 " << accountArr[i].balance << "입니다." << endl; return; } } cout << "존재하지 않는 계좌 ID 입니다." << endl; } void WithdrawMoney() { int id; int withdraw; cout << " -------- 출 금 -------- " << endl; cout << "계좌 ID를 입력하세요 : "; cin >> id; cout << "출금할 금액을 입력하세요 :"; cin >> withdraw; for (int i = 0; i < accNum; i++) { if (accountArr[i].accountID == id) { if (accountArr[i].balance < withdraw) { cout << "계좌의 잔액보다 많은 돈을 출금할 수 없습니다." << endl; return; } accountArr[i].balance -= withdraw; cout << "출금 후 잔액은 " << accountArr[i].balance << "입니다." << endl; return; } } cout << "존재하지 않는 계좌 ID 입니다." << endl; } void ShowAllAccount() { cout << " -------- 전체 계좌정보 출력 -------- " << endl; for (int i = 0; i < accNum; i++) { cout << "계좌ID : " << accountArr[i].accountID << endl; cout << "이름 : " << accountArr[i].userName << endl; cout << "잔액 : " << accountArr[i].balance << endl; } }