【发布时间】:2014-12-28 11:13:51
【问题描述】:
试图编写一个程序来计算一个盒子的体积、表面积或“周长”。我希望能够为每个主题输入一个字母,并在计算出该主题之后,然后为下一个主题输入一个字母。该程序还希望在键入 Q 时结束。我相信我的数学是正确的,但这个程序对我不起作用。它编译得很好,但体积根本不会计算,尽管其他两个主题会。我也得到了三行答案,当我输入第二个字母作为第二个值时,程序运行疯了。非常感谢任何和所有帮助。感谢您的宝贵时间。
include <iostream>
include <iomanip>
using namespace std;
const char SENTINEL = 'Q';//found this suggestion online to quit a program
int main ()
{
char V, A, G, inputChar;
float length, width, depth, totalV, totalA, totalG;
cout<<"Enter character V for Volume, character A for Surface Area,\n";
cout<<"character G or Girth plus Depth or Q to quit\n"<<endl;
cin>>inputChar;// pick letter
while (inputChar!=SENTINEL)// if not Q then check the if-ele statments
{
switch (inputChar)
case 'V':
{
cout<<"Enter Length, Width, and Depth for Volume\n";
cin>>length, width, depth;
totalV=length*width*depth;//math for volume
cout<<"The Volume = "<<totalV<<endl;
break;
}
case 'A':
{
cout<<"Enter Length, Width, and Depth for Surface Area\n";
cin>>length, width, depth;
totalA=2*length*width+2*width*depth+2*length*depth;//math for area
cout<<"The Surface Area = "<<totalA<<endl;
break;
}
case 'G':
{
cout<<"Enter Length, Width, and Depth for Girth\n";
cin>>length, width, depth;
totalG=2*(length+width)+depth;//math for girth
cout<<"The Girth = "<<totalG<<endl;
break;
}
}
system ("pause");
return 0;
}
【问题讨论】:
标签: c++ while-loop switch-statement