Cześć mam do napisania kolejke dynamiczna, na wskaznikach. Jesli uzytkownik wpisze 'd' to usunac el. z kolejki i go wypisac, jesli e to wpisac cyfre np (e 9), a jezeli kolejka jest pusta wypisac "!", tym ostatnim sie jeszcze nie zajalem bo mam problem juz wczesniej. Czy powie mi ktos gdzie robie blad? Domyslam sie ze jest to spowodane tym ze nie mam wskaznika na start kolejki, ale nie jestem pewny, proszę o pomoc.
#include <iostream>
using namespace std;
struct elkol{
int cyfra;
elkol *nastepny;
};
void Dodaj (int coDodac, elkol *tail){
elkol *pkt;
pkt = tail;
tail = new elkol;
tail -> cyfra = coDodac;
tail -> nastepny = NULL;
if(pkt!=NULL){
pkt -> nastepny = tail;
}
}
int Usun(elkol *start){
if(start != NULL){
elkol *pkt;
pkt = start -> nastepny;
start=NULL;
start=pkt;
return start -> cyfra;
}
else return -999;
}
int main (){
char litera;
int dane;
elkol *tail=NULL;
elkol *start;
while(litera!='x'){
cin >> litera;
if(litera=='e'){
cin >> dane;
tail -> cyfra;
Dodaj(dane,tail);
}
else if(litera=='d'){
cout << Usun(start) << endl;
}
}
return 0;
}