我的变量不会有任何价值
My variables will not take any value
你好,我在使用这个变量时遇到了问题 Total_vot
我不知道为什么,但我希望 vote[i] 的总票数相加,这个值将变为 Total_vot .但它说变量未初始化,这意味着我在创建变量时没有置零。我希望该值是所有加起来的选票。但它不起作用,为什么?
我是一个初学者所以请多多关照:)
int Total_vot;
double *POV = new double[ppl];
cout << "this is the percentage of votes each candidate got!" << endl;
for (int i = 0; i < ppl; i++)
{
Total_vot += vote[i];
}
cout << Total_vot << endl;
for (int i = 0; i < ppl; i++)
{
POV[i] = vote[i] / Total_vot * 100;
}
for (int i = 0; i < ppl; i++)
{
cout << cans[i]; cout << " " << vote[i]; cout << " " << POV[i]; cout<<"%" << endl << endl;
首先需要初始化Total_vot
:
int Total_vot = 0;
这样就去掉了未初始化变量的警告,总数就正确了。
二、作业
POV[i] = vote[i] / Total_vot * 100;
正在执行整数运算,因为所有操作数都是整数。当它用 vote[i]
除以 Total_vot
时,这将是一个分数,并将向下舍入为 0
。分配给 double
并不重要;首先它计算表达式的结果,然后将该结果转换为 double
以进行赋值。
在进行除法之前,您需要将至少一个操作数转换为 double
:
POV[i] = vote[i] / (double) Total_vot * 100;
你好,我在使用这个变量时遇到了问题 Total_vot
我不知道为什么,但我希望 vote[i] 的总票数相加,这个值将变为 Total_vot .但它说变量未初始化,这意味着我在创建变量时没有置零。我希望该值是所有加起来的选票。但它不起作用,为什么?
我是一个初学者所以请多多关照:)
int Total_vot;
double *POV = new double[ppl];
cout << "this is the percentage of votes each candidate got!" << endl;
for (int i = 0; i < ppl; i++)
{
Total_vot += vote[i];
}
cout << Total_vot << endl;
for (int i = 0; i < ppl; i++)
{
POV[i] = vote[i] / Total_vot * 100;
}
for (int i = 0; i < ppl; i++)
{
cout << cans[i]; cout << " " << vote[i]; cout << " " << POV[i]; cout<<"%" << endl << endl;
首先需要初始化Total_vot
:
int Total_vot = 0;
这样就去掉了未初始化变量的警告,总数就正确了。
二、作业
POV[i] = vote[i] / Total_vot * 100;
正在执行整数运算,因为所有操作数都是整数。当它用 vote[i]
除以 Total_vot
时,这将是一个分数,并将向下舍入为 0
。分配给 double
并不重要;首先它计算表达式的结果,然后将该结果转换为 double
以进行赋值。
在进行除法之前,您需要将至少一个操作数转换为 double
:
POV[i] = vote[i] / (double) Total_vot * 100;