私は下のコードを実行しようとしているが、私は出ることができないループに入っている。誰かが私のwhileループを修正するのに役立つことができますか?それは永遠に実行し続ける
ユーザーは正しい範囲値を入力できると思われるエラーメッセージが表示されるはずです。
この無限ループを修正して、用途が範囲外の値を入力したときにのみ表示されるようにすることはできますか。
#include<stdio.h>
int main(void) {
int students, counter, total;
int marks[40];
int stdno[40];
total = 0;
printf(" ---=== IPC mark Analyser V2.0 ===---\n");
printf("Please enter the number of students(between 3 and 40):");
scanf("%d", &students);
while (students < 3 || students >40) {
printf("Invalid number, enter a number between 3 and 40 inclusive:");
scanf("%d", &students);
}
printf("Row Std No Mrk\n");
printf("--- --------- ---\n");
for (counter = 0; counter < students; counter++) {
printf(" _________ ___\r");
printf("%03d ", counter + 1);
scanf("%09d %3d", &stdno[counter], &marks[counter]);
while (marks < 0 || marks >100 || stdno < 10000000 || stdno > 999999999) {
printf("Error: Enter values between 0 and 100 inclusive.\n");
scanf("%09d %3d", &stdno[counter], &marks[counter]);
}
return 0;
}
}
ような配列の各要素を比較することができますフォーマットしてください。あなたのコードを最初に正しく。 –
あなたのコードはあまりにも形式がわかりません。 – Lundin
すべての警告を有効にしてコンパイルし、コンパイラが吐き出す警告を読み、エラーとして処理します。 –