— program Sklep
with Ada,Text_Io? use Ada. Text__Io;
with Kolejki;
with Pliki;
with Losowanie? — na 5
procedurę Sklep is
type Klienci is (Dziecko, Ojciec, Matka); - rodzaj klienta package Kolejka_Klientow is new Kolejki(Klienci);
Kolejka : Kolejka_Klientow,Kolejka;
Ch ; Character; — znaki czytane z wejścia
Klient : Klienci; — obsługiwany klient
Niedobrze : exception; - zly format wejścia
begin
Akcja; loop
begin — pętla wyboru akcji
Put_Line("Wybierz: nowy klient (k) , obsługa klienta (o), [na 4] zmień kolejke (z) , [na 5] losowi klienci (1) lub koniec (x)")? Get (Ch); case Ch is
when ' k1 | 'K' => — nowy klient
Put_Line("Podaj rodzaj klienta: dziecko (d), ojciec (o), matka (m)"); loop — pętla wyboru klienta (działa do momentu poprawnego wprowadzenia rodzaju klienta — lub stwierdzenia całkowitego zapełnienia sklepu) begin
Get(Ch);
case Ch |
is | ||
when |
' d1 |
' D1 |
= > Kolejka_Klientow.Wstaw(Kolejka, Dziecko); |
when |
1 o' |
1 0 1 |
-> Kolejka_Klientow Wstaw(Kolejka, Ojciec); |
when |
' m1 I |
łM' |
= > Kolejka_Klientow,Wstaw(Kolejka, Matka); |
when |
others |
-> raise Niedobrze; |
end case;
exi t; exception
when Niedobrze ->
Put_Line ( "Niedobry wybór, spróbuj jeszcze raz."); - powtarzamy wybór when Kolejka_Klientow Pełna =>
Put_Line:"Kolejka nie mieści sie w sklepie, czekamy na obsłużenia klienta"); exi t; — wracamy do wyboru akcji
end;
end loop;
-1-