Načítanie údajov o zamestnancoch (meno, priezvisko, plat a odpracované rovky)
Delphi & Pascal (česká wiki)
Kategória: KMP (Klub mladých programátorov)
Autor: mersi
Program: Zamest.pas
Súbor exe: Zamest.exe
Autor: mersi
Program: Zamest.pas
Súbor exe: Zamest.exe
Zostavte program, ktorý bude vykonávať nasledujúce činnosti
- načítanie údajov N zamestnancov (meno, priezvisko, plat a odpracované rovky)
- zistenie priemerného platu
- zistenie najnizšieho a najvyššieho platu
- zistenie priemernej odpracovanej doby v rokoch
- zapísanie zistených údajov do textového súboru ,,vystupy.txt"
- načítanie údajov N zamestnancov (meno, priezvisko, plat a odpracované rovky)
- zistenie priemerného platu
- zistenie najnizšieho a najvyššieho platu
- zistenie priemernej odpracovanej doby v rokoch
- zapísanie zistených údajov do textového súboru ,,vystupy.txt"
{ ZAMEST.PAS Copyright (c) mersi } { } { Zostavte program, ktorý bude vykonávať nasledujúce činnosti: } { - načítanie údajov N zamestnancov (meno, priezvisko, plat } { a odpracované rovky) } { - zistenie priemerného platu } { - zistenie najnizšieho a najvyššieho platu } { - zistenie priemernej odpracovanej doby v rokoch } { - zapísanie zistených údajov do textového súboru ,,vystupy.txt" } { } { Author: mersi } { Date : 11.02.2008 http://www.trsek.com } program ZAMEST; uses Crt; const NMAX=120; type ZAMESTN=record MENO:string; PRIEZV:string; PLAT:real; DOBA:integer; end; ZAMESTNANCI=array[1..NMAX] of ZAMESTN; var N,i,C,V:integer; ZAM:ZAMESTNANCI; PPLAT,PMIN,PMAX,PLATC:real; PDOBA,CDOBA:integer; SUB:text; S:string; begin {Vnulovanie hodnot a obrazovky} ClrScr; PPLAT:=0; PLATC:=0; PMIN:=0; PMAX:=0; PDOBA:=0; CDOBA:=0; {Načítanie počtu nač. zamestnancov} Writeln('Zadajte pocet nacitavanych zamestnancov (Maximalne 120): '); repeat Readln(S); Val(S,V,C); if (C<>0) or (N<0) or (N>200) then begin Writeln('Zadali ste nespravnu hodnotu: '); Write('Zadajte pocet zamestnancov este raz: '); end; N:=V; until (N>0) and (N<=200) and (C=0); for i:=1 to N do begin Write('Zadajte meno zamestnanca: '); Readln(ZAM[i].MENO); Write('Zadajte priezvisko zamestnanca: '); Readln(ZAM[i].PRIEZV); Write('Zadajte plat zamestnanca (musi byt vacsi ako nula): '); {Repeat Readln(S); Val(S,V,C);} Readln(ZAM[i].PLAT); PLATC:=PLATC+ZAM[i].PLAT; if i=1 then PMIN:=ZAM[i].PLAT; if ZAM[i].PLAT<PMIN then PMIN:=ZAM[i].PLAT; if ZAM[i].PLAT>PMAX then PMAX:=ZAM[i].PLAT; {if (V<0) or (C<>0) then begin Writeln('Zadali ste nespravnu hodnotu !'); Write('Zadajte plat este raz: '); end; until (C<>0) or (V>0); } Write('Zadajte pocet odpracovanych rokov: '); Readln(ZAM[i].DOBA); CDOBA:=CDOBA+ZAM[i].DOBA; end; PDOBA:=CDOBA div N; PPLAT:=PLATC/N; assign(SUB,'zamestnanci.txt'); rewrite(SUB); for i:=1 to N do begin Writeln(SUB,'Meno: ',ZAM[i].MENO); Writeln(SUB,'Priezvisko: ',ZAM[i].PRIEZV); Writeln(SUB,'Plat: ',ZAM[i].PLAT); Writeln(SUB,'Odpr. roky: ',ZAM[i].DOBA); end; Writeln(SUB,'Najnizsi plat: ',PMIN); Writeln(SUB,'Najvyssi palt: ',PMAX); Writeln(SUB,'Priem. plat: ',PPLAT); Writeln(SUB,'Priem. odrp. roky: ',PDOBA); Close(SUB); Writeln('Pre ukoncenie programu stlacte ENTER !'); Readln; end.