第10周实验报告3

来源:互联网 发布:cf陈子豪刷枪软件下载 编辑:程序博客网 时间:2024/05/22 22:03

实验目的:求圆柱体的表面积和体积并输出

* 程序头部注释开始
* 程序的版权和版本声明部分
* 烟台大学计算机学院学生
* 文件名称:         圆柱体类和派生

* 作    者:          胡斌                
* 完成日期:  2012 年 4月24日
* 版本号:     v1.0    

* 程序头部的注释结束(此处也删除了斜杠)

#include<iostream>          #include<Cmath>          #include<iomanip>          #define PI 3.141592653          using namespace std;        class Point //定义坐标点类      {    public:        Point(){x = 0;y = 0;}        Point(double x0,double y0) {x = x0; y = y0;}        ~Point(){}        double getx(){return x;}        double gety(){return y;}        friend ostream &operator << (ostream & output, Point & c);    protected:        double x, y;   //点的横坐标和纵坐标      };          //输出点的坐标信息   ostream &operator << (ostream & out, Point & c)    {        out << "点坐标为:(" << c.x << "," << c.y << ")";            return out;    }        class Circle: public Point  //定义圆类    {    public:        Circle(){r = 0;}        Circle(double x0, double y0, double r);     //构造函数          ~Circle(){};        double getr(){return r;}        friend ostream &operator << (ostream & out, Circle & c);    protected:        double r;    };        Circle::Circle(double x0, double y0, double R):Point(x0, y0),r(R){}        //输出圆的信息   ostream &operator << (ostream & out, Circle & c)    {        out << "所建圆的圆心为:" << "(" << c.getx() << "," << c.gety() << "), " << "半径为:" << c.r ;            return out;    }        class Cylinder: public Circle    {    public:        Cylinder(){height = 0;}        Cylinder(double x1,double y1, double r1, double h);        ~Cylinder(){}        double geth(){return height;}        double area();        double volume();        friend ostream &operator << (ostream & out, Cylinder & c);    private:        double height;    };        Cylinder::Cylinder(double x1,double y1, double r1, double h):Circle(x1, y1, r1), height(h){}        //计算圆柱体的面积   double Cylinder::area()    {        return (PI * getr() * getr() + 2 * PI * getr() * height);    }        //计算圆柱体的体积   double Cylinder::volume()    {        return (PI * getr() * getr() * height);    }        //输出圆柱体的信息   ostream &operator << (ostream & out, Cylinder & c)    {        out << "圆心为:" <<  "(" << c.getx() << "," << c.gety() << "), " << "半径为:" << c.r  << ", 高为:" << c.height << "的圆柱体";            return out;    }        int main()    {        Point po(3,6);        Circle ci(3,6,2);        Cylinder cy(3, 6, 2, 4);         cout << po << endl;        cout << ci <<endl;          cout << cy << endl;            cout << setiosflags(ios::fixed) << setprecision(2);            cout << "表面积是:" << cy.area() << endl;            cout << "体积是:" << cy.volume() << endl;            system("pause");            return 0;    }  


截图:

点坐标为:(3,6)所建圆的圆心为:(3,6), 半径为:2圆心为:(3,6), 半径为:2, 高为:4的圆柱体表面积是:62.83体积是:50.27请按任意键继续. . .

 

比较难,费了好大劲才做出来!

原创粉丝点击