프로그래밍

 3198, 1/160 회원가입  로그인  
   sisio07
   도와주세요 c언어 질문 입니다.

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=2822 [복사]


두 수를 입력 받아 그 두 수의 사이의 모든 값을 더한 결과 값을 구하려 고 합니다.

문제는 두 수를 입력 받는 부분에서 있었서

ex)  scanf(" %d %d", &a,&b);

이런 식으로 만들면 숫자는 입력 되지만 잘못 하여 문자를 입력 하였을 경우에는

프로그램이 미치더군요.

그래서 만일 숫자가 아니 다른 문자 가 입력 되었을때 프로그램이 정상적으로 멈추게 만드는

방법이 있을까요?

문제는 두수를 입력 받아 합을 구하데. 'x' 입력 되면 프로그램을 중단 하게 만들어라 입니다.

도와주세요.

  Hit : 4015     Date : 2010/12/27 10:18



    
ruka270 #include <stdio.h>
#include <stdlib.h>

int main(){
unsigned int min,max,sum;
char buf[2][10]={0,};
printf("Insert two Integer: ");
scanf("%s %s",buf[0],buf[1]);
if((sum=min=atoi(buf[0]))<=0||(max=atoi(buf[1]))<=0||min>=max){
printf("Invalid Agument!\n");
exit(1);
}
printf("Sum(%d to %d): ",min,max);
while(min++<max){ sum+=min; }
printf("%u\n",sum);
exit(0);
}
2010/12/27