如果他们从选择中输入任何内容,我正在尝试使其重新循环。每当我输入4时,它就结束了。如果我选择正确的一个,它也会结束。无论如何,我可以要求用户输入正确的密码吗?
void towsoncourse ()
{
cout << "Enter Course: 1 is COSC,2 is ENGL,3 is MATH" << endl;
int course;
bool finish;
bool finishcourse = true;
cin >> course;
while (finishcourse != true)
{
cout << "Enter correct number for course" << endl;
if (course == 1 || course == 2 | course == 3)
{
finish = true;
}
else
{
cout<< "Error: Enter number corresponding to course." << endl;
}
}
switch (course)
{
case 1:
cout << "COSC" << endl;
break;
case 2:
cout << "ENGL" << endl;
break;
case 3:
cout << "MATH" << endl;
break;
default:
cout << "Error: Enter number corresponding to course" << endl;
}
}
int main ()
{
towsoncourse ();
return 0;
}
答案 0 :(得分:0)
这不是一个完整的答案,而是一个指明方向的指南。
您要继续读取输入,直到它是3个可能的值之一。因此,读取和测试输入的一个好地方是在一个循环中,仅在满足测试条件时退出。
while循环在每次执行之前测试继续条件。 do循环在每次执行后测试继续条件。在这种情况下,必须至少执行一次。
答案 1 :(得分:0)
代码存在一些问题。
1)Order Allow,Deny
<FilesMatch "\.(html|css|js)$">
Order Deny,Allow
Allow From All
</FilesMatch>
条件错误。应该是while (finishcourse != true)
。
2)while (finishcourse == true)
分配错误。应该是finish = true;
3)finishcourse = false;
应该放在循环内。因为如果将其放置在外面,则会在输入错误的情况下导致无限循环。
因此,为了确保可读性,我重写了代码。我假设在输入错误的情况下返回到循环,而在输入正确的情况下会终止。
cin >> course;