设计一个求各类图形面积的C++程序
要求:
父类:
主要成员函数:定义图形的轮廓:计算面积等
子类:
各种图形(例如圆、矩形、三角形等)子类,要求继承父类。
如果是下面这个程序就不要了
#include <stdio.h>
#include <math.h>
class Shape
{
public:
virtual double GetArea() const = 0;
};
//三角形
class Triangle : public Shape
{
public:
Triangle(double a, double b, double c)
: m_a(a), m_b(b), m_c(c) {}
double GetArea() const
{
//海伦公式求面积
const double p = (m_a + m_b + m_c) / 2;
return sqrt(p * (p - m_a) * (p - m_b) * (p - m_c));
}
private:
double m_a, m_b, m_c;
};
//圆形
class Circle : public Shape
{
public:
Circle(double r) : m_r(r) {}
double GetArea() const
{
return PI * m_r * m_r;
}
private:
static const double PI;
double m_r;
};
const double Circle::PI = 3.1415926;
//矩形
class Rectangle : public Shape
{
public:
Rectangle(double a, double b) : m_a(a), m_b(b) {}
double GetArea() const
{
return m_a * m_b;
}
private:
double m_a, m_b;
};
int main()
{
Shape* pTriangle = new Triangle(3, 4, 5);
printf("The area of Triangle is %lf\n", pTriangle->GetArea());
Shape* pCircle = new Circle(2);
printf("The area of Circle is %lf\n", pCircle->GetArea());
Shape* pRectangle = new Rectangle(3, 4);
printf("The area of Rectangle is %lf\n", pRectangle->GetArea());
delete pTriangle;
delete pCircle;
delete pRectangle;
return 0;
}
我需要有一个基本的功能菜单
举个例子:
例:请选择你要计算面积的图形
1.三角形
2.圆形
3.矩形
选择后(假如选择的是1)
“请输入三角形的三边长度a=? b=? c=?"
最后填写完a,b,c长度后显示计算出来的面积
“三角形的面积:XXX”
然后再设计一个按键能返回第一个菜单,继续进行其他图形的面积计算
因为本人是初学者,请尽量使用常见的函数和语句,复杂点不要紧
其实我是想不用上面那个程序里的const和指针,然后再增加菜单功能,不知道怎么改,总是改了就传不了值,希望大家帮忙写出修改后的程序,谢谢
如何用c++编写计算面积的程序
一、首先弄清公式:S(面积)=a(长)×b(宽);这应该是最简单的公式了。二、明确输入,既然是求面积,必须知道长和宽,把它们作为输入项。三、模块划分:计算过程封装到函数int RecArea(int rec_length, int rec_width);四、实现如下:include <stdlib.h> include <stdio.h> \/\/ 计算矩形面积 in...
用C++编程计算圆形、长方形和正方形的面积。
cout<<"长方形的面积是:\\n"<<_s<<endl;} int main(){ S c;cout<<"请输入图形类型:\\n(1:圆;2:正方形;3:长方形)"<<endl;int x;cin>>x;switch(x){ case(1):c.yuan(R);break;case(2):c.zheng(L);break;case(3):c.chang(A,B);} return 0;} ...
如何用C++语言编译计算面积程序
void main(){int n,x,y,r;cout<<"输入图形类型,圆请输入1,长方形或正方形输入2";cin>>n;if(n==2) {cout<<"请输入长,宽:";cin>>x;cin>>y;cout<<"面积:"<<x*y<<endl;} if(n==1){cout<<"请输入半径:";cin>>r;cout<<"面积:"<<2*r*r<<endl;} } ...
C++编程,求正方形,长方形,三角形,梯形的周长和面积的程序怎么编写。
circle *ptr;cout << "Enter a shape (1 = circle, 2 = cylinder, 3 = sphere): "<< endl;cin >> shape;if(shape > '0' &&shape < '4'){ cout << "Enter radius" << endl;cin >> radius;if(shape == '1' ){ ptr = new circle(radius);} else if(shape == '2'){...
C++编一个程序,要求输入程序参数,直接计算并显示正方形或圆的面积
也就是说,你的程序运行的时候,要在dos窗口下完成,输入格式是:程序名 + 参数 回车
C++编程,求正方形,长方形,三角形,梯形的周长和面积
cout << "三角形的周长为:\\t" << sqrt((a*a) + (b*b) - 2 * a*b*cos(c)) + a + b << "\\t三角形的面积为:" << 2 * a *b * sin(c) << endl;\/*梯形种类太多,这里只计算直角梯形的*\/ cout << "请输入梯形的上底长:";cin >> a;cout << "请输入梯形的下底...
...编写一个程序计算三角形正方形圆形三种图形的面积,要求 1.三种图形...
virtual void calSquare() { square = bottom * height \/ 2; cout << "三角形面积是 " << square << endl; }};class Circle: public Base{private: float radius;public: Circle(float r): radius(r) {} virtual void calSquare() { square = radius * radius * 3.1415926;...
用C++编程求解圆,长方形,正方形等面积
cout<<"请选择你要计算的图形:"<<endl;cout<<"A.圆形B.正方形C.矩形"<<endl;char s;cin>>s;double a,b;switch(s){ case 'a':cout<<"请输入半径:"<<endl;cin>>a;cout<<"园的面积为:"<<3.14*a*a<<endl;break;case 'b':cout<<"请输入正方形边长:"<<endl;cin>>a;cout...
求编写一个C++程序,求直角三角形的面积和周长
include <iostream.h> include <math.h>void main(void){ double S=0,a=0,b=0,C=0;cout<<"请输入两直角边的值:"<<endl;cin>>a>>b;S = (a*b)\/2;C = a+b+sqrt(a*a+b*b);cout<<"直角三角形的面积为:"<<S<<endl;cout<<"直角三角形的周长为:"<<C<<endl;} ...
如何用C++编写一个简单的程序求面积。
1、首先打开DEV C++软件,在编辑页面输入以下代码,如下图所示。2、题目要求我们在定义变量时,基本类型要全部为float浮点型,所以在编辑源代码时,我们在编写输入代码时,一定要注意给定的类型是什么,根据类型来编写。3、在输入代码中,即“scanf”输入函数内,一定要在我们的变量前加一个地址符,否则...