/* ========================================================================== */ /* */ /* Cestovka.cpp Copyright (c) TrSek alias Zdeno Sekerak */ /* Datum:20.05.2005 http://www.trsek.com */ /* */ /* Description */ /* Program na rezervaciu dovolenkovych pobytov pre ubytovacie zariadenia */ /* */ /* O dovolenkovom pobyte su zname tieto udaje: */ /* - jednonazcny identifikator pobytu (cele cislo), */ /* - lokalita, */ /* - typ ubytovania( chata, hotel, rodinny penzion), */ /* - pocet miest, */ /* - cena za lozko/noc, */ /* - rezervacia. */ /* */ /* Program umoznuje vyhladavanie volnych pobytov v zadanej lokalite */ /* s poctom lozok vacsim alebo rovnym ako zadane cislo a s cenou mensou */ /* alebo rovnou ako zadana hodnota a rezervaciu pobytu a zrusenie rezervacie */ /* na vybrany pobyt. Na prezentaciu zoznamu pobytov je pouzity spojkovy */ /* zoznam a jednotlive polozky zaznamov maju dynamicku velkost. */ /* Vsetky zaznamy su ulozene v subore. */ /* ========================================================================== */ #include #include #include #include "define.h" #include "ubytuj.h" #include "rezerv.h" void Ubytovne(); void AddUbytovna(); void FindUbytovna(); void FindRezervacia(); void DeleteUbytovna(); void DeleteRezervacia(); void Rezervacie(); void Rezervuj(); char AnoNie(int typ); char* mscanf(); Ubytuj ubt; Rezerv rzv; char ch; // hlavny program main() { do{ clrscr(); ubt.Bar(); rzv.Bar(); printf("\n"); printf("-------------\n"); printf("1. Ubytovne\n"); printf("2. Rezervacie\n"); printf("0. Koniec\n"); printf("-------------\n"); printf("Zadaj volbu:"); ch=getch(); if(ch=='1') Ubytovne(); if(ch=='2') Rezervacie(); } while(ch!='0'); return 0; } // praca s ubytovnami void Ubytovne() { do{ clrscr(); ubt.Bar(); ubt.Show(); printf("1. Pridat novu ubytovnu\n"); printf("2. Zmazat aktualnu ubytovnu\n"); printf("3. Hladat podla kriterii\n"); printf("4. Rezervuj ubytovanie\n"); printf("5. Prejdi na prvy\n"); printf("6. Prejdi na predosly\n"); printf("7. Prejdi na nasledovny\n"); printf("8. Prejdi na posledny\n"); printf("9. Hlavne menu\n\n"); printf("Zadaj volbu:"); ch=getch(); if(ch=='1') AddUbytovna(); if(ch=='2') DeleteUbytovna(); if(ch=='3') FindUbytovna(); if(ch=='4') Rezervuj(); if(ch=='5') ubt.MoveFirst(); if(ch=='6') ubt.MovePrev(); if(ch=='7') ubt.MoveNext(); if(ch=='8') ubt.MoveLast(); } while(ch!='9'); } // zisti ci na ubytovni nevysi rezervacia // a polozi otravnu otazku ano/nie void DeleteUbytovna(void) { if( ubt.GetInt(6)!=0 ) { printf("\nNa ubytovni je rezervacia, najprv zrus rezervaciu.\n"); AnoNie(0); } else { printf("\nSi si isty ze mam zmazat ubytovnu?\n"); if( AnoNie(1)) ubt.Delete(); } } // tak zrusim rezervaciu void DeleteRezervacia() { printf("\nSi si isty ze mam zmazat rezervaciu?\n"); if( AnoNie(1)) { // najprv v ubytovniach ubt.Find(0, 1, rzv.Get(2)); ubt.OdRezervuj( rzv.GetInt(3)); rzv.Delete(); ubt.Find(-1, 0, ""); } } // pridaj ubytovnu void AddUbytovna() { clrscr(); ubt.AddNew(); printf("Zadaj ubytovnu:\n\n"); for( int i=1; i