在主函数给出数据,利用函数重载,分别求出三角形、梯形、圆的面积
时间: 2024-06-01 20:09:37 浏览: 14
#include <iostream>
using namespace std;
// 三角形面积计算函数
float area(float a, float b, float c) {
float p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
// 梯形面积计算函数
float area(float a, float b, float h1, float h2) {
return (a + b) * (h1 + h2) / 2;
}
// 圆面积计算函数
float area(float r) {
const float PI = 3.1415926;
return PI * r * r;
}
int main() {
// 三角形数据
float a = 3, b = 4, c = 5;
cout << "三角形面积:" << area(a, b, c) << endl;
// 梯形数据
float a1 = 3, b1 = 5, h1 = 2, h2 = 3;
cout << "梯形面积:" << area(a1, b1, h1, h2) << endl;
// 圆数据
float r = 5;
cout << "圆面积:" << area(r) << endl;
return 0;
}
相关问题
在主函数给出数据,利用函数重载,分别求出三角形,梯形,圆的面积
由于题目没有给出具体的数据,这里假设要求解的三个图形的数据如下:
三角形:底边长为3,高为4
梯形:上底长为5,下底长为8,高为6
圆:半径为2
根据题目要求,我们需要使用函数重载来实现不同图形的面积计算。下面是完整的代码:
#include <iostream>
using namespace std;
// 计算三角形面积
double area(double base, double height) {
return 0.5 * base * height;
}
// 计算梯形面积
double area(double upper_base, double lower_base, double height) {
return 0.5 * (upper_base + lower_base) * height;
}
// 计算圆面积
double area(double radius) {
return 3.14 * radius * radius;
}
int main() {
double area_triangle = area(3, 4);
double area_trapezoid = area(5, 8, 6);
double area_circle = area(2);
cout << "Triangle area: " << area_triangle << endl;
cout << "Trapezoid area: " << area_trapezoid << endl;
cout << "Circle area: " << area_circle << endl;
return 0;
}
运行结果如下:
Triangle area: 6
Trapezoid area: 33
Circle area: 12.56
可以看到,我们成功地使用函数重载来计算了三角形、梯形和圆的面积,并且得到了正确的结果。
在c++中仅利用一个函数实现圆、正方形、长方形、三角形、梯形的面积计算
在C++中,可以利用函数重载的特性,通过一个函数实现圆、正方形、长方形、三角形、梯形的面积计算。具体实现方法如下:
1. 对于圆的面积计算,可以定义一个函数area(double r),其中r表示圆的半径,函数体内使用公式pi*r*r计算圆的面积。
2. 对于正方形的面积计算,可以定义一个函数area(double a),其中a表示正方形的边长,函数体内使用公式a*a计算正方形的面积。
3. 对于长方形的面积计算,可以定义一个函数area(double a, double b),其中a和b分别表示长方形的两个相邻边长,函数体内使用公式a*b计算长方形的面积。
4. 对于三角形的面积计算,可以定义一个函数area(double a, double b, double c),其中a、b、c分别表示三角形的三条边长,函数体内使用海伦公式sqrt(p*(p-a)*(p-b)*(p-c))计算三角形的面积,其中p=(a+b+c)/2。
5. 对于梯形的面积计算,可以定义一个函数area(double a, double b, double h),其中a和b分别表示梯形的上底和下底长度,h表示梯形的高,函数体内使用公式((a+b)*h)/2计算梯形的面积。
下面是一个示例代码:
```
#include <iostream>
#include <cmath>
#define pi 3.14
using namespace std;
double area(double r) {
return pi * r * r;
}
double area(double a) {
return a * a;
}
double area(double a, double b) {
return a * b;
}
double area(double a, double b, double c) {
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
double area(double a, double b, double h) {
return ((a + b) * h) / 2;
}
int main() {
double r = 5;
double a = 4;
double b = 6;
double c = 8;
double h = 3;
cout << "圆的面积为:" << area(r) << endl;
cout << "正方形的面积为:" << area(a) << endl;
cout << "长方形的面积为:" << area(a, b) << endl;
cout << "三角形的面积为:" << area(a, b, c) << endl;
cout << "梯形的面积为:" << area(a, b, h) << endl;
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![text/x-java](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)