Я пытаюсь прочитать несколько строк чисел из текстового документа, и я не уверен, какой тип объявления использовать, не приводя к подгонке программы. Есть ли способ обойти эту ошибку?
#include <iostream>
#include <cmath>
#include <fstream>
using namespace std;
char studentlettergrade1, StudentGradingFunction1 (int, int, int);
int main()
{
int score1, score2, score3, studentIDnumber1, studentaverage1, num1, num2, num3;
ifstream input;
ofstream output;
// Open Score file
input.open("StudentInfo.txt");
output.open("StudentGrades.txt");
// Read in student scores
while (studentIDnumber1 > 0)
{
input << studentIDnumber1 << score1 << score2 << score3;
studentlettergrade1 = StudentGradingFunction1 (score1, score2, score3);
output << studentIDnumber1 << studentlettergrade1;
}
input.close();
output.close();
}
char StudentGradingFunction1 (int num1, int num2, int num3)
{
int studentaverage1;
studentaverage1 = (num1 * .3 + num2 * .3 + num3 * .4) * 100;
if (studentaverage1 >= 90 && studentaverage <= 100)
studentlettergrade1 = A;
else if (studentaverage1 >= 80 && studentaverage1 <= 89.99)
studentlettergrade1 = B;
else if (studentaverage1 >= 70 && studentaverage1 <= 79.99)
studentlettergrade1 = C;
else if (studentaverage1 >= 60 && studentaverage1 <= 69.99)
studentlettergrade1 = D;
else if (studentaverage1 < 60)
studentlettergrade1 = F;
return studentlettergrade1;
}
РЕДАКТИРОВАТЬ: я изменил свой код, так что пока l oop работает лучше, но я пытаюсь добавить условие, когда программа читает новая строка, которую он зарегистрирует, но программа не принимает то, что я пробовал. Я попробовал следующие идеи:
while ( input >> studentIDnumber1 >> score1 >> score2 >> score3 >> char delim )
{
studentlettergrade1 = StudentGradingFunction1 (score1, score2, score3);
output << studentIDnumber1 << studentlettergrade1 << '\n';
}
input.close();
output.close();
cout << "The process has been completed and the grades can be found in StudentGrades.txt " << endl;
}
Или вот это:
while ( input >> studentIDnumber1 >> score1 >> score2 >> score3 >> '\n' )
{
studentlettergrade1 = StudentGradingFunction1 (score1, score2, score3);
output << studentIDnumber1 << studentlettergrade1 << '\n';
}
input.close();
output.close();
cout << "The process has been completed and the grades can be found in StudentGrades.txt " << endl;
}
Ни одна из них, похоже, не работает. Есть идеи?