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();
}
여기서 입 출금에 약간의 오류가 발생합니다..
프로그램의 에러는 뜨지않는데.. 입금 출금액을 크게할시 오류가 나고
그리고 여기서 어떻게하면 계좌삭제 기능을 추가시킬수 있는지 궁금합니다..
고수님들의 많음 도움 부탁리겠습니다...
혹시 몰라 파일도 첨부하겠습니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2697952 | 2차배열과 함수문의^^; | VanilLa | 2025-06-12 |
2697924 | 다차원 배열 질문있습니다 | 두동 | 2025-06-12 |
2697893 | 정올 :: 기초다지기 a9007 배열7 (문제가 이상함 -_-) | 흰두루 | 2025-06-12 |
2697862 | Unable......... 지정된 파일을 찾을 수 없습니다!! (1) | Creator | 2025-06-11 |
2697761 | 그러니까여제말은... (2) | 새론 | 2025-06-10 |
2697737 | 정올 문제좀 풀어보신분~ | 레오 | 2025-06-10 |
2697709 | rand함수 질문좀요! (6) | 가막새 | 2025-06-10 |
2697683 | C언어 변수뒤 표시가 이해안되는게 있습니다. | 소미 | 2025-06-10 |
2697660 | 껍데기딜 만들고 난후 어느핫키 누르면 코드검색이라도 뜨고 그다음 무반응 해결좀 (2) | 움찬 | 2025-06-09 |
2697634 | c언어로 감성사전 만들기! (1) | 도란도란 | 2025-06-09 |
2697605 | 이 함수좀... | agine | 2025-06-09 |
2697574 | 배열 기본적인질문 (3) | 민트향 | 2025-06-09 |
2697549 | 배열 초기화 (4) | 나리 | 2025-06-08 |
2697465 | 수다님...^^ (2) | 가론 | 2025-06-08 |
2697432 | 서버 만드는 함수에서 궁금한게있어요~ | 파랑 | 2025-06-07 |
2697401 | 열혈강의 문제오류 (1) | 꿈 | 2025-06-07 |
2697374 | 기초적인 C언어 프로그래밍 입니다. | 얼 | 2025-06-07 |
2697341 | 좌우대칭 문제인데 Q가 입력되면 종료가 되야하는데 되지않습니다 | 무지개 | 2025-06-07 |
2697314 | fprintf와 fscanf 로 파일 입출력 할떄 | 밝음이 | 2025-06-06 |
2697293 | 툴 소스 뽑아내는법 | 도움 | 2025-06-06 |