Draw A Rectangle With Asterisks

前端 未结 4 1440
眼角桃花
眼角桃花 2021-01-29 13:23

I am trying to write a C++ Program to display a rectangle drawn in asterisks. I have the program running properly except for the fact that only one side of the heights of my rec

4条回答
  •  失恋的感觉
    2021-01-29 13:40

    Specify a width and height at the start then you only need 3 loops. The first will print the top line of the rectangle. The second will print both sides of the rectangle (minus the very top and very bottom of the sides). The third will print the bottom line of the rectangle.

    Like so

    // Width and height must both be at least 2
    unsigned int width = 7;  // Example value
    unsigned int height = 5; // Example value
    // Print top row
    for(unsigned int i = 0; i < width; i++);
    {
        std::cout << "*";
    }
    std::cout << std::endl;
    // Print sides
    for(unsigned int i = 0; i < height - 2; i++)
    {
        std::cout << std::setw(width - 1) << std::left << "*";
        std::cout << "*" << std::endl;
    }
    // Print bottom row
    for(unsigned int i = 0; i < width; i++)
    {
        std::cout << "*";
    }
    std::endl;
    

    You will need to include both iostream and iomanip for this to work (setw is part of iomanip).

    The top and bottom rows could also be done using the method to fill spaces with a given character, but I cannot recall that method right now.

提交回复
热议问题