この質問のタイトルには挑戦しましたが、私がここで詳しく述べるように私を許してくれることを願っています。 私が抱えている問題は、整数以外のものを入力した場合、私のCプログラムは「学生の等級を入力してください:F」というコンソールにあふれてしまいます。私はC言語を初めて使っているので、入力が有効な型かどうかを調べる方法を理解していません。私のCプログラムが同じ応答でコンソールを氾濫させないようにするにはどうすればいいですか
int main() {
int grade; //number 0-10 associated with the letter grade
while (1) {
printf("Enter the student's grade: ");
scanf("%i", &grade);
switch (grade) {
case 10: printf("A \n"); break;
case 9: printf("A \n"); break;
case 8: printf("B \n"); break;
case 7: printf("C \n"); break;
case 6: printf("D \n"); break;
case 5: printf("F \n"); break;
case 4: printf("F \n"); break;
case 3: printf("F \n"); break;
case 2: printf("F \n"); break;
case 1: printf("F \n"); break;
case 0: printf("F \n"); break;
default: printf("Please enter a valid test score \n"); break;
}
}
return 0;
}
ありがとうございます!
しばらくは、(1)これは再びscanf関数で無限ループ –
です:( –
あなたが他のグレードを置くためにそのscanf関数は待ちません意味ですか? –