C++课程设计题一道 》高悬赏《

2022-12-09 00:28 点击:123 编辑:邮轮网

//语言:C++,编译环境:Microsoft Visual C++ 6.0或Microsoft Visual Studio 2005


#include <iostream>
#include <string>
using namespace std;
class shape
{
public:
 virtual double area()=0;//求图形面积
 virtual void printshapename()=0;//输出图形的名称
};
//****************************************************************************
class shapes:public shape
{
public:
 void IsShape();//判断图形
 double area();
 void printshapename();
private:
 string name;
 double r,a,b,h;
};
//****************************************************************************
int main()
{
 shapes s;
 s.printshapename();
 s.IsShape();
 cout<<面积是:<<s.area()<<endl;
 return 0;
}
//****************************************************************************
void shapes::printshapename()//输出图形的名称
{
 string n;
 cout<<请输入图形的名称:<<endl;
 cin>>n;
 name=n;
}
//****************************************************************************
void shapes::IsShape()//判断图形
{
 if(name==圆形)
 {
  cout<<请输入半径:<<endl;
  cin>>r;
 }
 else if(name==三角形)
 {
  cout<<请输入底和高:<<endl;
  cin>>a>>h;
 }
 else if(name==矩形)
 {
  cout<<请输入长和宽:<<endl;
  cin>>a>>b;
 }
 else if(name==梯形)
 {
  cout<<请输入上底边长、下底边长和高<<endl;
  cin>>a>>b>>h;
 }
 else if(name==正方形)
 {
  cout<<请输入边长:<<endl;
  cin>>a;
 }
 else cout<<您的输入有误!!<<endl;
}
//****************************************************************************
double shapes::area()//求图形面积
{
 if(name==圆形) return r*r*3.14159;
 else if(name==三角形) return a*h/2;
 else if(name==矩形) return a*b;
 else if(name==梯形) return (a+b)*h/2;
 else if(name==正方形) return a*a;
 else return 0.0;
}


顶一下
(0)
0%
踩一下
(0)
0%
下一篇:中国长航重庆长江轮船公司(重庆长江轮船有限公司总经理)
上一篇:中国沥青运输网(中国沥青交易网)