用c++定义多个函数完成相关图形的输出(可根据参数修改输出图形的大小[长宽]) 直角三角形、等腰三角形、矩形、平行四边形、菱形
时间: 2024-10-21 12:12:50 浏览: 47
在C++中,你可以通过函数模板和重载来定义一组通用的图形输出函数,根据传入的参数动态调整图形的大小和形状。下面是一个简单的示例,展示了如何定义这些基本的图形输出函数:
```cpp
#include <iostream>
// 函数模板,表示图形的基本结构
template <typename T>
void drawShape(T side) {
std::cout << "绘制一个 " << side << " 单位的简单图形。\n";
}
// 直角三角形,需要两个边长
template <typename T>
void drawRightTriangle(T base, T height) {
drawShape(base);
drawShape(height);
std::cout << "这是一个直角三角形,底边 " << base << ", 高 " << height << ".\n";
}
// 等腰三角形,需要两个相等的边和底边
template <typename T>
void drawIsoscelesTriangle(T side) {
drawShape(side);
drawShape(side);
std::cout << "这是一个等腰三角形,两边长度均为 " << side << ".\n";
}
// 矩形,需要两个维度
template <typename T>
void drawRectangle(T width, T height) {
for (T i = 0; i < height; ++i) {
for (T j = 0; j < width; ++j) {
drawShape(1); // 假设每个单元格都是一个小的图形单位
}
std::cout << "\n"; // 换行
}
std::cout << "这是一个矩形,宽度 " << width << ", 高度 " << height << ".\n";
}
// 平行四边形,需要两对边
template <typename T>
void drawParallelogram(T base, T height, T diagonal) {
drawShape(base);
drawShape(height);
drawShape(diagonal);
std::cout << "这是一个平行四边形,底边 " << base << ", 高 " << height << ", 斜对角线 " << diagonal << ".\n";
}
// 菱形,需要两对邻边
template <typename T>
void drawKite(T a, T b) {
drawShape(a);
drawShape(b);
drawShape(b);
std::cout << "这是一个菱形,两条短边长度分别为 " << a << ", 长边长度为 " << b << ".\n";
}
int main() {
drawRightTriangle(5, 7);
drawIsoscelesTriangle(4);
drawRectangle(6, 8);
drawParallelogram(3, 4, 5);
drawKite(2, 3);
return 0;
}
```
阅读全文