1. 重载函数允许不同的函数使用相同的名字,这使得完成类似任务可以使用相同函数名。编写几个计算面积的函数,分别计算圆、矩形、梯形和三角形的面积,函数原型如下: double area(double radius=0); //计算圆面积,参数为半径,缺省参数0,表示点面积 double area(double a, double b); //计算矩形面积,参数为长和宽 double area(double a, double b, double h); //计算梯形面积,参数为两底和高 double area(double a, double b, double c, int); //计算三角形面积,参数为三边长,int型参数起标示作用,以区别于梯形面积函数,不参加计算 提示: (1)常数π可以这样定义:#define PI 3.141593 (2)计算三角形面积的海伦公式:p=(a+b+c)/2,s=(p*(p-a)*(p-b)*(p-c))^0.5 (3)开方函数为sqrt(),在cmath.h中 编程实现上述4个重载函数,并自行设置参数对其进行调用,将结果输出到屏幕。
时间: 2024-02-25 13:54:15 浏览: 95
以下是实现以上要求的代码:
```c++
#include <iostream>
#include <cmath>
using namespace std;
#define PI 3.141593
double area(double radius=0);
double area(double a, double b);
double area(double a, double b, double h);
double area(double a, double b, double c, int);
int main()
{
double r = 2.0;
double l = 3.0;
double w = 4.0;
double b1 = 2.0;
double b2 = 3.0;
double h = 4.0;
double a = 3.0;
double c = 4.0;
double s1, s2, s3, s4;
s1 = area(r);
s2 = area(l, w);
s3 = area(b1, b2, h);
s4 = area(a, b1, c, 1);
cout << "圆的面积为:" << s1 << endl;
cout << "矩形的面积为:" << s2 << endl;
cout << "梯形的面积为:" << s3 << endl;
cout << "三角形的面积为:" << s4 << endl;
return 0;
}
double area(double radius)
{
return PI * radius * radius;
}
double area(double a, double b)
{
return a * b;
}
double area(double a, double b, double h)
{
return (a + b) * h / 2;
}
double area(double a, double b, double c, int)
{
double p = (a + b + c) / 2.0;
double s = sqrt(p * (p - a) * (p - b) * (p - c));
return s;
}
```
输出结果为:
```
圆的面积为:12.5664
矩形的面积为:12
梯形的面积为:10
三角形的面积为:4.47214
```
阅读全文