검색결과 리스트
글
OOP프로젝트 5단계
답좀 본게 아쉽지만 생각보다 별문제 없이 쉽게 끝낸거 같다....
#include<iostream>
using std::cout;
using std::endl;
using std::cin;
class account
{
int id;
int money;
char *name;
public:
account()
{};
account(const account & a) //깊은 복사생성자
{
this->id=a.id;
this->money=a.money;
this->name=new char[strlen(a.name)+1];
strcpy(this->name,a.name);
}
account(int id,int money,char *name)
{
this->id=id;
this->money=money;
this->name=new char[strlen(name)+1];
strcpy(this->name,name);
}
~account()
{
delete []name;
}
void showdata(int i) const;
void target(int _id); //입금
void target2(int _id); //출금
};
void account::target2(int _id)
{
int _money;
if(id==_id)
{
cout<<"출금하실 금액 입력 : ";
cin>>_money;
if(money<_money)
cout<<"잔액이 부족합니다"<<endl;
else
money=money-_money;
}
}
void account::target(int _id)
{
int _money;
if(id==_id)
{
cout<<"입금하실 금액 입력 : ";
cin>>_money;
money=money+_money;
}
}
void account::showdata(int i) const
{
cout<<"------------------------"<<endl;
cout<<i<<"번째 고객"<<endl;
cout<<"ID : "<<id<<endl;
cout<<"금액 : "<<money<<endl;
cout<<"이름 : "<<name<<endl;
cout<<"------------------------"<<endl;
}
class accmanager : public account
{
int humen; //1명부터 들어감
account *arr[100];
public:
accmanager()
{
humen=0;
}
void account_inquiry(); //계좌 조회
void bank_account(); //계좌 계설
void deposit(); //입금 디포지트
void windrawal(); //출금
};
void accmanager::account_inquiry() //계좌 조회
{
for(int i=1;i<=humen;i++)
{
if(arr[i]==NULL)
{
cout<<"계좌가 더 이상 없습니다"<<endl;
break;
}
arr[i]->showdata(i);
}
}
void accmanager::deposit() //입금 디포지트
{
int ID;
int money;
cout<<"입금시킬 계좌번호를 입력해주세요"<<endl;
cin>>ID;
for(int i=1;i<=humen;i++)
{
arr[i]->target(ID);
}
}
void accmanager::windrawal()
{
int ID;
int money;
cout<<"출금시킬 계좌번호를 입력해 주세요"<<endl;
cin>>ID;
for(int i=1;i<=humen;i++)
{
arr[i]->target2(ID);
}
}
int main()
{
accmanager person;
int humen=1;
while(1)
{
int choice;
cout<<"1.계좌 계설"<<endl;
cout<<"2.입 금"<<endl;
cout<<"3.출 금"<<endl;
cout<<"4.전체 고객 잔액 조회"<<endl;
cout<<"5.종료"<<endl;
cout<<"1~5사이의 숫자를 입력해주세요"<<endl;
cin>>choice;
switch(choice)
{
case 1 :
// cout<<person.humen<<"번째 고객"<<endl;
cout<<humen<<"번째 고객"<<endl;
cout<<"계좌개설을 선택하셨습니다"<<endl;
person.bank_account();
humen++;
break;
case 2 :
cout<<"입금을 선택하셨습니다"<<endl;
person.deposit();
break;
case 3 :
cout<<"출금을 선택하셨습니다"<<endl;
person.windrawal();
break;
case 4 :
cout<<"전체 고객 잔액 조회 선택하셨습니다."<<endl;
person.account_inquiry();
break;
case 5 :
cout<<"프로그램이 종료됩니다"<<endl;
break;
default :
cout<<"잘못 입력하셧습니다. 1~5사이의 숫자를 입력해주세요"<<endl;
break;
}
}
}
void accmanager::bank_account() ///계좌 계설
{
int id;
int money;
char name[20];
cout<<"계좌번호 :";
cin>>id;
cout<<"입금액 : ";
cin>>money;
cout<<"이름 : ";
cin>>name;
humen++;
arr[humen]=new account(id,money,name);
}
'♪C++' 카테고리의 다른 글
4996 에러 (0) | 2018.08.14 |
---|---|
c++ 연습 8-1 (0) | 2010.11.14 |
C++ 열혈강의 7-2 연습문제 (3) | 2010.11.01 |
열혈강의 c++ 연습문제 7-1 (1) | 2010.10.31 |
C++ BasicInheri1 (1) | 2010.10.31 |