주어진 범위 사이에서 사용자로부터 입력 정수를 가져와야합니다. 나는 그들의 높이와 낮은 것을 얻을 필요가있다. 그러나 루프는 멈추지 않고 왜 나는 모릅니다. 나는 나의 상태가 좋다고 생각했지만 루프는 멈추지 않을 것이다. 그것이 무엇을해야네 서사시 사용자 입력 및 루프 반복 C
int obtainNumberBetween (const char* descriptionCPtr, int low, int high) {
char line[MAX_LINE];
int entry;
// #define MAX_LINE 256
// YOUR CODE HERE
do
{
printf("Please enter the lowest number in the range (%d-%d):\n " ,RANGE_LOWEST ,RANGE_HIGHEST);
fgets(line, 256, stdin);
low = atoi(line);
printf ("The value entered is %d\n", low);
}
while ((entry < low) || (entry > high));
return(entry);
}
샘플 출력 :
Please enter the lowest number in the range (0-32767): -6
Please enter the lowest number in the range (0-32767): 1
Please enter the highest number in the range (1-32767): 0
Please enter the highest number in the range (1-32767): 32768
Please enter the highest number in the range (1-32767): 512
어떤 항목을 수행하고 있습니까? 어떤 가치가있는 동안 당신은 내부 비교? –
사용자 입력이 '낮음'보다 낮거나 '높음'보다 커야하는 경우 사용자에게 다른 번호를 입력하라는 메시지가 표시됩니다. 사용자가 최종적으로 올바른 번호를 입력하면이 함수는 해당 번호를 반환합니다. – yeny314
낮음 = atoi (라인); 당신은 낮은 곳에 겹쳐 쓰고 있습니다. 당신이 진입하기는 아무것도하지 않고 낮게 수정하기 때문에, 당신은 가장 낮은 가치를 잃었습니다. –