C++用一个主副函数的方法计算圆形,梯形,矩形,三角形的面积
时间: 2024-09-13 19:13:34 浏览: 51
在C++中,可以使用主函数(main)来调用不同的子函数(副函数),每个子函数计算一种几何形状的面积。以下是一个简单的例子,展示了如何实现这样的程序:
```cpp
#include <iostream>
using namespace std;
// 声明各个计算面积的函数
double calculateCircleArea(double radius);
double calculateTrapezoidArea(double a, double b, double h);
double calculateRectangleArea(double width, double height);
double calculateTriangleArea(double base, double height);
int main() {
char shape;
double area;
cout << "请输入形状类型(圆: c, 梯形: t, 矩形: r, 三角形: s): ";
cin >> shape;
switch(shape) {
case 'c':
cout << "请输入圆的半径: ";
double circleRadius;
cin >> circleRadius;
area = calculateCircleArea(circleRadius);
cout << "圆的面积是: " << area << endl;
break;
case 't':
cout << "请输入梯形的上底、下底和高: ";
double t_a, t_b, t_h;
cin >> t_a >> t_b >> t_h;
area = calculateTrapezoidArea(t_a, t_b, t_h);
cout << "梯形的面积是: " << area << endl;
break;
case 'r':
cout << "请输入矩形的宽和高: ";
double rectangleWidth, rectangleHeight;
cin >> rectangleWidth >> rectangleHeight;
area = calculateRectangleArea(rectangleWidth, rectangleHeight);
cout << "矩形的面积是: " << area << endl;
break;
case 's':
cout << "请输入三角形的底和高: ";
double triangleBase, triangleHeight;
cin >> triangleBase >> triangleHeight;
area = calculateTriangleArea(triangleBase, triangleHeight);
cout << "三角形的面积是: " << area << endl;
break;
default:
cout << "未知的形状类型" << endl;
}
return 0;
}
// 圆的面积计算函数
double calculateCircleArea(double radius) {
return 3.14159 * radius * radius;
}
// 梯形的面积计算函数
double calculateTrapezoidArea(double a, double b, double h) {
return (a + b) * h / 2.0;
}
// 矩形的面积计算函数
double calculateRectangleArea(double width, double height) {
return width * height;
}
// 三角形的面积计算函数
double calculateTriangleArea(double base, double height) {
return base * height / 2.0;
}
```
在这个程序中,`main` 函数首先接收用户输入的形状类型,并根据输入调用不同的子函数来计算相应的面积。每个子函数都有特定的参数,根据几何公式计算出面积并返回。
阅读全文