C++ 我的变量不会取任何值
您好,我遇到了这个变量的问题C++ 我的变量不会取任何值,c++,arrays,function,variables,for-loop,C++,Arrays,Function,Variables,For Loop,您好,我遇到了这个变量的问题Total\u vot我不知道为什么,但我希望投票[I]的总投票数加起来,该值将变为Total\u vot。但是它说这个变量是未初始化的,这意味着我在创建变量的时候没有加零。我希望值是所有加起来的票数。但它不起作用为什么 我只是一个初学者,所以请耐心点:) int-Total\u-vot; 双倍*POV=新的双倍[ppl]; cout首先,您需要初始化Total\u vot: int Total_vot = 0; 这将消除关于未初始化变量的警告,总数将是正确的 第二
Total\u vot
我不知道为什么,但我希望投票[I]的总投票数加起来,该值将变为Total\u vot。但是它说这个变量是未初始化的,这意味着我在创建变量的时候没有加零。我希望值是所有加起来的票数。但它不起作用为什么
我只是一个初学者,所以请耐心点:)
int-Total\u-vot;
双倍*POV=新的双倍[ppl];
cout首先,您需要初始化Total\u vot
:
int Total_vot = 0;
这将消除关于未初始化变量的警告,总数将是正确的
第二,任务
POV[i] = vote[i] / Total_vot * 100;
正在执行整数算术,因为所有操作数都是整数。当它将投票[i]
除以Total\u vot
时,这将是一个分数,并将四舍五入到0
。分配给double
并不重要;它首先计算表达式的结果,然后将该结果转换为赋值的double
在执行除法之前,至少需要将一个操作数强制转换为双精度
:
POV[i] = vote[i] / (double) Total_vot * 100;
首先,您需要初始化
Total\u vot
:
int Total_vot = 0;
这将消除关于未初始化变量的警告,总数将是正确的
第二,任务
POV[i] = vote[i] / Total_vot * 100;
正在执行整数算术,因为所有操作数都是整数。当它将投票[i]
除以Total\u vot
时,这将是一个分数,并将四舍五入到0
。分配给double
并不重要;它首先计算表达式的结果,然后将该结果转换为赋值的double
在执行除法之前,至少需要将一个操作数强制转换为双精度:
POV[i] = vote[i] / (double) Total_vot * 100;
你想要
inttotal\u vot=0代码>是,但当我这样做时,总数始终为0,然后程序将0除以100破坏我的程序。带+=的for循环应该将总vot添加到3000左右,然后给我一个百分比,但它没有t@Darkaura你真的需要inttotal\u vot=0代码>。还有其他问题。无论如何,循环不会添加投票,当您没有这一行时,您只是看到垃圾结果。请使用std::vector
而不是创建一个双精度数组。您描述的内容完全取决于ppl
和vote
中的值,您没有显示这些值。您想要int Total\u vot=0代码>是,但当我这样做时,总数始终为0,然后程序将0除以100破坏我的程序。带+=的for循环应该将总vot添加到3000左右,然后给我一个百分比,但它没有t@Darkaura你真的需要inttotal\u vot=0代码>。还有其他问题。无论如何,循环不会添加投票,当您没有这一行时,您只是看到垃圾结果。请使用std::vector
,而不是创建一个双精度数组。您描述的内容完全取决于ppl
和vote
中的值,您没有显示这些值。