关于switch case语句的一个问题?

#include
#include
using namespace std;
void calccuboid();
void calccylinder();
void calccone();
int main()
{
int choice = -1;
while (choice)
{
cout <<"1.长方体"< cout cout cin >> choice;
switch (choice)
{
case 1:
calccuboid();
break;
case 2:
calccylinder();
break;
case 3:
calccone();
break;
}
}
cout <<"感谢使用本软件!" < }
void calccuboid()
{
double len,width,height;
cout cin >>len>>width>>height;
double v = len*width*height;
cout <<"长方体的体积为:"< }
void calccylinder()
{
double radius,height;
cout cin >>radius>>height;
double v = 3.14*pow(radius,2)*height;
cout <<"圆柱体的体积为:"< }
void calccone()
{
double radius,height;
cout cin >>radius>>height;
double v = 3.14/3*pow(radius,2)*height;
cout <<"圆锥体的体积为:"<<v<<endl;
}
为什么输入0,就会出现cout的感谢使用本软件!语句而输入4,5之类的只会继续循环 。

1个回答

因为你的循环while (choice),当choice是0的时候,循环就不能继续,退出前打印“感谢使用本软件!”
而4、5只是case不执行语句,但是会继续循环

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!