знаю, что мой одноклассник уже опубликовал аналогичный вопрос по этой теме, но я все еще не могу окунуться в то, как это должно работать. Это файл установки, содержащий поддельную информацию студента:Поиск значений в текстовом файле
918273645,Steve,Albright,ITCS2530,MATH210,ENG140
123456789,Kim,Murphy,ITCS2530,MATH101
213456789,Dean,Bowers,ITCS2530,ENG140
219834765,Jerry,Clark,MGMT201,MATH210
По какой-то причине я только в состоянии прочитать первую строку текстового файла, а не какой-либо из приведенных ниже строк. Мне нужно выяснить, как читать первые 9 символов каждой строки и сравнивать их с пользователями. Затем переносите остальную часть этой линии. но не могу понять, куда я иду.
Это то, что я до сих пор:
void Login()
{
Student NewStudent;
ifstream inFile;
ifstream outFile;
string inFileName = "C:\\Users\\Prophet\\Desktop\\registration.txt";
string outFileName = "C:\\Users\\Prophet\\Desktop\\registration.txt";
openInputFile(inFile, inFileName);
while (true)
{
cout << "Please enter your student ID\n" << endl;
cin >> NewStudent.StudentID;
if (NewStudent.StudentID.length() == 9)
break;
else
cout << "That ID is invalid - IDs are 9 digits" << endl;
}
if (inFile.is_open())
{
while (!inFile.eof())
{
string line;
while (getline(inFile, line))
{
stringstream ss(line);
string StudentID, FirstName, LastName, ListOfCourses;
getline(ss, StudentID, ',');
getline(ss, FirstName, ',');
getline(ss, LastName, ',');
getline(ss, ListOfCourses, ',');
cout << "\n";
{
if (StudentID == NewStudent.StudentID)
{
cout << "Welcome to the Macomb Community College enrolment system " << FirstName << " " << LastName << endl;
inFile.close();
MainMenu();
}
if (StudentID != NewStudent.StudentID)
{
cout << "Welcome New student" << endl;
cout << "Please enter yuour first name: ";
cin >> NewStudent.FirstName;
cout << "Please enter yuour last name: ";
cin >> NewStudent.LastName;
outFile.open("C:\\Users\\Prophet\\Desktop\\registration.txt");
openOutputFile(outFile, outFileName);
MainMenu();
}
}
}
}
}
}
Пожалуйста, отправьте сообщение [MCVE]. Что означает 'MainMenu()' на самом деле? –
ваш код читает только один курс (как строку), а в вашем входном файле есть «список» курсов. Таким образом, следующий идентификатор студента, прочитанный из этого файла, на самом деле является курсом. –
MainMenu() - это всего лишь серия операторов switch. Я не могу понять, почему я не могу прочитать всю информацию в первой строке, например, список курсов. и почему я не могу прочитать следующую строку. ive пытались около недели. – Juan