Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[6878] Re:c언어 y/n 입력해서 y입력받으면 ...
송신영 [palindrome] 3535 읽음    2014-04-16 09:22
2를 입력할 때 Enter를 치면 이 Enter 값도 Key 버퍼에 남아있어서
나중에 scanf 할 때  Enter 값을 읽기 때문입니다.
해결 방법은 key 버퍼를 초기화 해주면 됩니다.
scanf 함수를 호출하기 전에 항상 fflush(stdin); 함수를 호출하여
입력 버퍼를 초기화 하세요.

징뉴 님이 쓰신 글 :
: 근데 여기 이런 질문 올려도 되는건가요?^^
: 오랜만에 c 하려하니 잘 안되네요...ㅠ
:
: c언어 y/n 입력해서 y입력받으면 계속 반복하고 n입력받으면 반복문 빠져나가 프로그램 종료되는 거 도와주세요.
:
: 정수를 입력받아서 홀수인지 짝수인지 구분하고
: “계속하시겠습니까? y/n : ”출력해서 y또는 n을 입력받아
: y를 받으면 계속 정수입력받는거 나오고 홀/짝 구분해주고
: n을 입력받으면 종료될 수 있게 만드는 프로그램인데요~
:
: 정수 입력받아서 홀/짝 구분하는 부분은 쉽게 구현했는데
: y/n 입력받아서 제어하는 부분이 잘 안되네요...b
:
: =============================================
:
: #include <stdio.h>
:
: main(){
:
: int num;
: char ch;
:
: for(;;){
:
:     printf("정수를 입력하세요 :");   
:     scanf("%d", &num);
:
:     if(num%2==0){
:         printf("짝수입니다.");
:     }else{
:         printf("홀수입니다.");
:     }
:
:     printf("\n계속 하시겠습니까?(y/n) :");
:     scanf("%c", &ch);
:    
:     if(ch == 'y'){    }
:     else if(ch == 'n'){
:     break;
:     }
:
: }
:
: }
:
: =========================
: 이렇게 하면
:
: 정수를 입력하세요 : 2
: 짝수입니다.
: 계속 하시겠습니까?(y/n) : 짝수입니다.
:
: 이렇게 나와요... 왜이렇죠?ㅠㅠ

+ -

관련 글 리스트
6877 c언어 y/n 입력해서 y입력받으면 ... 징뉴 6524 2014/04/11
6893     Re:c언어 y/n 입력해서 y입력받으면 ... 3010 2014/10/08
6894         Re:Re:c언어 y/n 입력해서 y입력받으면 ... 2729 2014/10/08
6884     Re:c언어 y/n 입력해서 y입력받으면 ... 나라 3321 2014/06/01
6878     Re:c언어 y/n 입력해서 y입력받으면 ... 송신영 3535 2014/04/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.