티스토리 뷰
돈만 생기면 저금하는 사람을 가정하여,
save(int amount)를 작성한다.
이 함수는 저금할 금액인 amount를 받아
save(100)과 같이 호출된다.
save()는 정적 변수를 사용하여
현재까지 저축된 총액을 기억한다.
amount가 음수이면 출금이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <stdio.h>
void save(int amount);
int main(void)
{
printf(" =================================\n");
printf("\t입금\t 출금\t 잔고\n");
printf(" =================================\n");
save(10000);
save(50000);
save(-10000);
save(30000);
printf(" =================================\n");
return 0;
}
void save(int amount)
{
static long balance;
balance += amount;
if (amount > 0)
{
printf("\t%4d\t\t%4d\n", amount, balance);
}
else if (amount < 0)
{
printf("\t\t%4d\t%4d\n", -amount, balance);
}
}
|
cs |
- 결과
- 설명
일단 메인 함수에서
입금 출금 잔고 메뉴판을 만든다.
10000원 입금, 50000원 입금,
10000원 출금, 30000원 입금에 따른
잔고를 알아보기 위해
save(10000), save(50000),
save(-10000), save(30000)으로
amount 매개변수를 전달한다.
save() 함수에서 balance(잔고)는
static 정적 변수로 선언되어
계속 호출되어도 초기화되지 않는다.
(정적 변수는 매 호출마다 초기화하지 않고,
초기 호출때만 초기화된다.)
잔고는 amount가 입력될 때마다 +된다.
amount가 양수이면
입금과 잔고에 나타내고,
amount가 음수이면
출금과 잔고에 나타낸다.
\t (탭)과 %nd (자릿수 형식 지정자)를
적절히 활용하여 칸을 보기좋게 정리한다.
여기서 balance += amount가
amount가 양/음에 상관없이
+=로 통일되는 이유는
amount가 -10000과 같이
음수로 들어오기 때문에
balance = balance + (-10000)이므로
덧셈으로 통일시킨 것이다.
만약 입/출금 메뉴를
사용자가 선택하도록 구성한 프로그램에서
입금 출금을 선택하여
amount를 양수만 입력한다면
출금 메뉴에서는 balance -= amount를 써줘야 한다.
'Programming Language > C basic' 카테고리의 다른 글
[C언어] CHAPTER 09 함수와 변수 / Programming 05 / 1부터 n까지의 합 계산하기 (0) | 2021.04.04 |
---|---|
[C언어] CHAPTER 09 함수와 변수 / Programming 02 / 주사위의 각 면이 나온 횟수 출력 (0) | 2021.04.04 |
[C언어] CHAPTER 08 함수 / Programming 14 / 두 점 사이의 거리 계산 (0) | 2021.04.04 |
[C언어] CHAPTER 08 함수 / Programming 12 / 입력한 값만큼 * 막대 그래프 그리기 (0) | 2021.04.04 |
[C언어] CHAPTER 08 함수 / Programming 11 / 0.0부터 1.0까지의 난수 반환하기 (0) | 2021.04.04 |
- Thanks for comming.
- 오늘은
- 명이 방문했어요
- 어제는
- 명이 방문했어요