圆形体体积计算器
输入格式:
在每次计算之前,要求输出如下界面:
1-Ball
2-Cylinder
3-Cone
other-Exit
Please enter your command:
然后从标准输入读进一个整数指令。
输出格式:
如果读入的指令是1或2或3,则执行相应的体积计算;如果是其他整数,则程序结束运行。
当输入为1时,在计算球体体积之前,打印Please enter the radius:,然后读入球体半径,完成计算;
当输入为2时,在计算圆柱体体积之前,打印Please enter the radius and the height:,然后读入底圆半径和高,完成计算;
当输入为3时,在计算圆锥体体积之前,打印Please enter the radius and the height:,然后读入底圆半径和高,完成计算。
计算结果在一行内输出,保留小数点后两位。
输入样例:
1
2
3
2.4 3
0
输出样例:
1-Ball
2-Cylinder
3-Cone
other-Exit
Please enter your command:
Please enter the radius:
33.51
1-Ball
2-Cylinder
3-Cone
other-Exit
Please enter your command:
Please enter the radius and the height:
18.10
1-Ball
2-Cylinder
3-Cone
other-Exit
Please enter your command:
Code:
#include<iostream>
#include<cstdio> //printf()函数需要的头文件
using namespace std;
#define PI 3.1415926535 //宏定义PI的值,PI为常数,习惯上常数的命名都为大写
//定义三个函数
double Ball(double r); //球体
double Cylinder(double r,double h); //圆柱体
double Cone(double r,double h); //圆锥体
int main()
{
int m;
double r, h, ans; //r为半径,h为高,ans为结果
while(true) {
ans = -1; //每次将结果的值初始为-1
cout << "1-Ball" << endl;
cout << "2-Cylinder" << endl;
cout << "3-Cone" << endl;
cout << "other-Exit" << endl;
cout << "Please enter your command:" << endl;
cin >> m;//输入类型
if(m == 1) { //为球形
cout << "Please enter the radius:" << endl;
cin >> r; //输入半径
ans = Ball(r); //调用球体的函数,并返回结果
}
else if(m == 2) { //为圆柱体
cout << "Please enter the radius and the height:" << endl;
cin >> r >> h; //输入半径和高
ans = Cylinder(r, h);//调用圆柱体的函数,并返回结果
}
else if(m == 3) { //为圆锥体
cout << "Please enter the radius and the height:" << endl;
cin >> r >> h;//输入半径和高
ans = Cone(r, h); //调用圆锥体的函数,并返回结果
}
if(ans == -1) {
//如果ans==1,说明没有进入任何一个函数里,因为返回的结果(体积)一定为正数的,即m不为1,2,3.
break; //跳出循环
}
printf("%.2f\n", ans);
//输出结果,这里用C语句的方式输出,保留两位小数,用C++的标准输出流(cout)的方式太麻烦
}
return 0;
}
//三种计算体积的函数实现
double Ball(double r)
{
return (4 * PI * (r * r * r) / 3);
}
double Cylinder(double r,double h)
{
return (PI * (r * r) * h);
}
double Cone(double r,double h)
{
return ((PI * (r * r) * h) / 3);
}