C# 无法使我的循环继续提示用户输入分数

C# 无法使我的循环继续提示用户输入分数,c#,loops,if-statement,C#,Loops,If Statement,我的代码几乎完成了,并且运行正常,只是我希望if语句不断向用户询问分数。就目前而言,它会要求用户提供分数,如果您输入的条目无效,它会给出一行,说“请重试”,但随后代码停止。我希望它不断提示用户,直到他们输入无效的数字 //Variables double grade; string studentName; //Prompt the user for the student's name Consol

我的代码几乎完成了,并且运行正常,只是我希望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();
//变量
双级;
字符串studentName;
//提示用户输入学生的姓名
Console.WriteLine(“请输入学生姓名:”);
studentName=Console.ReadLine();
//提示用户输入学生的分数
Console.WriteLine(“请输入学生在0到100之间的分数:”);
如果(!(double.TryParse(Console.ReadLine(),out grade)))
{
Console.WriteLine(“输入无效,输入的分数必须是数字。请重试”);
}
否则,如果(等级>=90)
{
WriteLine(“{0}的分数为{1},为a.”,学生姓名,年级);
}
否则,如果(等级<90&&grade>=80)
{
WriteLine(“{0}的分数为{1},为B.”,学生姓名,年级);
}
否则,如果(等级<80&&grade>=70)
{
WriteLine(“{0}的分数为{1},为C.”,学生姓名,年级);
}
否则,如果(等级<70和等级>=60)
{
WriteLine(“{0}的分数为{1},为D.”,学生姓名,年级);
}
其他的
{
WriteLine(“{0}的分数为{1},为F.”,学生姓名,年级);
}
Console.ReadLine();

您可以在循环时使用无限
-

while (true)
{
    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");
        break;
    }
    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);
    }
}
while(true)
{
Console.WriteLine(“请输入学生姓名:”);
studentName=Console.ReadLine();
//提示用户输入学生的分数
Console.WriteLine(“请输入学生在0到100之间的分数:”);
如果(!(double.TryParse(Console.ReadLine(),out grade)))
{
Console.WriteLine(“输入无效,输入的分数必须是数字。请重试”);
打破
}
否则,如果(等级>=90)
{
WriteLine(“{0}的分数为{1},为a.”,学生姓名,年级);
}
否则,如果(等级<90&&grade>=80)
{
WriteLine(“{0}的分数为{1},为B.”,学生姓名,年级);
}
否则,如果(等级<80&&grade>=70)
{
WriteLine(“{0}的分数为{1},为C.”,学生姓名,年级);
}
否则,如果(等级<70和等级>=60)
{
WriteLine(“{0}的分数为{1},为D.”,学生姓名,年级);
}
其他的
{
WriteLine(“{0}的分数为{1},为F.”,学生姓名,年级);
}
}

我包括了一个
break
语句,如果输入的值不是数字(根据您的
if
条件),则会中断
while循环。

使用一个您没有的循环。您可以使用
do/while
我假设您的意思是,直到输入一个有效的数字为止-在这一点上,它应该打印出结果然后停止,还是继续提示?此外,如果我将此标记为一个练习,我就不会太在意您有多少不必要的重复代码。没有我们在您的代码中看到循环的地方,请在以下内容上进行谷歌搜索,并将重点放在关于不同类型的循环的部分
C#Basics Tutorial loops