C++基础题帮一下忙解决一下啦

img

描述
  按要求,给定边长,打印一个正方形
输入
  输入数据有多组,每组占一行,每行一个偶数n(4<=n<=100),表示正方形的边长。
 以EOF结束。
输出
 按照样例格式输出正方形。由于行间距比列间距大,我们输出的列数为正方形边长,而行数只有列数的一半再加1(近似
  正方形)。
 四个角落的符号为+,水平方向使用“-“符号,垂直方向使用符号“”|“”,中间为空格,末尾没有多余空格
样例输入
 4
6
10
样例输出
+--+
|    |
+--+

+----+
|       |
|       |
+----+

+--------+
|           |
|           |
|           |
|           |
+--------+

代码如下:

int main()
{   
    int side; //边长
    cin >> side ;
    for(int i = 0; i < side; ++i) {
        if((0 == i) || (side - 1 == i))
            cout << "+" ;
        else
            cout << "-" ;
    }
    cout << endl ;
    for(int i = 0; i < (side - 2) / 2; ++i) {
        for(int j = 0; j < side; j++) {
            if((0 == j) || (side - 1 == j))
                cout << "|" ;
            else
                cout << " ";
        }
        cout << endl ;
    }
    for(int i = 0; i < side; ++i) {
        if((0 == i) || (side - 1 == i))
            cout << "+" ;
        else
            cout << "-" ;
    }    
    return 0;
}