묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
c언어 소스인데 수정 부탁 좀요...
2004.11.02 00:23
#include
int main(void)
{
int a, b, c, g, h, i, j, k, l, m, n;
double o,p;
char sel, f;
printf("계좌번호: ");
scanf("%d",&a);
printf("초기 입금액: ");
scanf("%d",&b);
b=c;
for(i=0; ; )
{
printf("입금(d),출금(w),송금(t): n");
printf("입력: ");
scanf("%c", &sel);
switch(sel)
{
case 'd':
case 'D':
printf("보통예금(c),저축예금(s):");
printf("입력: n");
scanf("%c",&f);
switch(f)
{
case 'c':
case 'C':
printf("거래 금액: ");
scanf("%d",&g);
break;
case 's':
case 'S':
printf("거래 금액: ");
scanf("%d",&h);
break;
}
case 'w':
case 'W':
printf("보통예금(c),저축예금(s): ");
scanf("%c",&f);
switch(f)
{
case 'c':
case 'C':
printf("거래 금액: ");
scanf("%d",&j);
if(b-j<=0) break;
{
printf("잔액이 모자릅니다");
}
break;
case 's':
case 'S':
printf("거래 금액: ");
scanf("%d",&k);
if(c-k<=0) break;
{
printf("잔액이 모자릅니다");
}
break;
}
case 't':
case 'T':
printf("보통예금(c),저축예금(s): ");
scanf("%c",&f);
switch(f)
{
case 'c':
case 'C':
printf("거래 금액: ");
scanf("%d",&l);
if(b-l<=0) break;
{
printf("잔액이 모자릅니다");
}
break;
case 's':
case 'S':
printf("거래 금액: ");
scanf("%d",&m);
if(c-m<=0) break;
{
printf("잔액이 모자릅니다");
}
break;
}
break;
}
printf("중지(/): ");
scanf("%c",&n);
if(n=='/') break;
{
b+=g-j-l;
c+=h-k-m;
o=(double)b*0.07;
p=(double)c*0.37;
printf("Account Number: %d n",a);
printf("Savings Account Statementn");
printf("%d %d %d %d %d %dn", 1, 2, 3, 4, 5, 6);
printf("%d %d %d %d %d %dn",c, h, k, m,0.37,p);
printf("n");
printf("Account Number: %d n",a);
printf("Checking Account Statementn");
printf("%d %d %d %d %d %dn",1, 2, 3, 4, 5, 6);
printf("%d %d %d %d %d %dn",b, g, j, l,0.07,o);
}
}
return 0;
}
===========================================================================
"은행계좌 잔고관리” 프로그램을 작성하시오.
은행거래 형태는 입금(deposit), 출금(withdraw) 그리고 송금(transfer)만
취급한다고 가정한다. 고객은 보통예금(checking)과 저축예금(savings)등
두 가지의 계정을 갖는다. 프로그램이 시동 시 고객으로부터 계좌번호(Int),
저축예금과 보통예금의 초기 잔액(Int)을 입력받은 뒤 고객은 은행거래 내역을
다음의 메뉴로부터 선택하여 순서대로 입력하게 한다.
<메뉴> 거래내용 ‘w':withdraw, 'd':deposit, 't':transfer 선택 : _
<메뉴> 거래계좌 ‘c' :checking, 's' :savings 선택 : _
거래금액 amount? _
모든 은행거래가 끝나면 ‘/’를 입력하여 고객에 대한 은행계좌 잔고관리업무를 종료한다. 다음은 한 고객의 은행거래 내역 입력 예를 보여준다.
12345 400000 235000
ws 4500
dc 31000
ts 10000
/
한 고객에 대한 은행거래가 끝나면 저축예금은 0.37%, 보통예금은 0.07%의 이자를 지급한다고 가정하며 다음과 같은 도표형식으로 거래내역을 화면상에 출력한다.
<화면출력 형식>
Account Number : XXXXX
Savings Account Statement
초기잔액 총입금액 총출금액 총송금액 이자 현재잔액
------------------------------------------------------------------
xxxxx xxxx xxxx xxxxx xxx xxxxxx
Account Number : XXXXX
Checking Account Statement
초기잔액 총입금액 총출금액 총송금액 이자 현재잔액
------------------------------------------------------------------
xxxxx xxxx xxxx xxxxx xxx xxxxxx
※ 모든 거래는 은행잔고가 허용되는 범위에서 이루어지며 잔고가 부족할 때의
출금이나 송금은 적절한 오류 메시지를 주어 허용하지 말아야 한다.
int main(void)
{
int a, b, c, g, h, i, j, k, l, m, n;
double o,p;
char sel, f;
printf("계좌번호: ");
scanf("%d",&a);
printf("초기 입금액: ");
scanf("%d",&b);
b=c;
for(i=0; ; )
{
printf("입금(d),출금(w),송금(t): n");
printf("입력: ");
scanf("%c", &sel);
switch(sel)
{
case 'd':
case 'D':
printf("보통예금(c),저축예금(s):");
printf("입력: n");
scanf("%c",&f);
switch(f)
{
case 'c':
case 'C':
printf("거래 금액: ");
scanf("%d",&g);
break;
case 's':
case 'S':
printf("거래 금액: ");
scanf("%d",&h);
break;
}
case 'w':
case 'W':
printf("보통예금(c),저축예금(s): ");
scanf("%c",&f);
switch(f)
{
case 'c':
case 'C':
printf("거래 금액: ");
scanf("%d",&j);
if(b-j<=0) break;
{
printf("잔액이 모자릅니다");
}
break;
case 's':
case 'S':
printf("거래 금액: ");
scanf("%d",&k);
if(c-k<=0) break;
{
printf("잔액이 모자릅니다");
}
break;
}
case 't':
case 'T':
printf("보통예금(c),저축예금(s): ");
scanf("%c",&f);
switch(f)
{
case 'c':
case 'C':
printf("거래 금액: ");
scanf("%d",&l);
if(b-l<=0) break;
{
printf("잔액이 모자릅니다");
}
break;
case 's':
case 'S':
printf("거래 금액: ");
scanf("%d",&m);
if(c-m<=0) break;
{
printf("잔액이 모자릅니다");
}
break;
}
break;
}
printf("중지(/): ");
scanf("%c",&n);
if(n=='/') break;
{
b+=g-j-l;
c+=h-k-m;
o=(double)b*0.07;
p=(double)c*0.37;
printf("Account Number: %d n",a);
printf("Savings Account Statementn");
printf("%d %d %d %d %d %dn", 1, 2, 3, 4, 5, 6);
printf("%d %d %d %d %d %dn",c, h, k, m,0.37,p);
printf("n");
printf("Account Number: %d n",a);
printf("Checking Account Statementn");
printf("%d %d %d %d %d %dn",1, 2, 3, 4, 5, 6);
printf("%d %d %d %d %d %dn",b, g, j, l,0.07,o);
}
}
return 0;
}
===========================================================================
"은행계좌 잔고관리” 프로그램을 작성하시오.
은행거래 형태는 입금(deposit), 출금(withdraw) 그리고 송금(transfer)만
취급한다고 가정한다. 고객은 보통예금(checking)과 저축예금(savings)등
두 가지의 계정을 갖는다. 프로그램이 시동 시 고객으로부터 계좌번호(Int),
저축예금과 보통예금의 초기 잔액(Int)을 입력받은 뒤 고객은 은행거래 내역을
다음의 메뉴로부터 선택하여 순서대로 입력하게 한다.
<메뉴> 거래내용 ‘w':withdraw, 'd':deposit, 't':transfer 선택 : _
<메뉴> 거래계좌 ‘c' :checking, 's' :savings 선택 : _
거래금액 amount? _
모든 은행거래가 끝나면 ‘/’를 입력하여 고객에 대한 은행계좌 잔고관리업무를 종료한다. 다음은 한 고객의 은행거래 내역 입력 예를 보여준다.
12345 400000 235000
ws 4500
dc 31000
ts 10000
/
한 고객에 대한 은행거래가 끝나면 저축예금은 0.37%, 보통예금은 0.07%의 이자를 지급한다고 가정하며 다음과 같은 도표형식으로 거래내역을 화면상에 출력한다.
<화면출력 형식>
Account Number : XXXXX
Savings Account Statement
초기잔액 총입금액 총출금액 총송금액 이자 현재잔액
------------------------------------------------------------------
xxxxx xxxx xxxx xxxxx xxx xxxxxx
Account Number : XXXXX
Checking Account Statement
초기잔액 총입금액 총출금액 총송금액 이자 현재잔액
------------------------------------------------------------------
xxxxx xxxx xxxx xxxxx xxx xxxxxx
※ 모든 거래는 은행잔고가 허용되는 범위에서 이루어지며 잔고가 부족할 때의
출금이나 송금은 적절한 오류 메시지를 주어 허용하지 말아야 한다.