Rezervační systém
|
grafický interface ...
#include <Graphics.h>
Veřejné metody | |
CGraphics (void) | |
konstruktor | |
~CGraphics () | |
destruktor | |
bool | Read (std::string &strBuffer) |
přečtení řádky ze vstupu ... | |
void | Write (const char *pszBuffer) |
zapsání C-čkového řetězce na výstup ... | |
void | WriteBuses (std::list< RBusPrint > *cBuses) |
vypsání autobusů ... | |
void | WriteSeats (const char *pszPrefix, std::list< unsigned > *cSeats) |
vypsání sedadel ... | |
void | WriteBusPlan (std::string &strPlan, std::list< unsigned > *cFreeSeats, RBusPrint *cBusData, unsigned uiNumberSeats, const char *pszPrefix="Free seats: ") |
vypsání plánu autobusu ... | |
void | WriteReservation (unsigned uiId, std::list< unsigned > *cSeats, RBusPrint *prBusPrint) |
vypsání jízdenky po úspěšné rezervaci ... | |
void | WriteAddCity (unsigned uiId) |
vypsání ID nově přidaného města ... | |
void | WriteAddBus (unsigned uiId) |
vypsání ID nově přidaného autobusu ... | |
void | WriteAddPlan (unsigned uiId) |
vypsání ID nově přidaného plánu autobusu ... | |
bool | Continue (void) |
potvrzení volby ... | |
void | WriteHelp (bool fFullClient) |
vypsání nápovědy | |
void | WriteWelcome (void) |
vypsání hlavičky při spuštění | |
void | WriteDeleted (unsigned uiCount) |
vypsání počtu smazaných položek ... | |
void | WriteCities (std::vector< std::pair< std::string, std::string >> &cOut) |
vypasání existujích měst ... | |
grafický interface
Třída slouží k získávání vstupu od uživatele a sdělování zpátky výsledek. Všechny informace jsou sdělovány přes standartní vstup a výstup.
bool CGraphics::Continue | ( | void | ) |
potvrzení volby
Metoda vypíše výzvu k potvrzení, následně čeká na odpověď (vstup zůstane po konci funkce prázdný).
bool CGraphics::Read | ( | std::string & | strBuffer | ) |
přečtení řádky ze vstupu
Metoda přečte ze vstupu řádek a uloží ho do připraveného bufferu. Z řádky odstraní případný znak newline '\n'.
[out] | strBuffer | buffer k naplnění řetězcem zadaným uživatelem |
void CGraphics::Write | ( | const char * | pszBuffer | ) |
zapsání C-čkového řetězce na výstup
[in] | pszBuffer | řetězec ukončený '\0', který bude vypsán na standardní výstup |
void CGraphics::WriteAddBus | ( | unsigned | uiId | ) |
vypsání ID nově přidaného autobusu
[in] | uiId | ID nově přidaného autobusu |
void CGraphics::WriteAddCity | ( | unsigned | uiId | ) |
vypsání ID nově přidaného města
[in] | uiId | ID nově přidaného města |
void CGraphics::WriteAddPlan | ( | unsigned | uiId | ) |
vypsání ID nově přidaného plánu autobusu
[in] | uiId | ID nově přidaného plánu autobusu |
void CGraphics::WriteBuses | ( | std::list< RBusPrint > * | cBuses | ) |
vypsání autobusů
Vypsání autobusů uložených v kontejneru list, používá se pro výpis po příkazech "find" a "next".
[in] | cBuses | list struktur RBusPrint obsahující informace o vypisovaných autobusech |
void CGraphics::WriteBusPlan | ( | std::string & | strPlan, |
std::list< unsigned > * | cFreeSeats, | ||
RBusPrint * | cBusData, | ||
unsigned | uiNumberSeats, | ||
const char * | pszPrefix = "Free seats: " |
||
) |
vypsání plánu autobusu
[in] | strPlan | textová podoba plánu autobusu |
[in] | cFreeSeats | seznam volných sedadel |
[in] | cBusData | informace o autobusu |
[in] | uiNumberSeats | celkový počet sedadel autobusu |
[in] | pszPrefix | řetězec vytištěný před výpis sedadel |
void CGraphics::WriteCities | ( | std::vector< std::pair< std::string, std::string >> & | cOut | ) |
vypasání existujích měst
[in] | cOut | seznam měst k vypsání. Název města je v prvním stringu. Pokud nalezený výsledek je alias, je uložen v druhém stringu (pokud je druhý string neprázdný, vypisuje se alias a za ním město) |
void CGraphics::WriteDeleted | ( | unsigned | uiCount | ) |
vypsání počtu smazaných položek
[in] | uiCount | počet smazaných položek |
void CGraphics::WriteReservation | ( | unsigned | uiId, |
std::list< unsigned > * | cSeats, | ||
RBusPrint * | prBusPrint | ||
) |
vypsání jízdenky po úspěšné rezervaci
Po úspěšné rezervace sedadel je uživateli vystaveno potvrzení se všemi potřebnými údaji (včetně čísla zakazníka). Jejich pomocí může následně provést i zrušení rezervace.
[in] | uiId | ID zákazníka |
[in] | cSeats | seznam zarezervovaných sedadel |
[in] | prBusPrint | informace o autobusu |
void CGraphics::WriteSeats | ( | const char * | pszPrefix, |
std::list< unsigned > * | cSeats | ||
) |
vypsání sedadel
Vypsání sedadel v čitelné formě (pokud je to možné, tak rozsahem - např. místo 5 6 7 8 11 12
je uvedeno 5-8 11-12
) spolu s jejich počtem.
[in] | pszPrefix | text uvedený před seznamem sedadel |
[in] | cSeats | seznam sedadel (předpokládá se, že seznam je vzestupně setříděný a neobsahuje duplicitní záznamy) |