如何正确编码此函数,以便计算int的每个数字的总和?

时间:2019-04-29 00:18:20

标签: c++

我写了一个将5位邮政编码转换为条形码的函数。但是,我还需要计算每个数字的总和,以进行最后一步。我曾尝试这样做,但是Visual Studio说变量和未初始化。我可以告诉我我做错了什么,但我不知道为什么。有人可以解释原因并提出一些建议来更正我的代码吗?谢谢您的回复。

void bar_code(int zip)
{
    int sum;

    for (int number = 0; number <= 4; number ++)
    {

        int d = zip / pow( 10 , 4 - number);
        if (d == 0) { cout << "||:::"; };
        if (d == 1) { cout << ":::||"; };
        if (d == 2) { cout << "::|:|"; };
        if (d == 3) { cout << "::||:"; };
        if (d == 4) { cout << ":|::|"; };
        if (d == 5) { cout << ":|:|:"; };
        if (d == 6) { cout << ":||::"; };
        if (d == 7) { cout << "|:::|"; };
        if (d == 8) { cout << "|::|:"; };
        if (d == 9) { cout << "|:|::"; };

        sum += d;

        int update = pow(10, 4 - number);

        zip = zip % update;



    }

    if (sum == 0) { cout << "||:::"; };
    if (sum == 1) { cout << ":::||"; };
    if (sum == 2) { cout << "::|:|"; };
    if (sum == 3) { cout << "::||:"; };
    if (sum == 4) { cout << ":|::|"; };
    if (sum == 5) { cout << ":|:|:"; };
    if (sum == 6) { cout << ":||::"; };
    if (sum == 7) { cout << "|:::|"; };
    if (sum == 8) { cout << "|::|:"; };
    if (sum == 9) { cout << "|:|::"; };
}

1 个答案:

答案 0 :(得分:1)

您从未初始化sum。在尝试向其中添加int sum{}之前,Value使用int sum = xd对其进行初始化。