질문과 답변

기타
2014.04.03 11:15

C 출력 오류

조회 수 941 추천 수 0 댓글 2
Atachment
첨부 '1'
Extra Form
C를 늙은 나이에 배우기 시작한 말라야라고 합니다. 각설하고...

#include <stdio.h>

int main(void)
{
char ch;
int x, y, sum;
do
{
printf("\nA---add\n");
printf("S---subtract\n");
printf("M---multiply\n");
printf("D---divide\n");
printf("Q---quit\n\n");
printf("연산을 선택 : ");
scanf("%c", &ch);
if (ch == 'A' || ch == 'S' || ch == 'M' || ch == 'D')
{
printf("두 수를 입력 : ");
scanf("%d %d", &x, &y);
if (ch == 'A')
sum = x + y;
else if (ch == 'S')
sum = x - y;
else if (ch == 'M')
sum = x * y;
else if (ch == 'D')
sum = x / y;
printf("연산값은%d.", sum);
}
if (ch == 'Q')
break;
} while(1);

return 0;

}

## 더러운 문제가 시키는대로 한 것이라 코드가 멍청한 점 죄송합니다 ##

cbac643236261a960898730931538c68.PNG

코딩을 위와 같이 짰는데 아래와 같은 결과가 나왔습니다.

산을 선택하는 저 목록이 두 번 뜨지 않게 하려면 어떻게 해야하나요?!
Comment '2'
  • ?
    AltusZeon 2014.04.03 11:23

    while(getchar() != '\n');
    를 뒤에 붙여주시면 될 것 같습니다.

    캐릭터를 받는 scanf가 두번째로 나오기 전에 입력버퍼를 비워줘야 합니다.

  • ?
    말라야 2014.04.03 11:44
    궁금한 점이 말끔하게 해결되었어요! :)

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12446
Board Pagination Prev 1 ... 7 Next
/ 7