Daszbin Ответов: 2

Мне нужна помощь с оценкой тестов проекта C++


Ладно у меня есть проблема с моим кодом мне нужно

чтобы прочитать из файла, который получает 4 тестовых балла из текстового файла, а затем оценить этот балл

Вот инструкция:
Each line represents the four tests taken by students in a class during the semester.  You need to calculate the average for each student in the class by reading in the file.  Display the average for each student, a space, and with their letter grade.


Содержимое файла приведено ниже

44 55 77 88
79 88 100 99
77 99 98 99
100 88 89 100
55 56 40 77
100 100 99 95
88 84 87 88
96 97 99 100
30 44 77 55
79 77 88 0
54 52 60 77
88 77 88 77
44 77 10 95


вывод должен быть таким, как показано на рисунке ниже
[^]

Пожалуйста кто нибудь помогите мне у меня осталось 3 попытки

Что я уже пробовал:

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


double calculateAvg(int studentNum)
{
fstream infile("grades.txt",ios::in);
if(!infile){cout<<"file could not be found!";exit(1);}

double sum = 0; //sum of all test scores
double testScore; //individual student test score
int i = 0;

 while( i < 4 ) {
      infile >> testScore;
 sum = sum + testScore;
      i++;
   }

 infile.close();

return sum/4.0;
 

}

void printGrade(double average)
{
if (average >= 90)
cout << "A" << endl;
 else if (average >= 80)
cout << "B" << endl;
 else if (average >= 70)
cout << "C" << endl;
else if (average >= 60)
cout << "D" << endl;
else
cout << "F" << endl;
}

int main()
{
const int NUM_OF_STUDENTS = 0;
double averages[NUM_OF_STUDENTS];
//calculates and stores 10 students averages
int i = 0;

while(i<NUM_OF_STUDENTS) {
    averages[i] = calculateAvg(i);
      i++;
       
   }
  cout<<(averages[i])<<" ";
printGrade(averages[i]);
}

2 Ответов

Рейтинг:
1

Richard MacCutchan

const int NUM_OF_STUDENTS = 0;
double averages[NUM_OF_STUDENTS];

Как вы думаете, сколько именно элементов будет выделено вашему averages массив?


Рейтинг:
0

Patrice T

Цитата:
Ладно у меня проблема с моим кодом

Да, какой вопрос ?

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

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.

Отладчик-Википедия, свободная энциклопедия[^]

Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.