c++编写一个程序用于计算正方形三角形和圆的面积及计算各类形状的面积
时间: 2024-12-20 10:28:22 浏览: 13
在C++中,我们可以创建一个通用的类模板来计算不同形状(如正方形、三角形和圆形)的面积。首先,我们需要分别为每个形状定义一个类,并提供一个计算面积的方法。然后我们创建一个函数来接受用户输入并选择要计算的形状。以下是简单的示例:
```cpp
#include <iostream>
#include <cmath>
// 正方形类
class Square {
public:
double side;
Square(double s) : side(s) {}
double area() { return side * side; }
};
// 三角形类
class Triangle {
private:
double base, height;
public:
Triangle(double b, double h) : base(b), height(h) {}
double area() { return 0.5 * base * height; }
};
// 圆形类
class Circle {
private:
double radius;
public:
Circle(double r) : radius(r) {}
double area() { return M_PI * pow(radius, 2); } // 使用M_PI常量代替pi
};
// 计算面积的通用函数
template<typename Shape>
double calculateArea(Shape& shape) {
return shape.area();
}
int main() {
int choice;
std::cout << "请选择形状:\n1. 正方形\n2. 三角形\n3. 圆形\n";
std::cin >> choice;
switch (choice) {
case 1:
double square_side;
std::cout << "请输入正方形边长:";
std::cin >> square_side;
Square square(square_side);
std::cout << "正方形面积:" << calculateArea(square) << "\n";
break;
case 2:
double triangle_base, triangle_height;
std::cout << "请输入三角形底和高:";
std::cin >> triangle_base >> triangle_height;
Triangle triangle(triangle_base, triangle_height);
std::cout << "三角形面积:" << calculateArea(triangle) << "\n";
break;
case 3:
double circle_radius;
std::cout << "请输入圆的半径:";
std::cin >> circle_radius;
Circle circle(circle_radius);
std::cout << "圆形面积:" << calculateArea(circle) << "\n";
break;
default:
std::cout << "无效的选择。\n";
}
return 0;
}
```
阅读全文