Program na rezerváciu dovolenkových pobytov pre ubytovacie zariadenia

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Kategória: Programy v C, C++

Program: Cestovka.cppCestovka.hRezerv.cppRezerv.hUbytuj.cppUbytuj.h
Súbor exe: Cestovka.exe
Potrebné: Define.hRezerv.datUbytovne.dat

Program na rezerváciu dovolenkových pobytov pre ubytovacie zariadenia. O dovolenkovom pobyte sú známe tieto udaje
  • jednoznačný identifikátor pobytu (celé číslo)
  • lokalita
  • typ ubytovania( chata, hotel, rodinný penzion)
  • počet miest
  • cena za lôžko/noc
  • rezervácia

Program umožnuje vyhľadávanie voľných pobytov v zadanej lokalite s počtom lôžok väčším alebo rovným ako zadané číslo a s cenou menšou alebo rovnou ako zadaná hodnota a rezerváciu pobytu a zrušenie rezervácie na vybraný pobyt. Na prezentáciu zoznamu pobytov je použitý spojkový zoznam a jednotlivé položky záznamov majú dynamickú veľkosť. Všetky záznamy sú uložené v súbore.

POZOR: Program si kladie za cieľ ukázať prácu so spojkovým zoznamom a súbormi. Nečakajte "vymakané" grafické rozhranie ani "myšoidné" ovládanie.
/* ========================================================================== */
/*                                                                            */
/*   Ubytuj.h                         Copyright (c) TrSek alias Zdeno Sekerak */
/*   Datum:20.05.2005                                    http://www.trsek.com */
/*                                                                            */
/*   Description                                                              */
/*                                                                            */
/* ========================================================================== */
 
#include "define.h"
 
 
class Ubytuj
{
 
typedef struct Zaznam
{
  int      id;          // 0-id zaznamu
  char     dlzn;        // dlzka nazvu ubytovne
  char*    nazov;       // 1-nazov ubytovne
  char     dlzl;        // dlzka lokality
  char*    lokalita;    // 2-nazov lokality
  typ_ubyt ubytuj;      // 3-sposob ubytovania
  float    cena;        // 4-cena za ubytovanie
  int      pocet;       // 5-celkovy pocet miest
  int      rezerv;      // 6-pocet rezervovanych
 
  Zaznam*    pred;        // smernik na predosli
  Zaznam*    zani;        // smernik na nasledovny
};
 
 
private:
   Zaznam* zaz;
   Zaznam* prvy;
   int  akt;
   int  pocet;
   int  max_id;
   char pom[MAX_STR];
 
   // pre potreby podmienky
   int  find_id;
   char find_sign;
   char find_meno[MAX_STR];
 
 
public:
   Ubytuj(void);
   ~Ubytuj();
 
   void  Save();
   void  Load();
   void  Insert(char id, char* meno);
   int   GetPocetId();
   char* GetName(char id);
   char* Get(char id);
   int   GetInt(char id);
   int   Rezervuj(int poc);
   int   OdRezervuj(int poc);
   void  AddNew(void);
   void  Delete(void);
   void  Show(int typ_view=0);
   void  Bar(void);
   void  Find(char id, char sign, char* meno);
   int   IsCondition(void);
   void  DeleteAll(void);
   char* GetSign(char id);
   int   CompareS(char* prvy, char* druhy, char sign);
   int   Compare(float prvy, float druhy, char sign);
 
   char* ToStr(int poc);
   char* ToStr(float poc);
   void  Chyba(char* text);
   int   GetPocet(void) { return pocet; }
   int   GetAktual(void) { return akt; }
 
   int   MoveFirst(void);
   int   MoveNext(void);
   int   MovePrev(void);
   int   MoveLast(void);
};