14.2-平面面积OJ版
来源:互联网 发布:淘宝团购在哪里 编辑:程序博客网 时间:2024/05/16 00:29
/**Copyright (c) 2013 ,烟台大学计算机学院*All rights reserved.*作者:张凤宁*完成日期:2014年6月4*版本号:v1.0*问题描述:*样例输入:*样例输出:*问题分析:用简单的方法,学会活学活用*/#include <iostream>#include <cmath>#include <iomanip>using namespace std;class Shape{public: virtual float area()const { return 0.0; };};//圆形class Circle:public Shape{public: Circle(float r):radius(r) {}; virtual float area() const;private: float radius;};float Circle::area() const{ return 3.14159*radius*radius;}//正方形class Square:public Shape{public: Square(float m):a(m) {}; virtual float area()const;private: float a;};float Square::area()const{ return a*a;}//矩形class Rectangle:public Shape{public: Rectangle(float l,float w):a(l),b(w) {}; virtual float area() const;private: float a; float b;};float Rectangle::area()const{ return a*b;}//梯形class Trapezoid:public Shape{public: Trapezoid(float a1,float a2,float h1):w1(a1),w2(a2),h(h1) {}; virtual float area()const;private: float w1; float w2; float h;};float Trapezoid::area()const{ return ((w1+w2)*h)/2;}//三角形class Triangle:public Shape{public: Triangle(float x,float n):w(x),h(n) {}; virtual float area()const;private: float w; float h;};float Triangle::area()const{ return (w*h)/2;}int main(){ float r,a,b,w1,w2,w,h; cout<<fixed<<setprecision(2); cin>>r; Circle circle(r); cin>>a; Square square(a); cin>>a>>b; Rectangle rectangle(a,b); cin>>w1>>w2>>h; Trapezoid trapezoid(w1,w1,h); cin>>w>>h; Triangle triangle(w,h); Shape *pt[5]= {&circle,&square,&rectangle,&trapezoid,&triangle}; //定义基类指针数组pt,使它每一个元素指向一个派生类对象 double areas=0.0; //areas为总面积 for(int i=0; i<5; i++) { areas=areas + pt[i]->area(); } cout<<"totol of all areas="<<areas<<endl; //输出总面积 return 0;}
运行结果:
0 0
- 14.2-平面面积OJ版
- 平面面积OJ版
- 第十四周项目2-平面面积OJ版
- 第十四周 项目2-平面面积OJ版
- 十四周项目二平面面积OJ版
- 平面多边形面积问题
- 【平面面积】HDU1071The area
- OJ 三角形面积
- 折线分割平面 (sdut oj)
- oj粉丝与分割平面
- 第十四周项目二平面面积
- 输出平面上三角形的面积
- OJ作业-计算三角形面积
- oj之求三角形面积
- 求三角形面积 (sdut oj)
- OJ.2027: 求三角形面积
- hdu-oj 2050折线分割平面详解
- 【杭电-oj】-2050-折线分割平面
- HDU 1007 Quoit Design (分治)
- Java 删除文件或文件夹
- ubuntu增加一块虚拟硬盘
- Java连接Oracle数据库的示例代码
- ICE中间件说明文档
- 14.2-平面面积OJ版
- 如何使用搜索技巧来成为一名高效的程序员
- iOS手动控制界面旋转
- fread函数和fwrite函数
- java连接sql数据库代码
- Android 与 iOS 持久化 Http Cookie
- 深拷贝详解
- C++构造函数详解
- 源码,反码,补码,二进制 反码求和