#include <stdio.h>
int main()
{
int a, b, c, d;
char e;
printf("각 숫자 입력 : ");
scanf_s("%d%d%d%d", &a, &b, &c, &d);
printf("이제 문자입력 R이면 입력받은 첫 두수에 대한 면적 계산 C면 원의 면적 계산 T면 삼각형의 면적 계산 ");
scanf_s("%c", &e,1);
switch (e)
{
case 'R':
printf("사각형의 면적 : %d", a*b);
break;
case 'C':
printf("원의 면적 : %d", a*a*3.14);
break;
case 'T':
printf("삼각형의 면적 : %d", a*b / 2);
break;
default:
printf("제대로 입력해라");
}
return 0;
}
숫자 입력하면 바로 디폴트로 넘어가는걸 보니 이상하게 코딩한거같은데 어떤게 문제인지좀 알려주세용
The controlling expression of a switch statement shall have integer type.
숫자 4개 입력하고 엔터치면 e에 개행문자가 들어감
개행문자라는게 뭐죠?? 그러면 숫자 4개 입력한 뒤에 char e;를 밑으로 적어놓으면 될까요?
안되넹..
그냥 e에다가 먼저 쑤셔넣는게 나을꺼같네여
아 아닌가 저상황에서 개행문자 안들어가나? 잘모르겠고 char e;를 밑에다 쓰는건 컴파일오류남
e에 문자 입력받기 전에 getchar():
getchar();써도 바로 디포트로 넘어가버리네용
핵심은 버퍼 비우기 였네요.