我希望我的功能能够正常运行,以便如果某人输入的分数超过20分所允许的分数,则它会返回到另一点,无论该分数在该函数中还是超出该分数,以便用户可以选择重试。我需要更改什么,我知道return不能作为答案,因为它只存在该函数并转到函数调用后的下一行。这是用于家庭作业,老实说,我不确定这是否是必需的,我只是希望它是干净的并处理用户错误。
void gradeTaker()
{
cout << "You may input up to 20 grades. \n";
cout << "First enter the number of grades you have: \n";
cin >> gradeCounted;
if (gradeCounted > arraySize)
{
cout << "You entered a number of grades greater than 20, try again \n";
return;
}
}
我的代码的当前结果是它退出函数并继续到下一行。我不知道所需的代码。
答案 0 :(得分:1)
您可以使用while循环使用以下条件进行输入:
void gradeTaker()
{
cout << "You may input up to 20 grades. \n";
cout << "First enter the number of grades you have: \n";
cin >> gradeCounted;
while (gradeCounted > arraySize)
{
cout << "You entered a number of grades greater than 20, try again \n";
cin >> gradeCounted;
}
// do whatever with gradeCount
}
也可以执行while循环,并用goto语句和其他一些逻辑标记来实现。
答案 1 :(得分:1)
从内部调用函数“ gradeTaker()”,而不是“ return”