Witam, aktualnie mam napisany programik, który dodaje elementy do wektora w taki o to sposób:
case '2':
{
Student nowy;
cout << "Podaj imie: ";
cin >> nowy.imie;
cout << "Podaj nazwisko: ";
cin >> nowy.nazwisko;
cout << "Podaj ocene: ";
cin >> nowy.ocena;
lista.push_back(nowy);
break;
}
Struktura:
struct Student
{
string imie;
string nazwisko;
int ocena;
};
Wektor:
vector<Student> lista;
Jednak chciałbym zmienić to, aby dynamicznie w case 2 był tworzony nowy obiekt strukturalny, a nie za każdym razem w pętli "Student nowy", gdyż później mam problem w wyszukiwaniu tego studenta po nazwisku w case 3:
case '3':
{
vector<Student>::iterator it;
string nazwisko;
cout << "Szukane nazwisko: ";
cin >> nazwisko;
it = find(lista.begin(), lista.end(), nazwisko);
if (it != lista.end())
{
cout << "Dane studenta: " << endl;
cout << "Imie studenta: " << (*it).imie << endl;
cout << "Nazwisko studenta: " << (*it).nazwisko << endl;
cout << "Ocena studenta: " << (*it).ocena << endl;
}
else
cout << "Nie ma studenta o podanym nazwisku!";
break;
}
Podejrzewam, że mogłoby to rozwiązać ten problem tylko nie mam pojęcia w jaki sposób to zrobić, próbowałem na wskaźnikach, ale nic się nie chciało kompilować.