В настоящее время я работаю над проектом, в котором мне нужно реализовать несколько классов для имитации столовой. У каждого «студента», ожидающего в очереди, чтобы получить свою еду, есть 5 переменных, которые описывают его, а именно: имя, группа, тип основного блюда, тип закуски/десерта и число, представляющее количество салата, которое они планируют купить. в унциях. Идея состоит в том, что вся эта информация будет считываться с помощью fstream из текстового файла (при этом схема будет следовать определенному порядку и повторяться для каждого ученика). Как только каждый студент зачитан, я помещаю его в очередь, чтобы имитировать его ожидание своей очереди.
Моя проблема заключается в двух вещах: во-первых, при чтении каждой строки с помощью функции getline() я пытаюсь сохранить эту строку во временной переменной с целью ее подключения к конструктору для студенческого класса. а затем поместить эту копию в очередь. Кажется, это не разрешено, потому что, когда я пытаюсь сохранить информацию, она говорит: «Ни один оператор '=' не соответствует этим операндам».
Другая проблема, с которой я столкнулся, связана с чтением значения в унциях салата, это целочисленное значение, я искал, но не нашел способа напрямую прочитать числовое значение и передать его целочисленной переменной. Извините за длинное объяснение, но я хотел убедиться, что я понятен, любая помощь приветствуется.
Вот часть кода, где я пытаюсь это сделать:
string temp_name;
string temp_group;
string temp_entree;
string temp_snack;
int temp_salad;
string line2;
queue<student> line;
ifstream myfile ("students.txt");
if(myfile.is_open())
while(myfile.good())
{
temp_name= getline(myfile, line2);
temp_group= getline(myfile, line2);
temp_salad= getline(myfile, line2);
temp_entree= getline(myfile, line2);
temp_snack= getline(myfile, line2);
student s(temp_name, temp_group, temp_entree, temp_snack, temp_salad);
//.....
}