POST

c언어 함수와 전역변수를 사용하여 저축, 인출 하기

전역변수는 모든 곳에서 쓰일수있는 변수를 말한다.

어떻게 보면 좋을수도 있지만 과도하게 전역변수를 사용하면 코드가 꼬여 버릴수가있다.

우리는 이를 마치 스파게티 처럼 코드가 꼬여있다고 하여 스파케티 코드라 한다


저축, 인출 프로그램을 만들어보자.

현재잔액을 전액변수로 사용하여 프로그램을 짜보도록 하자.


#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);

}

}