프로그래밍/C/C++

숫자만을 입력받기 위해서

Songker 2008. 10. 14. 01:23
코딩을 하다보면
int input; 이라고 선언하고
do. while()문으로 그 값을 처리할때
문자를 입력받으면
무한루프를 도는것을 발견할수있다.

해결방안은...

#include <ctype.h>

char input;

if(isdigit(input)==0)
{
   cout<<"올바른 숫자를 입력해주세요"<<endl;
    break;
}

else
{
     input=atoi(&input);
.
.
.
.
.
}

isdigit()에서 숫자가 아닌값이 들어오면 0으로 출력된다.
따라서 0일때는 오류메세지를 출력하고

숫자를 입력받았다면
atoi()함수를 이용해 정수화 해야한다
input이 char로 선언되었기 때문이다....