c언어입문자 질문드려요.. 사진추가했습니다.
이제 c언어에 입문한 학생입니다.
학교에서 과제물이나와서 하는데 중간에 자꾸 막혀서 질문좀 드리려구요..
학생 수를 입력받고 그 수만큼 점수를 입력받아 합계와 평균을 구하는 프로그램인데요
정수 이외에 다른것을 입력하면 저렇게 숫자만입력하라고 뜨게하려고하는데
for문안에있는 if문이 작동을 안하는거 같습니다..ㅜㅜ
젤첨if문은 문자나 지정된 범위의 수 이외의 값을 입력하면 제대로 뜨는데
for문 안에있는 if문은 이외의 값을 입력하면
for문이 계속 돌다가 끝나네요....;;;
어디가 잘못된건지 조언 좀 부탁드리겠습니다..
#include
int main(void)
{
int student=0, person=0, score=0, result=0;
printf("총 학생의 수를 입력하세요 : ");
scanf("%d", &student);
if((student>0) && (student<=100)){
for(person=1;person<=student;person++){
printf("총 %d명의 학생 중 %d번째 학생의 성적을 입력하세요 : ", student, person);
scanf("%d", &score);
//fflush(stdin);
if((score>=0) && (score<=100))
{
result+=score;
}
else
{
printf("0-100사이 숫자입력.\n");
break;
}
}printf("총 %d명 학생의 합계는 %d 이고 평균은 %d 입니다.\n", student, result, result/student);}
else
printf("1-100사이 숫자입력.\n");
return 0;
}
if(조건){} else{break;} 처럼 되어
if(조건){} else{break;} 처럼 되어 있으면, 조건이 틀린 경우 그냥 break 하기로 되어 있으니까 당연히 for문이 끝나겠죠.
피할 수 있을때 즐겨라! http://melotopia.net/b
댓글 달기