PROGRAM dnevnik;
type podatoci=record
imeu,roditel:string[15];
prezimeu:string[30];
adresa:string[50];
datum.na.raganje,telefon:string[10];
brp,oddelenie:integer;
prosek:real;
ocenki:array[1..20] of intereg;
predmeti:array[1..20] of string;
profesori:array[1..20] of string;
end;
VAR
d:datoteka;
ime_vo_datoteka:string[30];
izbor:char;
ucenik:podatoci;
meni,i,s:integer;
ime:string[10];
prezime:string[30];
predmet:string[30];
PROCEDURE maticni(VAR U:podatoci);
BEGIN
Write('vnesete ime vo datotekata sto ke se kreira');
Readln(ime_vo_datoteka);
assign(d,ime_vo_datoteka);
REWRITE(d);
izbor:='Y';
REPEAT
Writeln('podatoci za ucenik');
Writeln;
With U DO
BEGIN
Write('ime na ucenik')
Readln(imeu);
Write('prezime');
Readln(prezimeu);
Write('ime na roditel');
Readln(roditel);
Write('Datum na raganje');
Readln(datum_na_raganje);
Write('adresa');
Readln(adresa);
Write('telefon');
Readln(telefon);
Write('oddelenie');
Readln(oddelenie);
Write('vnesete broj na predmeti vo oddelenieto');
Readln(brp);
end;
Write(d,U);
Write('dali ke prodolzete so vnesuvanje na novi podatoci ( Y/N )');
Readln(izbor);
Untul upcase (izbor)='N';
close(d);
end;
PROCEDURE predmeti(VAR U:podatoci);
VAR j:integer;
BEGIN
Write('Vnesete ime na datotekata sto ke se otvora');
Readln(ime_na_datoteka);
RESET(d);
i:=0;
While not (E of (d)) DO
BEGIN
Read(d,u);
i:i+1;
With U DO
BEGIN
Writeln('podatoci za predmetite za ucenikot');
Writeln(imeu,prezimeu);
Writeln;
Writeln('Vnesete gi predmetite');
for i:=1 to brp do
BEGIN
Write(',predmeti[',j,']');
Readln(predmeti[j]);
end;
Write(d,u);
end; Close(d);
PROCEDURE profesori( VAR U:profesori);
VAR t:integer;
BEGIN
Write(' vnesete ime na datotekata sto ke se otvora');
Readln(ime_na_datoteka);
assign(d,ime_na_datoteka);
RESET(d);
i:=0;
While not (E of (d)) DO
BEGIN
Read(d,u);
i:i+1;
With U DO
BEGIN
Writeln('podatoci za profesorot');
Readln(ime,' ',prezime);
Writeln;
for i:=1 to brp do
BEGIN
Writeln('vnesete go imeto i prezimeto na profesorot');
Write(predmeti[t],':');
Readln(profesor[t]);
end;
end;
Write(d,u);
end;
Close(d);
end;
PROCEDURE ocenki(VAR U:podatoci);
VAR k:integer;
Writeln('vnesete ime na datoteka sto ke se otvara');
Readln(ime_na_datoteka);
assign(d,ime_na_datoteka);
RESET(d);
i:=0;
While not (E of (d)) DO
BEGIN
Read(d,u);
i:i+1;
With U DO
BEGIN
Writeln('podatoci za ocenkite na ucenikot');
Writeln(imeu,' ',prezimeu);
Writeln;
Prosek:=0;
for k:=1 to brp do
BEGIN
Writeln('vnesete ocenka po:');
Write(predmeti[k],':');
Readln(ocenki[k]);
Prosek:=Prosek+ocenki[k];
end;
Prosek:=Prosek/brp;
end;
Write(d,u);
end;
Close(d);
end;
PROCEDURE pecati_dnevnik(VAR U:podatoci);
VAR p:integer;
BEGIN
Write('vnesete ime na datotekata sto ke se otvara');
Readln(ime_na_datoteka);
assign(d,ime_na_datoteka);
RESET(d);
i:=0;
Write('vnesete go prezimeto na ucenikot');