2019~2020/정보 과학
switch-case와 while문, 함수를 사용한 사칙연산 계산기
유진
2019. 8. 21. 10:21
반응형
#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뒤에 띄어쓰기 있으면 무한루프에 빠져서 절대 못나옵니다ㅠ
(저는 이거 발견하는데 몇시간 걸렸습니다ㅠㅠ 처음에는 다 그런 거겠죠ㅜㅜ?)
반응형