Czy mógłby mi ktoś, wytłumaczyć jak mam się odnieść do konkretnego elementu w liście dwukierunkowej/jednokierunkowej. Poniżej przedstawiam mój program pobiera on uczniów ale nie mogę żadnego z nich usunąć bo nie wiem jak odnieść się do konkretnego ucznia.
#include <iostream>
#include <new>
#include <cstdlib>
using std::cin;
using std::cout;
using std::endl;
struct uczen
{
int liczba;
char nazwisko[50];
char imie[50];
int wiek;
int wzrost;
uczen *nastepny;
uczen *poprzedni;
};
int main()
{
char odp;
cout << "Czy chcesz dodac ucznia ?(T/N)" << endl;
cin >> odp;
uczen *temp;
uczen *glowa;
glowa = new uczen;
glowa ->nastepny = NULL;
glowa ->poprzedni = NULL;
while(odp!='n')
{
cout << "Podaj imie " << endl;
cin >> glowa->imie;
cout << "Podaj nazwisko " << endl;
cin >> glowa->nazwisko;
cout << "Podaj wiek " << endl;
cin >> glowa->wiek;
cout << "Podaj wzrost " << endl;
cin >> glowa->wzrost;
cout << "Czy chcesz dodac kogos nowego? n= odmowa " << endl;
cin >> odp;
}
cout << "Chcesz kogos usunac?" << endl;
cin >> odp;
if(odp=='t')
{
char a[50];
cout << "Podaj nazwisko ucznia ktorego chcesz usunac " << endl;
cin >> a;
if(a==glowa->nazwisko)
{
glowa = glowa->nastepny;
temp = glowa;
delete temp;
temp = glowa;
}
}
system ("pause");
}