圆形体体积计算器

本题要求实现一个常用圆形体体积的计算器。计算公式如下:

球体体积 V=
3
4

πr
3
,其中r是球体半径。
圆柱体体积 V=πr
2
h,其中r是底圆半径,h是高。
圆锥体体积 V=
3
1

πr
2
h,其中r是底圆半径,h是高。
输入格式:
在每次计算之前,要求输出如下界面:

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:
结尾无空行

#include<iostream>
#include<math.h>
#define PI 3.1415926535  
using namespace std;
int main()
{
    int n;
    double radius,height;
    while(1)
    {
        cout<<"1-Ball"<<endl<<"2-Cylinder"<<endl<<"3-Cone"<<endl<<"other-Exit"<<endl<<"Please enter your command:"<<endl;
        cin>>n;
    if(n==1)
    {
        cout<<"Please enter the radius:"<<endl;
        cin>>radius;
        printf("%.2lf\n",4*PI*pow(radius,3)/3);
    }
    else if(n==2)
    {
        cout<<"Please enter the radius and the height:"<<endl;
            cin>>radius>>height;
        printf("%.2lf\n",PI*radius*radius*height);
    }
    else if(n==3)
    {
        cout<<"Please enter the radius and the height:"<<endl;
            cin>>radius>>height;
        printf("%.2lf\n",PI*radius*radius*height/3);
    }
    else
    {return 0;}
    }
}

话说,这个题最初的输入把我看蒙了,1,2,3,我以为是运算三次,后来才明白选了1运算后,2是输入的半径,然后又选择了三运算。也就是在一次运算完可以继续重新开始,所以采用一种while(1)的用法。
另一个是输出指令后记得换行,否则就是1分和满分的差距。。。

上一篇:浅谈Oracle索引


下一篇:一起谈.NET技术,用优秀.NET界面控件 打造新潮界面效果