Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program rekordy;
- uses crt;
- type
- dziennik=record
- nr : byte;
- nazwisko : string[20];
- ocena_polski : byte;
- ocena_matematyka : byte;
- ocena_mepr : byte;
- srednia : real;
- end;
- const
- n = 3;
- var osoba : array [1..n] of dziennik;
- wybor,nrOsoby,iloscPrzedmiotow : byte;
- procedure menu;
- begin
- writeln('1 - wypelnij danej jednej osoby');
- writeln('2 - wyswietl dane jednej osoby');
- writeln('3 - wyswietl dane wszystkich osob');
- writeln('4 - wyswielt dane osoby o najwiekszej sredniej');
- writeln('5 - wyswietl dane osoby o najmniejszej sredniej');
- writeln('6 - usun rekord');
- writeln('7 - wyjscie');
- write('Twoj wybor: ');read(wybor);
- end;
- procedure jednaOsobaWpr;
- var x,jest : byte;
- begin jest:=0;
- for x:=1 to n do begin
- if osoba[x].nr=0 then begin jest:=1;break;end;end;
- if jest=1 then begin
- write('Podaj numer osoby: ');readln(osoba[x].nr);
- write('Wpisz nazwisko: ');readln(osoba[x].nazwisko);
- write('Wpisz ocene z polskiego: ');readln(osoba[x].ocena_polski);
- write('Wpisz ocene z matematyki: ');readln(osoba[x].ocena_matematyka);
- write('Wpisz ocene z mepr-u: ');readln(osoba[x].ocena_mepr);
- osoba[x].srednia:=(osoba[x].ocena_polski+osoba[x].ocena_matematyka+osoba[x].ocena_mepr)/iloscPrzedmiotow;
- write('Dodano.')
- end ELSE write('Dziennik zapelniony (liczba osob)');
- end;
- procedure jednaOsobaZcz;
- var x,jest : byte;
- begin jest:=0;
- write('Podaj nr osoby: ');read(nrOsoby);
- for x:=1 to n do begin
- if osoba[x].nr = nrOsoby then begin
- write('Nr ',nrOsoby,' to ',osoba[x].nazwisko);
- write(' ocena z polskiego: ',osoba[x].ocena_polski);
- write(' ocena z matematyki: ',osoba[x].ocena_matematyka);
- writeln(' ocena z mepr-u: ',osoba[x].ocena_mepr);write('srednia: ',osoba[x].srednia:2:2);
- jest:=1;break;
- end;
- end;if jest=0 then write('Nie ma ucznia o takim numerze.');
- end;
- procedure wysWszystkich;
- var x,jest : byte;
- begin jest:=0;
- for x:=1 to n do begin
- if osoba[x].nr<>0 then begin
- write('Nr ',osoba[x].nr,' to ',osoba[x].nazwisko);
- write(' ocena z polskiego: ',osoba[x].ocena_polski);
- write(' ocena z matematyki: ',osoba[x].ocena_matematyka);
- writeln(' ocena z mepr-u: ',osoba[x].ocena_mepr);write('srednia: ',osoba[x].srednia:2:2);writeln;
- jest:=1;
- end;
- end;if jest=0 then write('Pusto...');
- end;
- procedure najwiekszaSr;
- var x,poz,jest : byte;
- max : real;
- begin jest:=0;max:=0;
- for x:=1 to n do begin
- if (osoba[x].srednia>max)AND(osoba[x].srednia<>0) then begin max:=osoba[x].srednia;poz:=x;jest:=1;end;
- end;
- if jest = 1 then begin write('Najwieksza srednia ma nr ',osoba[poz].nr,'. (',osoba[poz].nazwisko);
- write(') i wynosi ona: ',osoba[poz].srednia:2:2);end
- ELSE write('Pusto...');
- end;
- procedure najmniejszaSr;
- var x,poz,jest : byte;
- min : real;
- begin jest:=0;min:=255;
- for x:=1 to n do begin
- if (osoba[x].srednia<min)AND(osoba[x].srednia<>0) then begin min:=osoba[x].srednia;poz:=x;jest:=1;end;
- end;
- if jest = 1 then begin write('Najmniejsza srednia ma nr ',osoba[poz].nr,'. (',osoba[poz].nazwisko);
- write(') i wynosi ona: ',osoba[poz].srednia:2:2);end
- ELSE write('Pusto...');
- end;
- procedure usunRekord;
- var x,jest,schowekNumer : byte;
- schowekNazwisko : string[20];
- begin jest:=0;write('Podaj nr osoby: ');read(nrOsoby);
- for x:=1 to n do begin
- if osoba[x].nr=nrOsoby then begin
- schowekNumer:=osoba[x].nr;osoba[x].nr:=0;schowekNazwisko:=osoba[x].nazwisko;
- osoba[x].nazwisko:='';osoba[x].ocena_polski:=0;
- osoba[x].ocena_matematyka:=0;osoba[x].ocena_mepr:=0;osoba[x].srednia:=0;jest:=1;
- break;
- end;
- end;
- if jest=0 then write('Nie ma osoby o tym numerze') ELSE begin write('Numer ',schowekNumer);
- write('. (',schowekNazwisko,') zostal usuniety z dziennika');end;
- end;
- procedure all;
- begin
- iloscPrzedmiotow:=3;
- REPEAT
- menu;
- case wybor of
- 1:begin jednaOsobaWpr;end;
- 2:begin jednaOsobaZcz;end;
- 3:begin wysWszystkich;end;
- 4:begin najwiekszaSr;end;
- 5:begin najmniejszaSr;end;
- 6:begin usunRekord;end;
- end;
- readkey;clrscr;
- UNTIL wybor=7;
- end;{eng...}
- begin clrscr;
- all;
- end.
Advertisement
Add Comment
Please, Sign In to add comment