program velky_projekt; uses crt; type Toddeleni=(sprava_infrastruktury, vyvoj, podpora_zakazniku, prodej,udrzba); Tpozice=(sitovy_specialista,programator, datovy_analytik, datovy_specialista, technik_ICT,prodejce, helpdesk_asistent); Tzamestnanec= record jmeno,prijmeni:string[15]; pohl:byte; roknar:word; oddeleni:Toddeleni; pozice:Tpozice; plat:real; roknastupu:word; end; Tsoubor=file of Tzamestnanec; procedure vypis_zamestnance(zamestnanec:Tzamestnanec); begin clrscr; writeln('Jmeno a prijmeni:',zamestnanec.jmeno, ' ', zamestnanec.prijmeni); If zamestnanec.pohl=1 then writeln('Pohlavi: Muz') else writeln('Pohlavi: Muz'); writeln('Rok narozeni:',zamestnanec.roknar); case zamestnanec.oddeleni of sprava_infrastruktury: writeln('Oddeleni: Sprava infrastruktury'); vyvoj: writeln('Oddeleni: Vyvoj'); podpora_zakazniku: writeln('Oddeleni: Podpora zakazniku'); prodej:writeln('Oddeleni: Prodej'); udrzba: writeln('Oddeleni: Udrzba'); end; case zamestnanec.pozice of sitovy_specialista: writeln('Pozice: Sitovy splecialista'); programator: writeln('Pozice: Programator'); datovy_analytik: writeln('Pozice: Datovy analytik'); datovy_specialista: writeln('Pozice: Datovy splecialista'); technik_ICT: writeln('Pozice: Technik ICT'); prodejce: writeln('Pozice: Prodejce'); helpdesk_asistent: writeln('Pozice: Helpdesk'); end; writeln('Plat:',zamestnanec.plat:10:1); writeln('Rok nastupu:',zamestnanec.roknastupu); repeat until keypressed; end; Procedure nactizam(var zamestnanec:Tzamestnanec); var pom:byte; begin clrscr; write('Jmeno:'); readln(zamestnanec.jmeno); write('Prijmeni:');readln(zamestnanec.Prijmeni); write('Pohlavi (Muz = 1, Zena = 0 ):');readln(zamestnanec.jmeno); write('Rok narozeni:');readln(zamestnanec.roknar); write('Oddeleni (1 az 5):');readln(pom); zamestnanec.oddeleni:=Toddeleni(pom); write('Pozice (1 az 7):');readln(pom); zamestnanec.pozice:=Tpozice(pom); write('Plat:');readln(zamestnanec.plat); write('Rok nastupu:');readln(zamestnanec.roknastupu); end; procedure pisdata(var f:Tsoubor); var zam:Tzamestnanec; begin reset(f); while not eof(f) do begin read(f,zam); vypis_zamestnance(zam); end; close(f); end; procedure zmen_soubor(var f:Tsoubor); begin write('zadej nazev souboru:'); readln(nazev); assign(f,nazev); reset(f); close(f); end; procedure vytvor_soubor(var f:Tsoubor); var nazev:string[20]; begin clrscr; write('zadej nazev souboru:'); readln(nazev); assign(f,nazev); rewrite(f); close(f); end; procedure pridej_data(var f:Tsoubor); var zam:Tzamestnanec; begin nactizam(zam); reset(f); seek(f,fileSize(f)); write(f,zam); close(f); end; var cislo:byte; x:Tsoubor; begin repeat writeln('1 ... zmen soubor'); writeln('2 ... vypis data'); writeln('3 ... uprav data'); writeln('4 ... pridej zaznam'); writeln('5 ... vytvor soubor'); writeln('0 ... ukonci'); readln(cislo); clrscr; case cislo of 1:zmen_soubor(x); 2:pisdata(x); 4:pridej_data(x); 5:vytvor_soubor(x); end; until cislo=0 end.