계좌관리 프로그램인데요 잘 안되서요ㅠ
겨레
질문 제목 :뭐가 잘못된건지 도저히 못찾겠어요 ㅠㅠ
계좌관리 프로그램을 만드는데요. 에러는 없는데; 잘 안되네요;; ㅠㅠ 좀 도와주세요
질문 내용 :
#include stdio.h
#include string.h
#include stdlib.h
struct bank{
int account;
char name[10];
int remain;
};
int menu(){
int i;
printf(==========================\n);
printf(1.계 좌 개 설\n);
printf(2.입 금\n);
printf(3.출 금\n);
printf(4.계 좌 이 체\n);
printf(5.잔 액 조 회\n);
printf(9.종 료 하 기\n);
printf(==========================\n);
printf(메뉴를 입력하세요 : );
scanf(%d,&i);
return i;
}
void makeaccount(struct bank* a, struct bank* b){
int i;
printf(1 입금계좌\n);
printf(2 출금계좌\n);
printf(선택 : );
scanf(%d,&i);
if(i==1) {
a = (struct bank*)malloc(sizeof(struct bank));
printf(계좌번호 입력 : );
scanf(%d,&a-account);
printf(예금주 입력 : );
scanf(%s,a-name);
a-remain=0;
printf(계좌번호 : %d, 예금주 : %s, 잔액 : %d\n,a-account,a-name,a-remain);
printf(계좌 개설을 축하합니다.\n\n);
} else{
b = (struct bank*)malloc(sizeof(struct bank));
printf(계좌번호 입력 : );
scanf(%d,&b-account);
printf(예금주 입력 : );
scanf(%s,b-name);
b-remain=0;
printf(계좌번호 : %d, 예금주 : %s, 잔액 : %d\n,b-account,b-name,b-remain);
printf(계좌 개설을 축하합니다.\n\n);
}
}
void ip(struct bank* a){
int money;
printf(입금액 : );
scanf(%d,&money);
a-remain+=money;
}
void chul(struct bank* a){
int money;
printf(출금액 : );
scanf(%d,&money);
if(moneya-remain){
printf(잔액보다 더 큰 금액을 입력하셨습니다.\n);
}else if(money = a-remain){
a-remain-=money;
}
}
void trans(struct bank* a, struct bank*b){
int ip,chul,money;
printf(입금할 계좌번호 입력 : );
scanf(%d,&ip);
if(ip==a-account){
printf(출금할 계좌번호 입력 : );
scanf(%d,&chul);
if(chul==b-account){
printf(입금액 : );
scanf(%d,&money);
if(moneya-remain){
printf(잔액보다 더 큰 금액을 입력하셨습니다.\n);
}else if(money = a-remain){
a-remain-=money;
b-remain+=money;
}
}
}
}
void checkaccount(struct bank* a,struct bank* b){
int i;
printf(조회 계좌번호 입력 : );
scanf(%d,&i);
if(i == a-account){
printf(잔 액 : %d \n,a-remain);
}else if(i == b-account){
printf(잔 액 : %d \n,b-remain);
} else {
printf(계좌번호 입력 오류!!\n);
}
}
void main(){
int select;
struct bank *b1;
struct bank *b2;
while(1){
select = menu();
switch(select){
case 1:
makeaccount(b1,b2);
break;
case 2:
ip(b1);
break;
case 3:
chul(b2);
break;
case 4:
trans(b1,b2);
break;
case 5:
checkaccount(b1,b2);
break;
case 9:
free(b1);
free(b2);
break;
default :
break;
}
}
}
-
한무릎
입금, 출금 계좌는 1개씩만 필하구요ㅠ 출금,입금,조회를 하고 싶은데;
에러가 발생하네요 ㅠㅠ 근데 그걸 못찾겠어요;; -
앵초
main에서 입금계좌와 출금계좌에 대한 구조체 포인터 변수를 한 개만 만들었는데, 이 경우에 makeAccount 함수를 호출하고 나서 만들어진 계좌에 대해서 출금,입금,조회를 할 수 있지만, 그 다음번 makeAccount를 호출하게 되면 이전에 만들었던 계좌는 접근을 할 수 없습니다. 전역변수로 구조체 포인터 배열을 만드셔서 접근하면 될 듯 합니다.
-
세실
계좌 생성은 되는데. 그 외의 것들이 안되네요;;
-
지지않는
뭐가 안되는지 자세하게 써주시면 더 좋을것 같네요 ㅎ