C++ 帮助我向绘制图案的函数添加参数

C++ 帮助我向绘制图案的函数添加参数,c++,C++,请帮我回答这个问题,带参数的void函数。我不太明白 我想写一个程序,这样用户就可以输入构成模式的两个字符 我需要定义两个(字符)变量,分别是(star)和(next),语句必须包含三个参数——一个是模式的(int) 和两个字符,用于字符显示模式 我必须将函数(drawpattern)更改为具有三个值参数 一个(int)参数表示图案的大小,两个(字符)表示将用于显示图案的字符 输入(4)表示大小,输入(Y)表示用于开始图案的字符,输入(+)表示第二个和每个备用组 这就是我到目前为止所做的,如果可

请帮我回答这个问题,带参数的void函数。我不太明白

我想写一个程序,这样用户就可以输入构成模式的两个字符

我需要定义两个(字符)变量,分别是(star)和(next),语句必须包含三个参数——一个是模式的(int)

和两个字符,用于字符显示模式

我必须将函数(drawpattern)更改为具有三个值参数

一个(int)参数表示图案的大小,两个(字符)表示将用于显示图案的字符

输入(4)表示大小,输入(Y)表示用于开始图案的字符,输入(+)表示第二个和每个备用组

这就是我到目前为止所做的,如果可以的话,我现在不这么做:

#include <iostream>

using namespace std;

void drawPattern(int size, char start, char next)
{
    for (int i = 0; i <= size; i++)
        for (int j = 0; j <= size; j++)
        {
            if ((i / size) % 3 == 0)
                if ((j / size3) % 3 == 0)
                    cout << '4';
                else
                    cout << 'Y';
            else
                if ((j / size) % 3 == 0)
                    cout << '+';
                else
                    cout << '4';
        }
}  
int main ()
{
    int size;
    char start, next;

    cout << "Please enter number ( 4 ) for the size of the pattern : ";
    cin >> size;

    cout << " Now enter leter ( Y ) to start the pattern: ";
    cin >> start;

    cout << "Lastly enter the ( + ) for the other pattern: ";
    cin >> size;

    cout << " This is the output pattern: " << endl;
    drawPattern(size, start, next);

    return 0;
}
#包括
使用名称空间std;
void drawPattern(int size、char start、char next)
{

对于(int i=0;i看起来您在drawPattern函数中硬编码您的输出,而忽略了用户的实际输入。我认为您可能应该用传递给函数的相应参数替换“Y”和“+”,因为我很确定教授不会对硬编码的值感到高兴。

在第11行,您必须e一个打字错误。它说
size3
,应该说
size

你也犯了一个合乎逻辑的错误

此代码

if ((i / size) % 3 == 0)
在概念上是错误的。至少现在编写代码时是这样。通常您会这样编写:

if (i % 3 == 0)
此if语句每三行为真。
%
(模)计算整数(整数)除法的剩余部分
firstnumber/secondnumber
。如果您有一个从0到10的
i
序列,这就是
i%3
输出的内容

i:    0   1   2   3   4   5   6   7   8   9   10
i%3:  0   1   2   0   1   2   0   1   2   0   1
如您所见,当i可被3整除时,
i%3==0
true

你的代码做了一些不同的事情。比如说
size
=10。然后你计算(整数)除法
i/size
。最后你计算
(i/size)%3
。但是
i
总是小于
size
,除了在循环的最后一个回合。让我们再看看这些值:

i:      0   1   2   3   4   5   6   7   8   9   10
size:   10  10  10  10  10  10  10  10  10  10  10
i/size: 0   0   0   0   0   0   0   0   0   0   1

由于
i/size
的值仅更改一次,因此计算
(i/size)%3
没有任何意义。

我在代码周围添加了一个代码块,但现在您需要修复缩进。没有人可以读取它。为什么您要将
大小
读取两次?我们需要修复格式已经够糟糕的了,但如果您再次破坏它,情况会更糟。我建议:1)修正问题的标题,用一个简洁而有意义的句子来说明你有什么问题。2)修正你的程序的缩进。缩进让我眼睛流血。我拒绝看这样一个令人憎恶的东西。3)试着把描述你问题的文字墙打破成明白易懂的句子。我知道这对非本地人来说并不容易(我也是非本地人),但是把它分成更小的句子可能对你来说也更容易。不清楚你在问什么。代码是否产生了不正确的结果,你不知道为什么,或者它产生了正确的结果,但你不了解它是如何工作的?当程序编译时看到这一点很痛苦,但我不知道是否键入了c正如上面问题中所说的,正确的代码我不确定你是否完全理解这个问题。它要求你输入一个数字X(不管这个数字是什么),你有两个字符(第一个和第二个)。看起来他们想让你写一个程序,以第一个字符开始,在第一个字符和第二个字符之间交替,直到你做了X次…因此,如果你输入8、X和F,它看起来像“XF”。这有意义吗?如果有意义,请单击向上按钮投票支持这个答案。你可能不应该这样做接受这个答案,因为我还没有完全解决你的问题。