如何使用两个功能在C++中绘制空心钻石

How do i draw a hollow diamond in C++ using two fuctions

本文关键字:C++ 绘制 钻石 空心 功能 两个 何使用      更新时间:2023-10-16

所以我和我的团队已经在这个项目上工作了几天,当我们进入它时,我们也可以得到顶部,但它没有运行,我们不确定为什么它不会。第一个功能是画顶部,第二个功能是画底部。顶部似乎画得很好,我不确定为什么代码甚至无法运行。

#include<iostream>
using namespace std;
void drawTopPart(int userNum);
void drawBottomPart(int userNum);
int main() {
    //declarations
    int userNum;
    //get user input
    cout << "Enter an odd number from 1 to 15: ";
    cin >> userNum;
    //output
    drawTopPart(userNum);
    drawBottomPart(userNum);
    cout << endl;
    system("pause");
    return 0;
}
void drawTopPart(int userNumPar) {
    int z = 1;
    int size;
    cin >> size;
    for (int i = 0; i <= size; i++) {
        for (int j = size; j>i; j--) {
            cout << " "; 
        }
        cout << "*"; 
        if (i>0) {
            for (int k = 1; k <= z; k++) {
                cout << " ";
            } z += 2; cout << "*";
        }
        cout << endl; 
    }
}
void drawBottomPart(int userNumPar){
    int z -= 4;
    int size;
    cin >> size;
    for (int i = 0; i <= size - 1; i++) {
        for (int j = 0; j <= i; j++) {
            cout << " ";
        }
        cout << "*";
        for (int k = 1; k <= z; k++) {
            cout << " ";
        }
        z -= 2;
        if (i != size - 1) {
            cout << "*";
        }
    }

您有两个主要错误。第一

void drawBottomPart(int userNumPar){
int z -= 4;
int size;

int z -= 4;有语法错误。您可以将其更改为int z = 17;

其次,你在这里忘记了endl。

if (i != size - 1) {
cout << "*";
}
cout << endl;