void lista::usun_osobe_nazwisko(string nazwisko)
{
osoba* temp = pierwsza;
bool czy_usunieto_osobe = false;
while (temp != NULL)
{
czy_usunieto_osobe = false;
if (temp->nazwisko == nazwisko)
{
if (temp == pierwsza)
{
pierwsza = temp->nastepna;
}
else
{
osoba* usuwana = temp;
temp = temp->nastepna;
delete usuwana;
czy_usunieto_osobe = true;
}
}
if (!czy_usunieto_osobe)
{
temp = temp->nastepna;
}
}
}
Witam, mam do napisania voida, w którym usuwanę bedą wszystkie osoby o nazwisku podanym przez użytkownika. To, co na razie mam usuwa wszystkich poprawnie tylko wtedy, gdy wszystkie osoby na liscie mają wprowadzone przez użytkownika nazwiska. Jakies porady? Nie mam pojęcia za co się zabrać