c++ 은행계좌 프로그램
알찬마루
#includeiostream
using namespace std;
const int NAME_LEN=20; //입력받을 이름의 길이를 20으로 설정
class Account
{
int id;
int balance;
char* name;
public:
Account(){}
Account(int id, char* name, int balance)
{
balance=balance;
name=new char[strlen(name)+1]; //멤버 포인터변수에 동적할당
strcpy(name, name);
}
~Account()
{
delete []name;
}
int GetID()
{
return id;
}
int GetBalance()
{
return balance;
}
void AddMoney(int val)
{
balance+=val; // 입급했을때 사용할 함수
}
void MinMoney(int val)
{
balance-=val; // 출금했을때 사용할 함수
}
char* GetName()
{
return name;
}
void ShowAllData() //맴버 변수의 값을 찍어보기 위해서 사용한 함수
{
cout계좌ID: idendl;
cout이 름: nameendl;
cout잔 액:balanceendl;
}
};
Account* pArray[100]; // 총 100명 이상 회원을 입력하면 에러
int index=0;
void PrintMenu();
void MakeAccount();
void Deposit();
void Withdraw();
void Inquire();
enum{MAKE=1, DEPOSIT, WITHDRAW, INQUIRE, EXIT}; //enum 변수는 처음껄 1로 선언해두면 다음변수 부터는 2,3,4... 설정
int main(void)
{
int choice;
while(1)
{
PrintMenu();
cout선택:;
cinchoice;
switch(choice)//switch문은 선택한 번호로 보내주겠죠.
{
case MAKE:
MakeAccount();
break;
case DEPOSIT:
Deposit();
break;
case WITHDRAW:
Withdraw();
break;
case INQUIRE:
Inquire();
break;
case EXIT:
return 0;
default :
coutIllegal selection..endl;
break;
&; }
}return 0;
}
void PrintMenu()
{
cout---MENU------endl;
cout1. 계좌개설endl;
cout2. 입금endl;
cout3. 출금endl;
cout4. 잔액 조회endl;
cout5. 프로그램 종료endl;
}
void MakeAccount()
{
int id;
char name[NAME_LEN];
int balance;
cout계좌 개설------endl;
cout계좌 ID:; cinid;
cout이름 :;cinname;
cout입금액: ;cinbalance;
pArray[index++]=new Account(id, name, balance);
}
void Deposit()
{
int money; // 돈을 입금받는 변수
int id; //아이디 값을 받을 변수
cout계좌 ID: ;cinid;
cout입금액: ;cinmoney;
//아래쪽은 처음부터 끝까지 돌면서 같은 아이디가 있는지 검사
for(int i=0; iindex; i++)
{
if(pArray[i]-GetID()==id)
{
pArray[i]-AddMoney(money);
cout입금 완료endl;
return;
}
}
cout유효하지 않은 ID입니다.endl;
}
void Withdraw() // 출금하는 함수
{
int money;
int id;
cout계좌ID: ;cinid;
cout출금액: ;cinmoney;
for(int i=0; iindex; i++)// 현재 총 회원이 몇명인지를 나타내어주는 변수
{
if(pArray[i]-GetID()==id)
{
if(pArray[i]-GetBalance()money)
{
cout잔액 부족endl;
return;
}
pArray[i]-MinMoney(money);
cout출금 완료endl;
return;
}
}
cout유효하지 않은 ID입니다.endl;
}
void Inquire() // 현황보는 함수
{
for(int i=0; iindex; i++)
pArray[i]-ShowAllData();
}
여기서 입 출금에 약간의 오류가 발생합니다..
프로그램의 에러는 뜨지않는데.. 입금 출금액을 크게할시 오류가 나고
그리고 여기서 어떻게하면 계좌삭제 기능을 추가시킬수 있는지 궁금합니다..
고수님들의 많음 도움 부탁리겠습니다...
혹시 몰라 파일도 첨부하겠습니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |
2691650 | 반복문 | 돋가이 | 2025-04-15 |
2691618 | 링크드리스트 개념 질문이예요 (3) | 맨마루 | 2025-04-15 |
2691592 | 동적할당 이용 배열선언 질문입니다.ㅠㅠ (3) | 허리달 | 2025-04-15 |
2691542 | /=의 용도를 알려주세요 ㅠㅠ! (2) | 아라 | 2025-04-14 |
2691510 | sizeof 연산자 질문입니다 (2) | 종달 | 2025-04-14 |
2691483 | 파일 오픈시 에러 질문드립니다. (2) | 호습다 | 2025-04-14 |
2691450 | [visual c++ 툴]기초 질문 (3) | 해긴 | 2025-04-13 |
2691393 | UNIX 시스템을 사용하려면 어떤 프로그램이 좋을까요? (5) | 든솔 | 2025-04-13 |
2691334 | ㅠㅠ에러 (1) | Loseless | 2025-04-12 |
2691304 | 포인터배열에 대해 질문요 | 달님 | 2025-04-12 |
2691279 | float-정수변환-2진수변환 | 핫블루 | 2025-04-12 |
2691224 | 인자관련 질문입니다. (2) | 아잉형님 | 2025-04-11 |
2691196 | 원형 큐와 스택에서의 문제해결 (2) | 반혈 | 2025-04-11 |
2691169 | 동적할당 어디가 잘못된걸까요. | 츠키 | 2025-04-11 |
2691082 | puts vs printf | 리네 | 2025-04-10 |
2691058 | (C언어) 구구단을 작성해 봤는데 문제가 발생했습니다. (6) | 제나 | 2025-04-10 |
2690947 | 윈도우 메모장에서 버츄얼박스 우분투 붙여넣기 질문 (1) | 유우 | 2025-04-09 |
2690920 | 무슨 의미 인가요? | 딸기맛캔디 | 2025-04-09 |
2690891 | c++ 은행계좌 프로그램 | 알찬마루 | 2025-04-08 |