C ++ Как мне это исправить

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

// Function prototype
void getScore(int& score, ifstream& inFile);
void calcAverage(int testScr1, int testScr2, int testScr3, int testScr4, int testcr5);
int findLowest(int testScr1, int testScr2, int testScr3, int testScr4, int testScr5);
int grades(int testScr1, int testScr2, int testScr3, int testScr4, int testScr5);
int main()
{
ifstream inFile;
inFile.open("grades.txt");
int lowest = 100;
int testScr1, testScr2, testScr3, testScr4, testScr5;getScore(testScr1, inFile);
if (testScr1 < lowest)
{
lowest = testScr1;
}
getScore(testScr2, inFile);
if (testScr2 < lowest)
{
lowest = testScr2;
}
getScore(testScr3, inFile);
if (testScr3 < lowest)
{
lowest = testScr3;
}
getScore(testScr4, inFile);
if (testScr4 < lowest)
{
lowest = testScr4;
}
getScore(testScr5, inFile);
if (testScr5 < lowest)
{
lowest = testScr5;
}
calcAverage(testScr1, testScr2, testScr3, testScr4, testScr5);

inFile.close();

return lowest;
}

void getScore(int& score, ifstream& inFile)
{
inFile >> score;
}void calcAverage(int testScr1, int testScr2, int testScr3, int testScr4, int testScr5)
{
int sum = 0;
int lowest;
double average;

lowest = findLowest(testScr1, testScr2, testScr3, testScr4, testScr5);

sum = testScr1 + testScr2 + testScr3 + testScr4 + testScr5 - lowest;
average = sum / 4.0;

cout << setw(4) << fixed << showpoint << setprecision(2);
cout << "The avergae of the four highest scores are: " << average << endl;
}

int findLowest(int testScr1, int testScr2, int testScr3, int testScr4, int testScr5)
{
int lowest = testScr1;

cout << "The lowest test score is: " << lowest << endl;

return lowest;
}

Вот моя проблема .. Эта программа читает текстовый файл с 5 классами в нем. Предполагается вернуть наименьшую оценку, а затем сообщить среднюю оценку за 4 оставшиеся оценки, которые он, по-видимому, делает. Проблема, с которой я столкнулся, заключается в том, что внизу я почти уверен, что говорю программе, чтобы она считывала обратно testScr1 как всегда самый низкий. Это не мое желание, и я уверен, что это последняя проблема. Я не знаю, как решить эту проблему. Я новичок в программировании, поэтому код, вероятно, не выглядит лучшим в мире, и решение, вероятно, легко, но я не вижу его.

-6

Решение

Вы действительно должны попробовать использовать отладчик для пошагового выполнения вашего кода, что поможет вам проверить ваши подозрения.

Тем не менее, ваш инстинкт был верным. Вы всегда назначаете testScr1 в lowest, Вы уже рассчитали стоимость lowest как вы читаете 5 классов, так что можете либо угробить эту часть и исправить findLowest() или канава findLowest(),

3

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


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector