0

好的,所以我正在做这个家庭作业,我老师的第一语言不是英语,而且并不总是最擅长指路。我正在尝试编写一个程序,要求提供期中成绩和期末考试成绩,然后将这两个值相加以显示总分。

我的问题是它似乎没有返回输入的分数或将它们存储在各自的变量中以便加在一起(也就是总显示为零)

这是我的代码:

// Lab11P2.cpp

#include<iostream>
using namespace std;

double getNcheckScore(double, double);

int main()
{
    double midterm = 0.0;
    double final = 0.0;
    double total =0.0;

    cout << "MIDTERM EXAM" << endl;
    midterm == getNcheckScore(midterm, final);

    cout << "FINAL EXAM" << endl;
    final == getNcheckScore(midterm, final);

    total = midterm + final;
    cout << "Total score: " << total << endl;   

    system("pause");
    return 0;
}

    double getNcheckScore(double midterm, double final)
{
    double score = 0.0;
    cout << "Please enter your score: ";
    cin >> score;
    while (score < 0 || score > 100)
    {
          cout << "Score must be between 0 and 100.  Please enter again: ";
          cin >> score;
    } 
    return score;
}
4

2 回答 2

3

您正在使用==而不是在=这里:

midterm == getNcheckScore(midterm, final);

和这里:

final == getNcheckScore(midterm, final);

所以这些根本没有为这些变量赋值。这是在打开警告的情况下编译的一个很好的理由,因为您会看到如下内容:

warning: value computed is not used [-Wunused-value]
 midterm == getNcheckScore(midterm, final);

这本来是一个很好的线索。此外,您没有对函数的两个参数做任何事情:

double getNcheckScore(double midterm, double final)

但是,如果您计划最终通过这些参数传回数据,它们将需要成为引用,如下所示:

double getNcheckScore(double &midterm, double &final)
于 2013-04-03T01:48:16.663 回答
1

期中 == getNcheckScore(期中,期末);

不要使用 ==,这是一个比较运算符。使用 = 进行赋值。

于 2013-04-03T01:48:09.603 回答