Cześć. Mam problem z wektorami.
Otóż, wczytuję z pliku dane:
// /////////////////////////////////////////////////////////////////////////// //
// ODCZYT BAZY STUDENTOW //
// /////////////////////////////////////////////////////////////////////////// //
ifstream odczyt;
odczyt.open("students_database.txt");
if (!odczyt) {
cerr << "Blad przy otwieraniu pliku" << endl;
return 1; // if this is main
}
Student temp;
while (odczyt >> temp.imie >> temp.nazwisko >> temp.grupa >> temp.album) {
student.push_back(temp);
}
// /////////////////////////////////////////////////////////////////////////// //
// WYPISANIE STUDENTOW Z PLIKU TXT //
// /////////////////////////////////////////////////////////////////////////// //
cout << "\n[STUDENCI] LISTA:" << endl;
cout << "NR ALBUMU IMIE NAZWISKO GRUPA\n" << endl;
for (const auto &user : student) {
cout <<
user.album << ' ' <<
user.imie << ' ' <<
user.nazwisko << ' ' <<
user.grupa << ' ' << endl;
};
i teraz chciałabym mieć możliwość dodania na przykład nowego studenta.
W moich poprzednich zadaniach do nauki robiłam to w ten sposób - tutaj zadeklarowany jest dodatkowo wskaźnik, a wczytując z pliku - nie:
cout << "[INFO] PODAJ ALBUM:" << endl;
cin >> album;
for(vector<Student*>::iterator it1 = a->student.begin(); it1 != a->student.end(); it1++)
{
if((*it1)->album == album)
{
cout << "[ERROR] BLAD! ALBUM JEST JUZ W BAZIE DANYCH!" << endl;
break;
}
Jak - wczytując dane z pliku w wyżej wymieniony sposób, mogę na nich operować? Proszę o porady, dopiero przyswajam wektory.