首页 > 其他分享 >2023/4/19

2023/4/19

时间:2023-04-19 23:35:04浏览次数:33  
标签:%. area 19 float Shape 2023 2lf public

7-2 抽象基类Shape派生3个类 分数 15 作者 沙金 单位 石家庄铁道大学

声明抽象基类Shape,由它派生出三个类,圆形Circle,矩形Rectangle,三角形Triangle,用一个函数输出三个面积。

输入格式:

在一行中依次输入5个数,圆的半径,长方形的高和宽,三角形的高和底,中间用空格分隔

输出格式:

圆的面积,长方形的面积,三角形的面积,小数点后保留2位有效数字,每个面积占一行。

输入样例:

在这里给出一组输入。例如:

3 3 4 3 4
 

输出样例:

在这里给出相应的输出。例如:

28.27
12.00
6.00

 

 

#include<iostream>
#include<iomanip>
using namespace std;
#define PI 3.1415926
class Shape
{
public:
virtual float area()=0;
};

class Circle:public Shape
{
public:
Circle(float r1)
{
r=r1;
}
float area()
{
s=PI*r*r;
return s;
}
private:
float r;
float s;
};

class Rectangle:public Shape
{
public:
Rectangle(float a1,float b1)
{
a=a1;
b=b1;
}
float area()
{
s=a*b;
//printf("%.2lf",s);
return s;
}
private:
float a,b;
float s;
};

class Triangle:public Shape
{
public:
Triangle(float a1,float b1)
{
a=a1;
b=b1;
}
float area()
{
s=a*b/2;
return s;
//printf("%.2lf",s);
}
private:
float a,b;
float s;
};

int main()
{
Shape*a[3];
float b[5];
for(int i=0;i<5;i++)
{
cin>>b[i];
}
a[0]=new Circle(b[0]);
a[1]=new Rectangle(b[1],b[2]);
a[2]=new Triangle(b[3],b[4]);
//float sum;
cout<<fixed;
cout<<setprecision(2)<<a[0]->area()<<endl;        //设置有效数字
cout<<setprecision(2)<<a[1]->area()<<endl;
cout<<setprecision(2)<<a[2]->area()<<endl;
//printf("%.2lf\n",a[0]->area());
// printf("%.2lf\n",a[1]->area());
//printf("%.2lf\n",a[2]->area());
return 0;
}

标签:%.,area,19,float,Shape,2023,2lf,public
From: https://www.cnblogs.com/wangxinyuan1108/p/17335071.html

相关文章

  • 【230419-4】某单位拟安排6位员工在14日15日16日值班,每天安排两人。每人值班1天,若甲不
    ......
  • 【230419-5】在某种信息传输过程中,用4个数字的一个排列表示1个信息,不同排列表示不同信
    ......
  • 4月19日map和multimap以及AVL树的学习
    map的插入比较繁琐,但是用方括号运算符就可以直接插入。也可以用方括号查找键的位置并且用它的返回值来修改值。同样map也可以用迭代器来遍历。map头文件中还有一个multimap关键字,他与map不同点在于它可以存入键相同的键值对,以应对某些情况。给定一个单词列表 words 和一个整数......
  • 4、19
    收获:1)补漏:小根堆对顶竟然是最小值2)数学:1、用数学课理解了扩展欧几里得算法和它的大部分应用2、发现数学章节推不动了,从中国剩余定理开始都不会了3、发现数学老师不会推欧拉的函数式子3)做题一定先想好什么时候无解数据结构一......
  • 4月19号总结
    今天完成了河北科技政策查询的改良增加了题目左对齐,显示字数一致,当鼠标悬浮在题目时,显示完整题目按日期排序点击题目就可以查看内容,取消原先右边的查看按钮<%--CreatedbyIntelliJIDEA.User:wanghongbingDate:2023/4/10Time:15:20Tochangethistemplat......
  • 2023.4.19
    1//1.7最佳存款方案2//假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后的3//五年中的每年年底取出1000元,到第五年时正好取完,请算出他存钱时应存入多少4#include<iostream>5usingnamespacestd;6intmain()7{8floatm,n;9......
  • 每日总结 4.19
    今天进行了供货商web的编写,首先进行了登陆界面的设计优化,对于数据的查询用表格显示,明天继续对供货商页面继续进行数据的操作,登陆界面已经完成。 <!DOCTYPEHTML><html><head><title>登录界面</title><metacharset="utf-8"><metahttp-equiv="pragma"con......
  • java学习日记20230415-LinkedHashSet源码
    LinkedHashSet全面说明:LinkedHashSet是HashSet子类;底层是一个LinkedHashMap,底层维护了一个数组和双向链表根据元素的hashCode值来决定元素的位置,同时使用链表维护元素的次序,使得元素看起来是以插入的顺序保存的不允许添加重复元素维护了一个hash表和双向链表,每个节点有pre和......
  • 每日总结2023-04-19
    今天完成了对Android的界面优化,增添了昨日收入查看,总收入查看,并对三项收入增添了密文显示, 完成了下部分额外部分显示、跳转补货界面的Spinner使用   目前地址的当前详细位置还未完成,期望明天完成。 ......
  • 西南民族大学 2023 天梯自主训练 3
    西南民族大学2023天梯自主训练3正整数A+B#include<bits/stdc++.h>usingnamespacestd;typedefpair<int,int>PII;constintN=1e3+5,INF=0x3f3f3f3f,Mod=1e6;constdoubleeps=1e-8;typedeflonglongll;stringa,b;intx,y;intmain(){ios::sync_with_st......