-2
私のifステートメントでユーザーにスコアを依頼したい場合を除き、コードがほぼ完成していて、うまく機能しています。今のように、ユーザーにスコアを要求し、無効なエントリを入力すると、もう一度やり直してくださいという行が表示されますが、コードは停止します。無効な番号を入力するまで、ユーザーにプロンプトを表示しておきたい。値が(あなたのif
条件ごとに)それが数値でない入力された場合ユーザにスコアを促すメッセージが表示されない
//Variables
double grade;
string studentName;
//Prompt the user for the student's name
Console.WriteLine("Please enter the student's name:");
studentName = Console.ReadLine();
//Prompt the user for the student's score
Console.WriteLine("Please enter the student's score between 0 and 100:");
if (!(double.TryParse(Console.ReadLine(), out grade)))
{
Console.WriteLine("Invalid entry, scores entered must be numeric. Please try again");
}
else if (grade >=90)
{
Console.WriteLine("{0} has a score of {1} which is an A.", studentName, grade);
}
else if (grade < 90 && grade >= 80)
{
Console.WriteLine("{0} has a score of {1} which is a B.", studentName, grade);
}
else if (grade < 80 && grade >=70)
{
Console.WriteLine("{0} has a score of {1} which is a C.", studentName, grade);
}
else if (grade < 70 && grade >= 60)
{
Console.WriteLine("{0} has a score of {1} which is a D.", studentName, grade);
}
else
{
Console.WriteLine("{0} has a score of {1} which is an F.", studentName, grade);
}
Console.ReadLine();
あなたが持っていないループを使用してください。 –
あなたは 'do/while'を使うことができます – Nkosi
*有効な数字を入力するまでは意味があると思います - その時点で結果を出力してから停止するか、プロンプトを表示し続けるのですか?また、私がこの演習をマークした場合、あなたが持っている不必要に繰り返されるコードの量をあまりにも親切に見ていません。 –