Я изучаю основы C++ в колледже и полностью застрял на одном из своих заданий.
Мне нужно прочитать ввод из файла со списком (1-25) имен, отсортировать имена по алфавиту, а затем вывести, какие люди будут в начале очереди (например, Эми) и в конце очереди. (пример: Зора). Мой профессор очень разборчив и строго запрещает нам использовать то, что мы не выучили на уроках. Мы изучили только cin, cout, операторы if, циклы, основные операторы, fstream и базовую строку.
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
//Intialize variables
string studentName;
string firstEntry;
string secondEntry;
string first;
string last;
ifstream inputFile;
string filename;
int students;
//Ask for amount of students
cout << "Please enter the number of students in the class.\n(The number must be a whole number between 1 and 25.)\n";
cin >> students;
//Input validation
while (students < 1 || students > 25)
{
cout << "\nInvalid value. Please enter a value between 1 and 25.\n";
cin >> students;
}
//Get file name from user
cout << "Please enter the name of the file with the list of students\n";
cin >> filename;
//Open the file
inputFile.open(filename);
if (inputFile)
{
while (inputFile >> studentName)
{
cin >> studentName;
studentName = firstEntry;
cin >> studentName;
studentName = secondEntry;
if (firstEntry < secondEntry)
{
firstEntry = first;
secondEntry = last;
}
}
cout << first << " is the first student in line.";
cout << last << " is the last student in line.";
}
else
{
cout << "Error opening the file.\nPlease restart the program and try again.";
return 1;
}
inputFile.close();
return 0;
}
Также вот файл, из которого я читаю:
Джеки
Сэм
Том
Счет
Мэри
Павел
Зев
Барб
В основном я зациклен на чтении файла и интерпретации части данных.