我的变量不会有任何价值

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;