【发布时间】:2021-12-30 04:21:05
【问题描述】:
我想打印一个矩形,在中间我想输出一个首选文本。
所以在终端中应该是这样的:
Enter width and height: 5 6
+-----+
| |
| |
| |
| |
| |
+-----+
然后在矩形(height/2) 的中间打印出“Hey”。它不适合这个例子,因为 reddit 上的格式与我的编译器有点不同。
但是我想知道如何才能做到这一点?我可以创建矩形,但似乎无法创建“when”语句,如“when mid occurs, print out "Hey"”。
我需要帮助找到一种方法来编写这样的声明。
这是我的代码:
#include <iostream>
#include <iomanip>
using namespace std;
void print_row (int const width)
{
cout << '+' << '-';
for (int i = 1; i < width; ++i)
{
cout << '-';
}
cout << '+' << endl;
}
void print_rectangle (int const width, int const height)
{
int mid = height/2;
print_row(width);
for (int i {}; i < height; ++i)
{
cout << '|' << setw(width+1) << '|' << endl;
if (mid)
{
cout << "Hey" << endl;
}
}
print_row(width);
}
int main()
{
int width {};
int height {};
cout << "Enter width and height: ";
cin >> width >> height;
print_rectangle(width,height);
return 0;
}
【问题讨论】:
-
请去掉双倍行距并使用适当的缩进。
-
if (i == mid)更接近您想要的,但您需要将左侧和右侧打印分成两个语句或将左侧和右侧打印添加到条件 and 为真时跳过正常打印。
标签: c++