C++ 为什么我的程序持续运行而不停止?
我正在尝试制作一个模板,这是我的课堂作业。 我在do while循环中使用了switch语句,条件是如果enter变量不等于16,则应终止程序 我已经在任何情况下使用过break Station,但它不起作用C++ 为什么我的程序持续运行而不停止?,c++,C++,我正在尝试制作一个模板,这是我的课堂作业。 我在do while循环中使用了switch语句,条件是如果enter变量不等于16,则应终止程序 我已经在任何情况下使用过break Station,但它不起作用 #include <iostream> using namespace std; int main() { int op; cout << "Please enter choice between 1 to 15 For Different O
#include <iostream>
using namespace std;
int main()
{
int op;
cout << "Please enter choice between 1 to 15 For Different Operations "
<< endl;
cout << "1. Create List(create a new list(presumably empty))" << endl;
cout << "2. Insertion" << endl;
cout << "3. Deletion" << endl;
cout << "4. Update(replace the element)" << endl;
cout << "5. Start" << endl;
cout << "6. Next" << endl;
cout << "7. Back" << endl;
cout << "8. Tail" << endl;
cout << "9. Find" << endl;
cout << "10. Copy" << endl;
cout << "11. Get(display current index and element)" << endl;
cout << "12. Size / length" << endl;
cout << "13. Display list" << endl;
cout << "14. De - allocate list" << endl;
cout << "15. Exit" << endl;
cin >> op;
do {
switch (op) {
case 1:
cout << "Creating the List" << endl;
break;
case 2:
cout << "inserting... " << endl;
break;
case 3:
cout << "Deleting... " << endl;
break;
case 4:
cout << "updating... " << endl;
break;
case 5:
cout << "starting... " << endl;
break;
case 6:
cout << "next... " << endl;
break;
case 7:
cout << "back... " << endl;
break;
case 8:
cout << "Tail... " << endl;
break;
case 9:
cout << "Find... " << endl;
break;
case 10:
cout << "Copying... " << endl;
break;
case 11:
cout << "Getting... " << endl;
break;
case 12:
cout << "Size... " << endl;
break;
case 13:
cout << "Display... " << endl;
break;
case 14:
cout << "Deallocate... " << endl;
break;
case 15:
terminate;
break;
default:
cout << "Please enter the correct choice " << endl;
break;
}
} while (op != 16);
return 0;
}
#包括
使用名称空间std;
int main()
{
int op;
无法从原始代码中执行
cin >> op;
do {
switch (op)
因此,您在循环外部读取cin,并且不再读取,重新排序以便在每次循环过程中读取,将再次询问您所需的操作
do {
cin >> op;
switch (op)
另外请注意,break不会中断循环,它只是从开关中断。没有中断,下一个案例的指令也将在开关中执行
如果您想在某些情况下从循环中断,您需要在switch语句之外添加一个中断,您可以使用一个变量来“记住”是否应该离开循环
但是,既然在键入的指令中有退出条件,为什么不使循环退出呢
} while (op != 15);
这似乎是有道理的,因为
cout << "15. Exit" << endl;
案例15
中是否有一条语句terminate
。该语句没有任何作用。您可能希望它是terminate()
。对于默认值
情况,中断
退出开关
,而不是循环。如何退出循环?根据当前形式的代码,输入值16
(并在循环中读取,而不是在循环之前-否则输入值4
将导致代码永远循环)。这是导致循环退出的条件(执行开关后)。如果您想强制程序退出,只需在循环中的某个位置分配op=16
。让我试试。如果您这样做了,并且它按预期工作,您介意接受答案吗?如果不介意,是什么错?我不知道如何做,我是新来的接受答案单击问题分数附近的上/下按钮下面的复选框(就在它前面)