Witam, od dłuższego czasu siedzę i piszę mały programik sam dla siebie z czystej ciekawości i dla potrenowania. Patrzyłem na różne strony i dalej nie mogę dojść do wniosku o co chodzi, ponieważ mam liczne błędy, a nie potrafię sobie z nimi poradzić (patrz załącznik).
Oczywiście program nie jest dokończony ponieważ brakuje jeszcze kilku rzeczy z którymi uporam się w późniejszym czasie jak uda mi się dokończyć to co już mam.
Gdzie leży problem ? Co zrobiłem nie tak ?
#include <iostream>
#include <string>
#include <cstdlib>
#include <windows.h>
#include <conio.h>
using namespace std;
struct pokojeigoscie
{
string imie;
string nazwisko;
int nrpokoju;
string data;
int PESEL;
pokojeigoscie *nastepna;
pokojeigoscie();
};
pokojeigoscie::pokojeigoscie()
{
nastepna=0;
}
struct lista
{
pokojeigoscie *pierwsza;
void dodaj_rezerwacje (string imie, string nazwisko, int nrpokoju,string data,int PESEL);
void usun_rezerwacje (int nr);
void wyswietl_liste();
lista();
};
lista::lista()
{
pierwsza = 0;
}
void lista::dodaj_rezerwacje(string imie, string nazwisko, int nrpokoju, string data,int PESEL)
{
pokojeigoscie *nowa= new pokojeigoscie;
nowa->imie=imie;
nowa->nazwisko=nazwisko;
nowa->PESEL=PESEL;
nowa->nrpokoju=nrpokoju;
nowa->data=data;
if (pierwsza==0)
{
pierwsza = nowa;
}
else
{
pokojeigoscie *temp = pierwsza;
while (temp->nastepna)
{
temp= temp->nastepna;
}
temp->nastepna = nowa;
nowa ->nastepna= 0;
}
}
void lista::wyswietl_liste()
{
pokojeigoscie *temp= pierwsza;
while (temp)
{
cout<< "Imie:"<<temp->imie<< " Nazwisko: "<<temp->nazwisko<< "PESEL:"<<temp->PESEL << " Numer Pokoju: "<<temp->nrpokoju<< "Data zakonczenia pobytu: "<<temp->data<<endl;
temp=temp->nastepna;
}
}
void lista::usun_rezerwacje(int nr)
{
if (nr==1)
{
pokojeigoscie *temp= pierwsza;
pierwsza= temp-> nastepna;
}
if (nr >=2)
{
int j=1;
pokojeigoscie *temp=pierwsza;
while (temp)
{
if ((j+1)==nr) break;
else
{
temp=temp->nastepna;
}
}
if (temp->nastepna->nastepna==0)
{
temp->nastepna=0;
}
else
{
temp->nastepna= temp->nastepna->nastepna;
}
}
}
bool logowanie()
{
string a,b;
cout<<"Login:";
cin>>a;
cout<<"Haslo:";
cin>>b;
cout<<endl;
if ((a=="Admin")&&(b=="Admin"))
return 1;
else return 0;
}
int main()
{
poczatek:
cout<<" ***Aplikacja do zarzadzania goscmi i pokojami w hotelu*** "<<endl;
if (logowanie())
{
menu:
int w;
cout<< "1. Wyswietl liste gosci i pokoi";
cout<< "2. Dodaj rezerwacje ";
cout<< "3. Usun rezerwacje";
cout<<"Wybieram:"; cin>>w;
switch(w)
{
case 1:
{
cout<<"W kazdym pokoju dostepny jest TV oraz radio";
cout<<"Pokoj nr.1: Pokoj jednoosobowy z pojedynczym lozkiem i jedna lazienka";
cout<<"Pokoj nr.2: Pokoj jednoosobowy z pojedynczym lozkiem i jedna lazienka";
cout<<"Pokoj nr.3: Pokoj jednoosobowy z pojedynczym lozkiem i jedna lazienka";
cout<<"Pokoj nr.4: Pokoj jednoosobowy z pojedynczym lozkiem i jedna lazienka";
cout<<"Pokoj nr.5: Pokoj jednoosobowy z pojedynczym lozkiem i jedna lazienka";
cout<<"Pokoj nr.6: Pokoj dwuosobowy z podwójnym lozkiem i jedna lazienka";
cout<<"Pokoj nr.7: Pokoj dwuosobowy z podwójnym lozkiem i jedna lazienka";
cout<<"Pokoj nr.8: Pokoj dwuosobowy z dwoma osobnymi lozkami i jedna lazienka";
cout<<"Pokoj nr.10: Pokoj dwuosobowy z dwoma osobnymi lozkami i jedna lazienka";
cout<<"Pokoj nr.11: Pokoj trzyosobowy z jendym podwójnym lozkiem, jednym pojednyczym i jedna lazienka";
cout<<"Pokoj nr.12: Pokoj trzyosobowy z jendym podwójnym lozkiem, jednym pojednyczym i jedna lazienka";
cout<<"Pokoj nr.13: Pokoj trzyosobowy z jendym podwójnym lozkiem, jednymloojednyczym i jedna lazienka";
cout<<"Pokoj nr.14: Pokoj trzyosobowy z 3x pojedyncze lozko i jedna lazienka";
cout<<"Pokoj nr.15: Pokoj trzyosobowy z 3x pojedyncze lozko i jedna lazienka";
cout<<"Pokoj nr.16: Pokoj czterosobowy z dwoma podwojnymi lozkami i dwiema lazienkami";
cout<<"Pokoj nr.17: Pokoj czterosobowy z jednym podwojnym lozkiem, 2x pojedyncze lozko i dwiema lazienkami";
cout<<"Apartament**** 3x sypialnia goscinna, sypialnia, salon, jacuzzi, 3x lazienka, bar";
cout<<"Apartament***** 4x sypialnia goscinna, 2x sypialnia, salon, jacuzzi, 4x lazienka, bar, all inclusive";
cout<<endl;
cout<<endl;
cout<<endl;
cout<<endl;
lista::wyswietl_liste()
cout<<endl;
cout<<endl;
cout<<endl;
cout<<"Jesli chcesz wyjsc do menu glownego wcisnij ESC :";
if( getch() != 27 ) goto menu;
break;
}
case 2:
{
dodaj:
string i,n,d,num,p;
cout<<"Podaj imie:"; cin>>i;
cout<<"Podaj nazwisko:"; cin>>n;
cout<<"Podaj PESEl:"; cin>>p;
cout<<"Podaj numer pokoju:"; cin>>num;
cout<<"Podaj date zakonczenia pobytu (dd.mm.rrrr):"; cin>>d;
lista::dodaj_rezerwacje(i,n,num,d,p);
cout<<"Jesli chcesz wyjsc do menu glownego wcisnij ESC lub jesli chcesz dodac kolejnego klienta wisnij * :";
if( getch() != 27 ) goto menu;
if( getch() != * ) goto dodaj;
break;
}
}
}
else
{
system("cls");
cout<<"Bledne dane!"<<endl;
Sleep(1500);
system("cls");
goto poczatek;
}
return 0;
}