好吧,我正在做这个家庭作业,我的老师的第一语言不是英语,也不总是最擅长指路。我正在尝试编写一个程序,要求获得期中成绩和期末考试成绩,然后将这两个值相加以显示总分。
我的问题是,它似乎没有返回输入的分数或将它们存储在各自的变量中,以便加在一起(也就是它总是显示零作为总数)
下面是我的代码:// 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;
}
您使用的是==
而不是=
:
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)
期中考试== getNcheckScore(期中考试,期末考试);
不要使用==,这是一个比较操作符。