while반복중 안의if안의 scanf에서 소수점입력시무시하고 지나가는현상
갅지돋는슬아
2023.04.01
소스파일이 여기에넣기에는 너무길어 cpp파일로 올립니다.
도중 메인함수에 while문안에 if문이있고 그안에 scanf가있습니다.
%d로 받도록설정해놨는데, 반복도중 실수로 가끔 소숫점입력시 scanf를 건너뛰고 계속 아래쪽if문만 반복해버리는 현상이있는데요..
꼭 소숫점전체가그런건아니지만,,가끔 그런현상이 나타나네요..
어떤점이 문제인가요!?
-
갤1
아뇨 자료형 문제가 아니죠
double 형으로 한다해도 문자를입력받을경우 똑같은 현상이 발생합니다
if 문을 사용해서 다른값을 입력받았을경우 메세지를 출력하게하세요
즉 잠시 작업을 중단시키고 재입력받도록 -
알렉산더
흠..그럼 더블형같은 실수형으로받으면 문제가없을까요?
-
여름
예외처리를 해주세요
숫자 이외의 문자나 소수가 입력될경우 경고메시지 등을 띄우도록이요
%d는 10진 정수형이라서 소수랑 문자등을 입력받으면 그런현상이 생깁니다