我写了一个将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 << "|:|::"; };
}
答案 0 :(得分:1)
您从未初始化sum
。在尝试向其中添加int sum{}
之前,Value使用int sum = x
或d
对其进行初始化。