Итак, я делаю это домашнее задание, и мой учитель не говорит по-английски и не всегда лучше всех дает указания. Я пытаюсь написать программу, которая запрашивает промежуточный балл и итоговый балл за экзамен, а затем добавляет эти два значения для отображения общего балла.
Моя проблема в том, что он не возвращает введенные результаты или сохраняет их в соответствующих переменных, чтобы их можно было сложить вместе (иначе он всегда отображает ноль как итог)
Вот мой код:
// 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;
}
среднесрочный период == getNcheckScore (среднесрочный, окончательный);
Не используйте ==, это оператор сравнения. Используйте = для назначения.
Ты используешь ==
вместо =
Вот:
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)