在c++中仅利用一个函数实现圆、正方形、长方形、三角形、梯形的面积计算
时间: 2023-12-28 08:22:24 浏览: 126
C++编写计算三角形、正方形和圆形面积程序
5星 · 资源好评率100%
在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;
}
```
阅读全文