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();
}
여기서 입 출금에 약간의 오류가 발생합니다..
프로그램의 에러는 뜨지않는데.. 입금 출금액을 크게할시 오류가 나고
그리고 여기서 어떻게하면 계좌삭제 기능을 추가시킬수 있는지 궁금합니다..
고수님들의 많음 도움 부탁리겠습니다...
혹시 몰라 파일도 첨부하겠습니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |
2699895 | 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) | 선아 | 2025-06-30 |
2699842 | 질문을 너무 많이 하네여.....죄송.... (2) | 해님꽃 | 2025-06-29 |
2699816 | 오류 질문입니다.. (1) | 해비치 | 2025-06-29 |
2699763 | 질문입니다 ! 꼭 좀 도와주세요ㅠㅠ (2) | 미라 | 2025-06-28 |
2699555 | c언어 다항식을 입력을 했는데 왜 출력이 안될까요? | 피스케스 | 2025-06-27 |
2699528 | C언어 포인터연산 질문입니다. (3) | 안녕나야 | 2025-06-26 |
2699476 | 끌어올림;;달력 짜봤는데요 이 소스 줄일 수 있나요? - 스샷첨부 (2) | 클라우드 | 2025-06-26 |