Я кодирую программу, которая читает из текстового файла из нескольких строк чисел, состоящего из 4 столбцов, предназначенных для представления 4 тестов, проведенных несколькими учениками в одном классе.Ошибка странного кодирования в C++
После прочтения строки, программа должна рассчитывать среднее значение для каждого ученика, а затем давать им оценку в виде письма. Я закодировал это, чтобы сделать это. Проблема заключается в том, что среднее значение рассчитывается без проблем, а уровень письма первого ученика не будет отображаться. Есть ли ошибка, которую я забыл?
Вот код:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream calcGrades;
calcGrades.open ("grades.txt");
int test1, test2, test3, test4;
int studentNum = 1;
while(calcGrades.good())
{
calcGrades >> test1 >> test2 >> test3 >> test4;
int average = (test1 + test2 + test3 + test4)/4;
char letterGrade;
if(average<60)
letterGrade='F';
if(average<=60 && average<70)
letterGrade='D';
if(average>=70 && average<80)
letterGrade='C';
if(average>=80 && average<90)
letterGrade='B';
if(average>=90)
letterGrade='A';
cout << "Student " << studentNum
<< "'s average is " << average
<< " they currently have a " << letterGrade
<< "." << endl;
studentNum++;
}
return 0;
}
А вот содержание файла он читает из:
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
Спасибо за любую помощь, оказанную, я был мучительный над этим и я просто не вижу, что пошло не так.
Смотрите также http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong – user657267
не знаю, кто проголосовали за закрытие этого из-за отсутствия информации, не содержащей кода. Четко обозначен наблюдаемый выход, код MCVE и входные данные. Скорее, он должен быть отмечен должным образом и невоспроизводимым после того, как указанная опечатка будет рассмотрена. – WhozCraig
«Я закодировал это, чтобы сделать это». - Компьютеры делают ** точно ** то, что мы им говорим. Если наблюдаемый результат не соответствует ожиданиям, мы не сказали им, что, по нашему мнению, мы им сказали, и должны * проверить наши предположения *. ;-) – DevSolar