请大家帮个忙!
我一个朋友有个作业题目需要用C++编写
我对C++不太了解,万万请大家帮忙做下,万分感谢!!
一、大作业题目(内容):
编写一个程序计算出球、圆柱和圆锥的表面积和体积。
二、大作业要求:
1.由于计算它们都需要用到圆的半径,有时还可能用到圆的面积,所以可把圆定义为一个类,它包含的数据成员为半径。
2.圆类的公用函数为给半径赋初值的构造函数,计算圆的面积函数,也可以包含计算体积的函数,让其返回0即可,表示圆的体积为0。
3.定义好圆类后,再把球类、圆柱类和圆锥类定义为圆的派生类。在圆柱和圆锥类中应分别新定义一个表示其高度的数据成员。在这些类中同样包含有新定义的构造函数、求表面积的函数和求体积的函数。
4.在完成上述要求后,再将圆类定义中的求表面积和体积的函数均定义为纯虚函数,重新编写该程序。
问题点数:100、回复次数:12Top
1 楼goodname(叶落知秋)回复于 2004-05-14 12:41:36 得分 2
唯有up!Top
2 楼acuter(acuter&)回复于 2004-05-14 12:42:47 得分 2
学习。Top
3 楼goodname(叶落知秋)回复于 2004-05-14 12:46:18 得分 2
题目把实现思路说得很明白了,应该不难实现了。
Top
4 楼hcj2002(流浪者·躬自厚而薄责于人 )回复于 2004-05-14 12:53:50 得分 2
upTop
5 楼yehanyu(愿生命化作那朵莲花)回复于 2004-05-14 13:57:11 得分 0
请大家帮忙啊,
这个应该不是很复杂啊
代码应该也要不了多少的
只是c++我实在不会
拜托了,我朋友他急要Top
6 楼sharkhuang(走吧走吧!人总会慢慢长大~)回复于 2004-05-14 14:07:06 得分 2
一看就是作业吧Top
7 楼yehanyu(愿生命化作那朵莲花)回复于 2004-05-14 14:21:20 得分 0
请大家帮忙啊
Top
8 楼wasoxi(我就是(没意思~~~))回复于 2004-05-14 14:37:28 得分 2
是作业就让他自己完成吧,如果你不想害他的话。Top
9 楼goodname(叶落知秋)回复于 2004-05-14 14:45:00 得分 63
请提供计算公式。
我做了一个简单的模型,你自己实现吧。
不足之处有
1.可以使用模版来实现
我此处数据类型都是假定用float,可以把这个类型模版化
2.程序中的成员函数可以定义成inline的,效率好些。
//#include <iostream>
//using namespace std;
#define PI 3.14f
//////////////////////////////////////////////////////////////
//圆类
class circle{
public:
circle(float=0); //构造函数,默认半径为0
virtual float area()=0; //面积
virtual float cubage()=0; //体积
float get(); //得到半径的值
private:
float radius;
};
circle::circle(float r):radius(r)
{
}
//float circle::area()
//{
// return PI * radius * radius;
//}
//float circle::cubage()
//{
// return 0;
//}
float circle::get()
{
return radius;
}
//------------------------------------------------
//球类
class ball:public circle{
public:
ball(float=0,float=0); //构造函数,默认半径为0
float area(); //面积
float cubage(); //体积
private:
float height;
};
ball::ball(float r,float h):circle(r),height(h)
{
}
float ball::area()
{
return height; //!注意这里我不会计算表面积的公式了,自己要改写这个表达式!
}
float ball::cubage()
{
return height; //!注意这里我不会计算体积积的公式了,自己要改写这个表达式!
}
//------------------------------------------------
//圆柱类
class column:public circle{
public:
column(float=0,float=0); //构造函数,默认半径为0
float area(); //面积
float cubage(); //体积
private:
float height;
};
column::column(float r,float h):circle(r),height(h)
{
}
float column::area()
{
return height; //!注意这里我不会计算表面积的公式了,自己要改写这个表达式!
}
float column::cubage()
{
return height; //!注意这里我不会计算体积积的公式了,自己要改写这个表达式!
}
//------------------------------------------------
//圆锥类
class taper:public circle{
public:
taper(float=0,float=0); //构造函数,默认半径为0,高度为0
float area(); //面积
float cubage(); //体积
private:
float height;
};
taper::taper(float r,float h):circle(r),height(h)
{
}
float taper::area()
{
return height; //!注意这里我不会计算表面积的公式了,自己要改写这个表达式!
}
float taper::cubage()
{
return height; //!注意这里我不会计算体积积的公式了,自己要改写这个表达式!
}
//------------------------------------------------
int main()
{
//ball b;
return 0;
}
Top
10 楼mycjing()回复于 2004-05-14 14:48:58 得分 10
#include <iostream>
#include <math>
using namespace std;
#define PI=31.2415926f;
class Circle
{
public:
float r;
virtual float GetArea(){return PI*r*r;}
virtual float GetGubage(){return 0;}
Circle(){r=0}
}
class Sphere:public Circle
{
public:
Sphere(){}
float GetArea(){return 4*PI*r*r}
float GetGubage(){return PI*r*r*r/6;}
}
}
}Top
11 楼yehanyu(愿生命化作那朵莲花)回复于 2004-05-14 14:59:52 得分 0
谢谢 goodname(叶落知秋)
mycjing() 也谢谢了
我代表我朋友感谢你们
致敬:)Top
12 楼lj197912(从零开始)回复于 2004-05-14 15:15:52 得分 15
#include<iostream>
using namespace std;
const float PI=(float)3.14159;
class Circle
{
public:
Circle(){}
~Circle(){}
virtual float Volume()=0;
virtual float Sur()=0;
private:
float radius;
};
class Ball:public Circle
{
public:
Ball(float r){radius=r;}
~Ball(){}
float Sur();
float Volume();
private:
float radius;
};
float Ball::Sur()
{ return 4*PI*radius*radius;}
float Ball::Volume()
{return 4/3*PI*radius*radius*radius;}
class Cylinder:public Circle
{
public:
Cylinder(float h,float r ){height=h;radius=r;}
~Cylinder(){}
float Sur();
float Volume();
private:
float height;
float radius;
};
float Cylinder::Sur()
{
return 4*PI*radius*height+2*PI*radius*radius;
}
float Cylinder::Volume()
{
return PI*radius*radius*height;
}
float fun(Circle *ptr)
{
return ptr->Sur();
}
float fun1(Circle *ptr1)
{
return ptr1->Volume();
}
int main()
{
Circle *p;
Ball b(2);
Cylinder d(2,2);
p=&b;
cout<<"ball:"<<fun(p)<<" "
<<fun1(p)<<endl;
p=&d;
cout<<"cylinder:"<<fun(p)<<" "
<<fun1(p)<<endl;
return 0;
}
Top



