c++ - 使用 for 循环绘制边框

标签 c++ c++11 for-loop

我正在尝试使用 for 循环制作一个简单的边框。我没有得到正确的结果。具体来说,我的右边框没有显示。请帮忙。

const int width = 20;
const int height = 20;

void Drow() 
{
    system("cls");                      // clear the screan
    for (int i = 0; i < width; ++i) 
    {
        cout << "*";                    // upper border
    }       

    for (int i = 0; i < height-2; i++) 
    {
        for (int j = 0; j < width; j++) 
        {
            if (j == 0 || j == width - 1)
            {
                cout << "*";            // left and right borders
            }
        }
        cout << endl;
    }

    for (int i = 0; i < width; i++)     // lower border
        cout << "*";
}

最佳答案

在第二个循环中,您绘制了边框,但忘记绘制矩形的内部。

将此添加到if:

else {
    cout << " ";
}

正如 πìντα ῥεῖ 所指出的,您还忘记了在第一个和最后一个循环之后使用 endl

Live Demo

关于c++ - 使用 for 循环绘制边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37401451/

相关文章:

c++ - 如果我想使用非标准的函数并且是由于编译器特定的 API,我该怎么办?

r - lapply 和 for 循环通过 R 中的 data.frames 列表运行函数

java - 如何将用户输入的字符串转换为 pig 拉丁语?

java - For 循环不工作?

c++ - 具有三元运算符和 nullptr 的 auto

c++ - 在 C++ 中的函数调用中声明静态变量

c++ - 共享内存空间是否可以将数据(非 POD)发送到另一个共享内存?

c++ - 析构函数之前工作。如何?

c++ - 取消绑定(bind) lambda 事件处理程序

c++ - 从函数类型中剥离所有限定符