// page159.cpp : 定义控制台应用程序的入口点。
//C++ 面向对象程序设计
//计算一个圆的面积和一个球体的体积
//两个计算试用同样的半径
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std ;
const double PI = 3.14159;
double area (double radius);
//返回具有指定半径的一个圆的面积
double volume (double radius );
//返回具有指定的半径的球体的体积
int _tmain(int argc, _TCHAR* argv[])
{
double raduis_of_both , area_of_circle , volume_of_sphere ;
cout << " Enter a radius to use for both a circle \n "
<< " and a sphere (in inches): ";
cin >> raduis_of_both ;
area_of_circle = area (raduis_of_both);
volume_of_sphere = volume (raduis_of_both);
cout << " Radius = " << raduis_of_both << " inches\n"
<< " Area of circle = " << area_of_circle
<< " square inches\n"//圆的面积单位是平方英寸
<< " Volume of sphere = " << volume_of_sphere
<< " cubic inches\n";//球体的体积单位是立方英寸
//cout << static_cast<double>(4/3);---怎么输出是1呢? 而不是1.33333呢?
cout << static_cast<double>(4.0/3);//这就好使啦 1.33333---为啥之前的static_cast<double>(2);在计算的时候是2.0呢 郁闷
cin >> raduis_of_both;
return 0;
}
/*
double area (double radius)
{
return (radius*radius*PI);
}
double volume (double radius )
{
return (4.0/3.0* PI * (radius * radius * radius));
//(static_cast<double>(4/3) )--这里用这个不好使-难道是 转化的顺序问题
}
*/
// 试用函数------------------
double area (double radius)
{
return (PI * pow(radius , 2));
}
double volume (double radius )
{
return (4.0/3.0 * PI * pow (radius ,3));
}