Parametry programu:
kapacita autobusu je uložena v konstantě
cena plného a dětského jízdného je uložena v konstantě
jednotlivá sedadla jsou prvky celočíselného pole; na začátku je pole vyplněné samými nulami (to značí, že sedadlo není obsazené)
při nástupu se cestujícího program ptá, kolik lístků za plné jízdné a kolik lístků za dětské jízdné chce koupit
dále se ptá, kolik zastávek chce jet
na základě těchto informací se vygenerují jízdenky
každá jízdenka obsahuje číslo sedadla a cenu (cena jízdného * počet zastávek)
při generování sedadla se prochází pole sedadel -> když se narazí na prvek s hodnotou 0 (= prázdné sedadlo), tak se obsadí
do pole se uloží počet zastávek, tzn. pokud dostane cestující sedadlo 1, tak v poli pod indexem 0 bude počet zastávek, které chce absolvovat
Co by mohlo být ve funkci:
nulování sedadel
vypisování lístku
hledání volného sedadla
obsazení sedadla
Jak to bude fungovat:
dokud budou nastupovat cestující, tak se budou obsazovat sedadla a generovat lístky -> řidič autobusu po každém cestujícím musí zadat, zda nastupuje ještě někdo
při překročení kapacity autobusu nenastupuje nikdo
Ukázka výstupu:
Pocet listku za dospele jizdne: 3
Pocet zastavek: 4
**************************
Sedadlo: 1
Cena: 40
**************************
**************************
Sedadlo: 2
Cena: 40
**************************
**************************
Sedadlo: 3
Cena: 40
**************************
Pocet listku za detske jizdne: 2
**************************
Sedadlo: 4
Cena: 24
**************************
**************************
Sedadlo: 5
Cena: 24
**************************
Dalsi nastupujici? (a/n) a
Pocet listku za dospele jizdne: 1
Pocet zastavek: 2
**************************
Sedadlo: 6
Cena: 20
**************************
Pocet listku za detske jizdne: 0
Dalsi nastupujici? (a/n) n
Nové funkcionality:
program už bude umět objíždět zastávky (počet zastávek bude uložen v konstantě)
na každé zastávce se sníží cestujícím počet zbývajících zastávek o jedna (tzn. když se počet zbývajících zastávek cestujícího sníží na 0, tak to znamená, že vystoupil)
pro kontrolu je možné si na každé zastávce zobrazit zobrazení sedadel
Ukázka výstupu:
1. zastávka
**************************************
Sedadla: 0 0 0 0 0 0 0 0 0 0
**************************************
Pocet listku za dospele jizdne: 5
Pocet zastavek: 3
**************************
Sedadlo: 1
Cena: 30
**************************
**************************
Sedadlo: 2
Cena: 30
**************************
**************************
Sedadlo: 3
Cena: 30
**************************
**************************
Sedadlo: 4
Cena: 30
**************************
**************************
Sedadlo: 5
Cena: 30
**************************
Pocet listku za detske jizdne: 1
**************************
Sedadlo: 6
Cena: 18
**************************
Dalsi nastupujici? (a/n) n
2. zastávka
**************************************
Sedadla: 2 2 2 2 2 2 0 0 0 0
**************************************
Pocet listku za dospele jizdne: 0
Pocet listku za detske jizdne: 2
Pocet zastavek: 3
**************************
Sedadlo: 7
Cena: 18
**************************
**************************
Sedadlo: 8
Cena: 18
**************************
Dalsi nastupujici? (a/n) n
3. zastávka
**************************************
Sedadla: 1 1 1 1 1 1 2 2 0 0
**************************************
Pocet listku za dospele jizdne: 1
Pocet zastavek: 1
**************************
Sedadlo: 9
Cena: 10
**************************
Pocet listku za detske jizdne: 0
Dalsi nastupujici? (a/n) a
Pocet listku za dospele jizdne: 1
Pocet zastavek: 3
**************************
Sedadlo: 10
Cena: 30
**************************
Pocet listku za detske jizdne: 2
Preplneny autobus! Nikdo nenastupuje.
Dalsi nastupujici? (a/n) n
4. zastávka
**************************************
Sedadla: 0 0 0 0 0 0 1 1 0 2
**************************************
Pocet listku za dospele jizdne: 7
Pocet zastavek: 5
**************************
Sedadlo: 1
Cena: 50
**************************
**************************
Sedadlo: 2
Cena: 50
**************************
**************************
Sedadlo: 3
Cena: 50
**************************
**************************
Sedadlo: 4
Cena: 50
**************************
**************************
Sedadlo: 5
Cena: 50
**************************
**************************
Sedadlo: 6
Cena: 50
**************************
**************************
Sedadlo: 9
Cena: 50
**************************
Pocet listku za detske jizdne: 0
Dalsi nastupujici? (a/n) n
5. zastávka
**************************************
Sedadla: 4 4 4 4 4 4 0 0 4 1
**************************************
Pocet listku za dospele jizdne: 1
Pocet zastavek: 1
**************************
Sedadlo: 7
Cena: 10
**************************
Pocet listku za detske jizdne: 1
**************************
Sedadlo: 8
Cena: 6
**************************
Dalsi nastupujici? (a/n) n
**************************************
Sedadla: 4 4 4 4 4 4 1 1 4 1
**************************************
Nové funkcionality:
program musí hlídat počet zadávaných zastávek (cestující nesmí jet dál, než je konečná autobusu) – program se ptá uživatele na počet zastávek tak dlouho, než uživatel napíše validní hodnotu
pokud je autobus plný, tak se neptá uživatele, zda někdo nastupuje
Ukázka výstupu:
1. zastávka
**************************************
0 0 0 0 0 0 0 0 0 0
**************************************
Pocet listku za dospele jizdne: 5
Zadejte validni pocet zastavek: 10
Zadejte validni pocet zastavek: 4
**************************
Sedadlo: 1
Cena: 40
**************************
**************************
Sedadlo: 2
Cena: 40
**************************
**************************
Sedadlo: 3
Cena: 40
**************************
**************************
Sedadlo: 4
Cena: 40
**************************
**************************
Sedadlo: 5
Cena: 40
**************************
Pocet listku za detske jizdne: 3
**************************
Sedadlo: 6
Cena: 24
**************************
**************************
Sedadlo: 7
Cena: 24
**************************
**************************
Sedadlo: 8
Cena: 24
**************************
Dalsi nastupujici? (a/n) a
Pocet listku za dospele jizdne: 2
Zadejte validni pocet zastavek: 1
**************************
Sedadlo: 9
Cena: 10
**************************
**************************
Sedadlo: 10
Cena: 10
**************************
Pocet listku za detske jizdne: 3
Preplneny autobus! Nikdo nenastupuje.
2. zastávka
**************************************
3 3 3 3 3 3 3 3 0 0
**************************************
Pocet listku za dospele jizdne: 2
Zadejte validni pocet zastavek: 3
**************************
Sedadlo: 9
Cena: 30
**************************
**************************
Sedadlo: 10
Cena: 30
**************************
Pocet listku za detske jizdne: 0
3. zastávka
**************************************
2 2 2 2 2 2 2 2 2 2
**************************************
4. zastávka
**************************************
1 1 1 1 1 1 1 1 1 1
**************************************
KONEČNÁ! VYSTUPOVAT!
**************************************
0 0 0 0 0 0 0 0 0 0
**************************************