OTL
C언어 제대로 배워보자 하는 마음으로 C언어를 열어서
먼지 쌓인 계산기를 열어보았습니다.
#include <stdio.h> /*기본 include*/
#include <stdlib.h> /*pause를 사용하기 위한것*/
main() /*main 함수*/
{ /*함수 시작*/
int a, b, c; /*변수 선언*/
printf("Press the number following,n"); /*1~4 계산식 선택*/
printf("then press enter.n");
printf("press 1 for Additionn");
printf("press 2 for Subtractionn");
printf("press 3 for Multifycationn");
printf("press 4 for Divationn");
scanf("%dnn", &a); /*1~4 고르기*/
printf("insert two numbersn"); /*숫자 두개 고르기*/
scanf("%dn", &b);
scanf("%dn", &c);
if (a==1) /*1일경우, 덧셈*/
printf("%d + %d = %d nn", b, c, b+c);
else if (a==2) /*2일경우, 뺄셈*/
printf("%d - %d = %d nn", b, c, b-c);
else if (a==3) /*3일경우, 곱셈*/
printf("%d * %d = %d nn", b, c, b*c);
else if (a==4) /*4일경우, 나눗셈*/
printf("%d / %d = %d nn", b, c, b/c);
else
printf("OUT OF ORDER!!!nn"); /*1~4이외일 경우, 에러*/
system("pause");
}
a를 입력해서, 1일경우 덧셈, 이런식으로 하는 것입니다.
두 숫자를 먼저 선언하고, if 문으로 a의 조건을 사용해서
계산을 하는 방식입니다.
1~4 이외의 경우는 "고장났음ㅋㅋ"이란 메세지가 나오도록
해놨습니다. 물론 영어로요.
옛날것을 보니까 if문 내에 scanf가 들어가 있더군요.
아직도 모르겠지만, if문 내에는 scanf가 들어갈수 없나 보군요.
그래서 먼저 입력하고, 조건에 따라서 출력을 다르게 하는 방법을
사용했습니다. "else"를 위에다가 빼 놓는 방법도 있지만,
일단 안전을 위해서 다른 "else if"들 아래에 놓아봤습니다.
저는 Dev C++을 사용하기 때문에, pause를 썼습니다.
여하튼, F9를 눌러봤습니다.
~
~
~1
~2
~3
~4
까지 왔습니다. (생략)
덧셈을 해 봅시다.
1
엔터
....
아무 말이 안뜨네요. 분명 a의 scanf를 마치면 printf를 출력시키도록
해 놨는데.
아무숫자나 클릭합시다.
2
엔터
....
이제야 printf가 나옵니다. 2개의 숫자를 넣으라는 군요.
2 하고 3을 줍시다.
2 엔터
3 엔터
?!
2+2 = 4?
a는 조건일테고
b는 첫번째로, 2라고 줬고
c는 두번째로, 3이라고 줬는데
어째서 b+c = 4 가 나오는.......
순서가 약간 이상합니다.....
위의것 복사해서 실행 시킨뒤, 알려주시면 감사하겠습니다....
C언어 제대로 배워보자 하는 마음으로 C언어를 열어서
먼지 쌓인 계산기를 열어보았습니다.
#include <stdio.h> /*기본 include*/
#include <stdlib.h> /*pause를 사용하기 위한것*/
main() /*main 함수*/
{ /*함수 시작*/
int a, b, c; /*변수 선언*/
printf("Press the number following,n"); /*1~4 계산식 선택*/
printf("then press enter.n");
printf("press 1 for Additionn");
printf("press 2 for Subtractionn");
printf("press 3 for Multifycationn");
printf("press 4 for Divationn");
scanf("%dnn", &a); /*1~4 고르기*/
printf("insert two numbersn"); /*숫자 두개 고르기*/
scanf("%dn", &b);
scanf("%dn", &c);
if (a==1) /*1일경우, 덧셈*/
printf("%d + %d = %d nn", b, c, b+c);
else if (a==2) /*2일경우, 뺄셈*/
printf("%d - %d = %d nn", b, c, b-c);
else if (a==3) /*3일경우, 곱셈*/
printf("%d * %d = %d nn", b, c, b*c);
else if (a==4) /*4일경우, 나눗셈*/
printf("%d / %d = %d nn", b, c, b/c);
else
printf("OUT OF ORDER!!!nn"); /*1~4이외일 경우, 에러*/
system("pause");
}
a를 입력해서, 1일경우 덧셈, 이런식으로 하는 것입니다.
두 숫자를 먼저 선언하고, if 문으로 a의 조건을 사용해서
계산을 하는 방식입니다.
1~4 이외의 경우는 "고장났음ㅋㅋ"이란 메세지가 나오도록
해놨습니다. 물론 영어로요.
옛날것을 보니까 if문 내에 scanf가 들어가 있더군요.
아직도 모르겠지만, if문 내에는 scanf가 들어갈수 없나 보군요.
그래서 먼저 입력하고, 조건에 따라서 출력을 다르게 하는 방법을
사용했습니다. "else"를 위에다가 빼 놓는 방법도 있지만,
일단 안전을 위해서 다른 "else if"들 아래에 놓아봤습니다.
저는 Dev C++을 사용하기 때문에, pause를 썼습니다.
여하튼, F9를 눌러봤습니다.
~
~
~1
~2
~3
~4
까지 왔습니다. (생략)
덧셈을 해 봅시다.
1
엔터
....
아무 말이 안뜨네요. 분명 a의 scanf를 마치면 printf를 출력시키도록
해 놨는데.
아무숫자나 클릭합시다.
2
엔터
....
이제야 printf가 나옵니다. 2개의 숫자를 넣으라는 군요.
2 하고 3을 줍시다.
2 엔터
3 엔터
?!
2+2 = 4?
a는 조건일테고
b는 첫번째로, 2라고 줬고
c는 두번째로, 3이라고 줬는데
어째서 b+c = 4 가 나오는.......
순서가 약간 이상합니다.....
위의것 복사해서 실행 시킨뒤, 알려주시면 감사하겠습니다....