#include <iostream>
using std::cout;
using std::cin;
using std::endl;
struct Admin {
char name[10];
char acc[10];
int money;
};
void start();
void Create(Admin *user,int i);
void deposit(Admin *user,int i);
void withdraw(Admin *user, int i);
void balance(Admin *user,int i);
int id(Admin* user,int i);
int main()
{
int num;
int i=0;
Admin user[10];
for(int k=0;k<10;k++){ // 초기금액 초기화
user[k].money=0;
}
while(num!=0){
start();
cin>>num;
if(num==1){
Create(user,i);
i++;
}
if(num==2){
deposit(user,i);
}
if(num==3){
withdraw(user,i);
}
if(num==4){
balance(user,i);
}
}
return 0;
}
int id(Admin* user,int i) //id 확인 (계좌번호)
{
char id[10];
cout<<\"계좌번호를 입력하세요\"<<endl;
cin>>id;
for(int j=0;j<i;j++){
if( (user[j].name) == id ) {
break;
}
}
return j;
}
void start() //시작메뉴
{
cout<<\"\\n은행계좌 관리 프로그램\"<<endl;
cout<<\"0.나가기\"<<endl;
cout<<\"1.계좌개설\"<<endl;
cout<<\"2.입 금\"<<endl;
cout<<\"3.출 금\"<<endl;
cout<<\"4.전체 고객 잔액 조회\\n\"<<endl;
cout<<\"번호를 입력하세요.\"<<endl;
}
void Create(Admin *user,int i) //계좌개설
{
cout<<\"개설할 계좌번호를 입력\"<<endl;
cin>>user[i].acc;
cout<<\"이름입력\"<<endl;
cin>>user[i].name;
cout<<\"계좌가 개설되었습니다.\"<<endl;
}
void deposit(Admin *user,int i) //입금
{ int inmoney;
int j=id(user,i);
cout<<\"얼마를 입금하시겠습니까?\"<<endl;
cin>>inmoney;
cout<<inmoney<<\"원이 입금되었습니다\"<<endl;
(user[j].money)+=inmoney;
//cout<<user[j].money<<endl;
}
void withdraw(Admin *user, int i) //출금
{
int outmoney;
int j=id(user,i);
cout<<\"얼마를 출금하시겠습니까?\"<<endl;
cout<<\"현재잔고는\"<<user[j].money<<\"원\"<<endl;
cin>>outmoney;
cout<<outmoney<<\"원을 출금했습니다.\"<<endl;
user[j].money-=outmoney;
cout<<\"현재잔고는\"<<user[j].money<<\"원\"<<endl;
}
void balance(Admin *user,int i)//개별고객 잔액조회 마지막에 생성된것만 조회가 됨. 잔액조회가 안됨.
{
//int j=id(user,i);
//cout<<\"고객님의 잔액은 \"<<user[j].money<<\"입니다\\n\\n\"<<endl;
// for(int j=0;j<i;j++){
//cout<<j<<endl;
cout<<user[0].name<<\"의 잔액은\"<<user[0].money<<\"입니다\"<<endl;
//}
}
마지막 잔액조회를 할때 입금을 해도 죄다 0원으로 나오는 이유는 뭘까요..ㅠㅠㅠ
메인에 이쓴 num에다가 0이 아닌 초기값을 주고 int id(Admin* user,int i) 이 안에있는 변수 j를 for문 바깥쪽에서 변수를 선언하면 되지않나요