поэтому у меня есть класс Result, который принимает входные данные из файла и отправляет входные данные другому классу Unit, чтобы прочитать некоторые детали этого класса модулей и вывести его в файл. Все работает отлично, все детали отображаются правильно. Теперь я создал еще один класс UnitCoordin (для Unit Coordinator), и этот класс принимает некоторые дополнительные входные данные из файла и сохраняет его в своем объекте в классе Unit, так что у каждого Unit есть координатор Unit.
Программа читает правильно, до тех пор, пока она не должна читать в моем классе координатора юнитов. Я знаю это, потому что в моем выходном файле все значения для Unit отображаются правильно, пока не дойдут до деталей моего Unit Unit Coordinator, в котором все беспорядок. Возможно, это немного сбивает с толку, но, пожалуйста, прочитайте мой код и файлы и попытайтесь понять. Я предполагаю, что это как-то связано с моими утверждениями input.ignore, но я попытался переместить их и поместить их точно туда, где это имеет смысл, но, похоже, ничего не работает. Пожалуйста, помогите
UNIT. cpp метод ввода:
void UNIT::SetUnit(istream &input){
string nam;
string idd;
unsigned cred;
UnitCoordin unitcoordinator1;
getline(input,nam);
input.ignore(0, '\n');
getline(input,idd);
input.ignore(0, '\n');
input >> cred;
input.ignore(0, '\n'); // up until here the values are read correctly
input >> unitcoordinator1;
input.ignore(0, '\n');
SetName(nam);
SetID(idd);
SetCredits(cred);
SetUnitCoordinator(unitcoordinator1);
}
UnitCoordin. cpp:
void UnitCoordin::SetUnitCoordin(istream &input){
string name2;
unsigned roomno2;
long telephoneno2;
string email2;
getline(input,name2);
input.ignore(0, '\n');
getline(input,email2);
input.ignore(0, '\n');
input >> roomno2 >> telephoneno2;
input.ignore(0, '\n');
SetCoordinatorName(name2);
SetEmail(email2);
SetRoom(roomno2);
SetTelephone(telephoneno2);
}
Выходной файл:
Student ID: 102234
Semester: 962
Unit ID: ICT283
Unit Name: Data Structures and Abstractions
Credits: 3
Unit Coordinator:
Room Number: 0
Telephone: 7532268
Email: Shri Rai
Marks: 12453264
Date: 7532268 7532624
Unit ID:
Unit Name:
Credits: 4293836982
Unit Coordinator:
Room Number: 0
Telephone: 7532268
Email:
Marks: 4421840
Date: 7532268 7532624
Unit ID:
Unit Name:
Credits: 4293836982
Unit Coordinator:
Room Number: 0
Telephone: 7532268
Email:
Marks: 4421840
Date: 7532268 7532624
Number of units = 3
Как вы можете видеть, вплоть до 'Credits' в моем первом объекте, выводимом в выходной файл, он прочитал нормально, а потом все испортилось.