반응형
#include<stdio.h>

int plus(int a, int b){
	return a+b;
}
int minus(int a, int b){
	return a-b;
}
int mu(int a, int b){
	return a*b;
}
int di(int a, int b){
	return a/b;
}

int main()
{
	
	while(1){
		int a = 0;
		int b = 0;
		char c;
		printf("종료를 원하신다면 0 + 0 를 입력해주세요\n");
		printf("숫자를 입력하세요 : ");
		scanf("%d %c %d", &a, &c, &b);
		printf("결과를 출력합니다 : ");
		
		switch(c){
			case '+': 
				printf("%d %c %d = %d\n\n",a, c, b, plus(a,b)); break;
			case '-': 
				printf("%d %c %d = %d\n\n",a, c, b, minus(a,b)); break;
			case '*': 
				printf("%d %c %d = %d\n\n",a, c, b, mu(a,b)); break;
			case '/': 
				printf("%d %c %d = %d\n\n",a, c, b, di(a,b)); break; 
			default :
				printf("다시 입력하세요 :"); break;
		}
		if(a==0 && c == '+' && b==0){
			printf("계산기를 종료합니다."); 
			break;
		}
	}
}

먼저 연산자들을 함수로 선언해놨습니다.

그런 후에 switch-case문으로 경우를 나눠놨고, while문을 이용하여 계속 계산을 진행할 수 있게 해 두었습니다!

그리고 if문을 사용해 프로그램을 종료시켰습니다. 

 

scanf("%d", n);

%d뒤에 띄어쓰기 있으면 무한루프에 빠져서 절대 못나옵니다ㅠ 

(저는 이거 발견하는데 몇시간 걸렸습니다ㅠㅠ 처음에는 다 그런 거겠죠ㅜㅜ?)

 

반응형

'2019~2020 > 정보 과학' 카테고리의 다른 글

상항식, 하향식 재귀  (0) 2019.08.23
별찍기  (0) 2019.08.23
두점의 중점  (0) 2019.08.21
별찍기 개수 만큼 출력  (0) 2019.08.19
택시 거리 계산하기  (0) 2019.06.19

+ Recent posts