Proszę o pomoc w znalezieniu błędu w kodzie.
Coś musi być chyba nie tak z dodawaniem nowego elementu listy
#include<list>
#include "Pracownik.cpp"
#include <conio.h>
void czysc_ekran(int x,int y)
{
for(int i=y;i<50;i++)
{
for(int j=x;j<x+50;j++)
{
gotoxy(j,i);
cout<<" ";
}
}
}
void wyswietl_pracownikow(list<Pracownik*>pr,int x,int y)
{
char znak;
int z=y;
list<Pracownik*>::iterator it=pr.begin();
if(it==pr.end())return;
do
{
gotoxy(x,z++);cout<<"Przewijaj strzalkami. Backspace konczy przegladanie";
gotoxy(x,z++);cout<<"Imie: "<<(*it)->getImie();
gotoxy(x,z++);cout<<"Nazwisko: "<<(*it)->getNazwisko();
gotoxy(x,z++);cout<<"Stanowisko/Dzial: "<<(*it)->getStanowisko();
znak = getch();
if(znak==80) it++;
else if(znak==72)
{
if(it==pr.begin())
{
it=pr.end();
it--;
}
else it--;
}
if(it == pr.end()) it=pr.begin();
}while(znak!=13);
getch();
}
void usun_pracownika(list<Pracownik*>pr,int x,int y)
{
string imie,nazwisko,dzial;
gotoxy(x,y);
cout<<"Podaj imie pracownika do usuniecia: ";
cin>>imie;
gotoxy(x,y+1);
cout<<"Podaj nazwisko pracownika do usuniecia: ";
cin>>nazwisko;
gotoxy(x,y+2);
cout<<"Podaj stanowisko/dzial pracownika do usuniecia: ";
cin>>dzial;
for(list<Pracownik*>::iterator it=pr.begin();it!=pr.end();it++)
{
if((*it)->getImie()==imie&&(*it)->getNazwisko()==nazwisko&&(*it)->getStanowisko()==dzial)
{
pr.erase(it);
}
}
}
void wykonaj_dzialanie(int pozycja_menu,list<Pracownik*>pr)
{
int x=25;
if(pozycja_menu==0)
{
pr.push_back(new Pracownik(30,0));
czysc_ekran(30,0);
}
if(pozycja_menu==1)
{
usun_pracownika(pr,30,0);
czysc_ekran(30,0);
///usunPracownika
}
if(pozycja_menu==2)
{
///sortujPracownikow
}
if(pozycja_menu==3)
{
wyswietl_pracownikow(pr,30,0);
czysc_ekran(30,0);
///wyswietlPracownikow
}
if(pozycja_menu==4)
{
///wyliczPensjePracownika
}
}