问题描述
- C++ 面向对象循环问题
- 想要程序不断运行知道自定义不想再运行为止,是不是应该定义一个循环?如何让上一次的循环不影响下一次的循环?
简单地说,就是输入不同数据,得到不同结果,结果相互不影响。
就像是计算器,第一次运算结束后可以清空,在接着计算,只要不退出。
请问该怎么办?
解决方案
可以这样:
while (true)
{
char ch;
scanf(""%c"" &ch);
if (ch == 'x') break;
... //按下x退出,按下别的你可以执行你的程序,你还可以做一个菜单
}
解决方案二:
for(;;)
{
int number = 0;
cout<<""************************************""< cin>>i;
switch(i)
{
case 1: b_display();c1.reset();break;
case 2: o_display();c1.reset();break;
case 3: d_display();c1.reset();break;
case 4: h_display();c1.reset();break;
case 0: exitSystem(); break;
default:cout<<""抱歉,没有该选项!""<<endl;
}
break;
}
解决方案三:
开线程循环用waitforevent卡着吧
解决方案四:
reset代码在哪里,代码不全,还有让你用代码工具栏的按钮包裹你的代码,你也没有做到。
解决方案五:
for(;;)
{
int number = 0;
cout<<""*******************************************************""< cin>>i;
switch(i)
{
case 1: b_display();c1.reset();break;
case 2: o_display();c1.reset();break;
case 3: d_display();c1.reset();break;
case 4: h_display();c1.reset();break;
case 0: exitSystem(); break;
default:cout<<""抱歉,没有该选项!""<<endl;
}
break;
}
解决方案六:
你要把 cin 写在循环里才有用,否则之后循环永远i是第一次输入的值。
另外你还是没有把代码包裹在正确的标记里(而是在最后),同时也没有给出reset的定义
解决方案七:
第一小段
class C
{
public:
inline void reset()
{
int number = 0;
}
};
第二小端
for(;;)
{
int number = 0;
cout<<""************************************""< cin>>i;
switch(i)
{
case 1: b_display();c1.reset();break;
case 2: o_display();c1.reset();break;
case 3: d_display();c1.reset();break;
case 4: h_display();c1.reset();break;
case 0: exitSystem(); break;
default:cout<<""抱歉,没有该选项!""<<endl;
}
break;
}
解决方案八:
for (;;)
{
cin >> i;
...
}
这样写
解决方案九:
需要循环读取你的输入