Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 循环不工作_C++_Visual C++ - Fatal编程技术网

C++ 循环不工作

C++ 循环不工作,c++,visual-c++,C++,Visual C++,当我运行该程序时,它会将其平均化,但不会循环!有没有人看到我做错了什么,给我指出了正确的方向 #include <iostream> #include <iomanip> using namespace std; //function prototypes void getTestScores(double &score1, double &score2, double &score3); double calcAverage(double

当我运行该程序时,它会将其平均化,但不会循环!有没有人看到我做错了什么,给我指出了正确的方向

#include <iostream>
#include <iomanip> using namespace std;

//function prototypes 

void getTestScores(double &score1, double &score2, double &score3); 
double calcAverage(double &score1, double &score2, double &score3); 
void displayAverage(double avg);

int main() 
{   
    //declare variables
    double score1 = 0.0; 
    double score2 =0.0;     
    double score3 = 0.0; 
    double avg    = 0.0;

    //display average in fixed-point notation   
    getTestScores(score1,score2,score3);    
    calcAverage(avg);
    displayAverage(avg); 

    //enter scores
    while (avg != -1 ); 
    {
        cout << "score 1 (negative number to stop): ";
        cin >> score1;
        cout << "Enter score 2(negative number to stop): ";
        cin >> score2;
        cout << "Enter score 3(negative number to stop): ";
        cin >> score3;

        calcAverage(score1, score2, score3);
        displayAverage(avg); 

        return 0;
    }
} //end of main function

//*****function prototypes***** 
void getTestScores(double &score1, double &score2, double &score3) 
{
   cout << "Enter score 1(negative numberto stop): ";
   cin >> score1;
   cout << "Enter score 2(negative number to stop): ";
   cin >> score2;
   cout << "Enter score 3(negative number to stop): ";
   cin >> score3;
}  //end

double calcAverage (double &score1, double &score2, double &score3)
{
    double average = 0.0; 
    average = calcAverage(score1, score2, score3);

    return average;
} //end of clacAverage

void displayAverage(double avg)     
{
    cout << fixed << setprecision(1);
    cout << "Average: " << avg << endl;
} //end
#包括
#包括使用名称空间标准;
//功能原型
无效getTestScores(双倍得1分,双倍得2分,双倍得3分);
双倍平均得分(双倍得分1,双倍得分2,双倍得分3);
平均值(双平均值);
int main()
{   
//声明变量
双倍得分1=0.0;
双倍得分2=0.0;
双倍得分3=0.0;
双平均值=0.0;
//以定点表示法显示平均值
获得最高分(1分、2分、3分);
平均钙含量;
显示平均值;
//输入分数
而(平均值=-1);
{
cout>1分;
cout>2分;
cout>3分;
平均得分(1分、2分、3分);
显示平均值;
返回0;
}
}//主函数结束
//*****功能原型******
无效getTestScores(双倍计分1、双倍计分2、双倍计分3)
{
cout>1分;
cout>2分;
cout>3分;
}//结束
双倍平均得分(双倍得分1,双倍得分2,双倍得分3)
{
双平均=0.0;
平均值=平均值(1分、2分、3分);
收益率平均值;
}//分类结束
无效显示平均值(双平均值)
{

cout你的
while()
循环后有一个分号。尝试删除它。

你的
while()
循环后有一个分号。尝试删除它。

你的
while
块中有
return
。return停止一切,包括循环。只有Python(AFAIK)允许将return放入循环并使其循环。

您的
中有
return
while
块。return停止一切,包括循环。只有Python(AFAIK)允许将return放入循环并使其循环。

@Katie:您的代码甚至编译了吗?您的平均值(avg);函数调用与您定义它的方式不同。您是否忘记为具有(相同名称)签名CalAverage(double)的重载函数添加代码


顺便说一句,删除while()后面的分号,它可能会正常运行。检查完我上面的问题后,请尝试此操作。

@Katie:您的代码是否编译过?您的CalAverage(avg);函数调用与您定义它的方式不同。您是否忘记为具有(同名)签名CalAverage(double)的重载函数添加代码


顺便说一句,删除while()后面的分号,它可能会正常运行。请在检查我上面的问题后尝试此操作。

Return将结束循环,并将控件返回到调用函数的位置。。 另外,在循环体中似乎没有重新初始化avg?返回avg但不存储它 应该是

avg = calcaAverage(1,2,3)

Return将结束循环,并将控制返回到调用函数的位置。。 另外,在循环体中似乎没有重新初始化avg?返回avg但不存储它 应该是

avg = calcaAverage(1,2,3)

在每个代码语句之前使用4个空格,或者只选择整个代码,然后单击编辑器选项卡上的“显示”
{}
即可。为什么您希望在
calaverage
中使用三个参数,如下
double-calaverage(double&score1,double&score2,double&score3);
但给出一个类似于
calaverage(avg)的参数我不是一个C++的男孩,如果我问的是NoOB,我很抱歉。我认为你应该删除<代码>;<代码> >代码>(avg!= 1)< /> >(avg!= -1):不要直接比较浮点数字(参见)Emre我声明它们的原因是因为两个空格必须匹配!当我定义函数原型时:如果我只声明avg.并计算分数,则在每个代码语句之前有4个空格,或者只选择整个代码并单击
{}
出现在编辑器选项卡上。为什么您希望
calaverage
中有三个参数像这样
double-calaverage(double&score1,double&score2,double&score3);
但是给出一个这样的参数
calaverage(avg)我不是一个C++的男孩,如果我问的是NoOB,我很抱歉。我认为你应该删除<代码>;<代码> >代码>(avg!= 1)< /> >(avg!= -1):不要直接比较浮点数字(参见)Emre我之所以声明它们是因为两个空洞必须匹配!当我定义函数原型时:如果我只声明平均值并计算分数,就会出现错误