{Autor: Stanislav Chromcak Kontakt: ANCHOR@POST.CZ WWW: http://freeweb.coco.cz/ANCHOR/pascal/ Tento soubor je soucasti projektu PASCAL V PRIKLADECH } {Program demonstruje osetreni vstupu a vystupu vyctoveho typu. Uzivatel zadava cislo mesice. To je prevedeno na vyctovy typ mesic. Pote je vypsano hlaseni o tom, ktery mesic byl zadan. Pro pripad zadani jineho cisla mesice nez je 1-12, je zaveden "mesic" Error. Testovani mesice na stav Error umozni vypsat chybove hlaseni.} uses crt; type tMonth=(Leden,Unor,Brezen,Duben,Kveten,Cerven, Cervenec,Srpen,Zari,Rijen,Listopad,Prosinec, Error); {Vyctovy typ mesic, doplnen o "mesic" Error, znacici chybovy stav} var Mesic:tMonth; Procedure CtiMesic(var Mesic:tMonth); {Procedura nacte cislo mesice a prevede jej na vyctovy typ tMonth. Zada-li uzivatel cislo mimo interval <1;12>, nastavi se hodnota mesice na Error.} var Mes:byte; begin {CtiMesic} write('Zadejte cislo mesice: '); readln(Mes); case Mes of 1: Mesic:=Leden; 2: Mesic:=Unor; 3: Mesic:=Brezen; 4: Mesic:=Duben; 5: Mesic:=Kveten; 6: Mesic:=Cerven; 7: Mesic:=Cervenec; 8: Mesic:=Srpen; 9: Mesic:=Zari; 10: Mesic:=Rijen; 11: Mesic:=Listopad; 12: Mesic:=Prosinec; else Mesic:=Error; end; {case} end; {CtiMesic} Procedure PisMesic(Mesic:tMonth); {Procedura vypise hodnotu mesice. Vypisuji se jen skutecne mesice, osetreni chyboveho stavu probiha vne teto procedury.} begin {PisMesic} case Mesic of Leden: write('Leden'); Unor: write('Unor'); Brezen: write('Brezen'); Duben: write('Duben'); Kveten: write('Kveten'); Cerven: write('Cerven'); Cervenec: write('Cervenec'); Srpen: write('Srpen'); Zari: write('Zari'); Rijen: write('Rijen'); Listopad: write('Listopad'); Prosinec: write('Prosinec'); end; {case} end; {PisMesic} begin clrscr; {Smaz obrazovku} CtiMesic(Mesic); {Nacti mesic} writeln; {Prejdi na novy radek} if Mesic<>Error then begin {Byl-li zadan spravny mesic} write('Zadali jste mesic '); { Vypsani } PisMesic(Mesic); { } writeln('.'); { zpravy.} end else writeln('Zadali jste peknou blbost.'); {Vypis chyboveho hlaseni} writeln; {Prejdi na novy radek} writeln('Stisknete ENTER k ukonceni programu.'); {Vypis informacni udaj} readln; {Cekej na stisk ENTER} end.