전역변수는 모든 곳에서 쓰일수있는 변수를 말한다.
어떻게 보면 좋을수도 있지만 과도하게 전역변수를 사용하면 코드가 꼬여 버릴수가있다.
우리는 이를 마치 스파게티 처럼 코드가 꼬여있다고 하여 스파케티 코드라 한다
저축, 인출 프로그램을 만들어보자.
현재잔액을 전액변수로 사용하여 프로그램을 짜보도록 하자.
#include<stdio.h>
#pragma warning(disable:4996)
void draw(int amount); //인출 함수원형 정의
void save(int amount); //저축 함수원형 정의
int money = 5000; // 현재 잔액-전역변수
int main(void)
{
int amount; //입력받을 돈 변수
int n = 1; //반복제어 변수
while (n != 0) {//n의 값이 0과 같지않으면 반복한다.
printf("메뉴를 선택하세요: 저축(1), 인출(2), 종료(0) :");
scanf("%d", &n);
if (n == 1) {
printf("저축할금액 :");
scanf("%d", &amount);
save(amount);//저축함수 호출
}
else if (n == 2) {
printf("인출할금액 :");
scanf("%d", &amount);
draw(amount);//인출함수 호출
}
}
}
void save(int amount) //저축함수 정의
{
money += amount;
printf("\n현재 잔액은 %d원 입니다.\n---------------------------------------\n", money);
}
void draw(int amount) //인출함수 정의
{
if (money < amount) {
printf("잔액이 부족합니다 !\n");
printf("\n현재 잔액은 %d원 입니다.\n---------------------------------------\n", money);
}
else {
money -= amount;
printf("\n현재 잔액은 %d원 입니다.\n---------------------------------------\n", money);
}
}
'C' 카테고리의 다른 글
c언어 재귀함수(순환함수) 이용하여 입력받은 숫자 차례로 출력하기 (2) | 2014.04.28 |
---|---|
c언어 static 변수 (0) | 2014.04.28 |
c언어 사용자가 원하는 만큼의 정수를 입력한후 합계 출력하기 (0) | 2014.04.27 |
c언어 라이브러리 함수 sin()함수를 이용하여 사인값(sin) 출력과 그래프 출력 (0) | 2014.04.27 |
c언어 함수의 정의, 호출 그리고 함수 원형의 선언 (4) | 2014.04.27 |