Проблема с возвратом значений при многократном вызове одной и той же функции

Итак, я делаю это домашнее задание, и мой учитель не говорит по-английски и не всегда лучше всех дает указания. Я пытаюсь написать программу, которая запрашивает промежуточный балл и итоговый балл за экзамен, а затем добавляет эти два значения для отображения общего балла.

Моя проблема в том, что он не возвращает введенные результаты или сохраняет их в соответствующих переменных, чтобы их можно было сложить вместе (иначе он всегда отображает ноль как итог)

Вот мой код:

// 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;
}

0

Решение

среднесрочный период == getNcheckScore (среднесрочный, окончательный);

Не используйте ==, это оператор сравнения. Используйте = для назначения.

1

Другие решения

Ты используешь == вместо = Вот:

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)
3

По вопросам рекламы [email protected]