Code:
program slogoviVezba1;
uses crt;
type
ucenik=record
ime,prezime:string;
prosek:real;
opr,neopr,vladanje:integer;
end;
FileUcenik=file of ucenik;
niz=array[1..100] of ucenik;
var
f:FileUcenik;
a:niz;
n,i,sO,sNO:integer;
osoba:ucenik;
procedure PisiSlog(var osoba:ucenik);
begin
with osoba do
begin
writeln('ime: ',ime);
writeln('prezime: ',prezime);
writeln('prosek: ',prosek:6:2);
writeln('opravdani: ',opr);
writeln('neopravdani: ',neopr);
writeln('vladanje: ',vladanje);
writeln('--------------------');
end;
end;
{---sortiranje---}
procedure razmeni(var a,b:ucenik);
var
pom:ucenik;
begin
a:=pom;
a:=b;
b:=pom;
end;
procedure sortiraj(var a:niz; n:integer);
var
i,j:integer;
begin
for i:=1 to n-1 do
for j:=1 to n-i do
if a[j].prosek>a[j+1].prosek then
razmeni(a[j],a[j+1]);
end;
{---main---}
begin
clrscr;
assign(f,'UcenikVezba.dat');
reset(f);
while not eof(f) do
begin
i:=i+1;
read(f,osoba);
a[i]:=osoba;
end;
n:=i;
for i:=1 to n do
PisiSlog(a[i]);
for i:=1 to n do
begin
sO:=sO+a[i].opr;
sNO:=sNO+a[i].neopr;
end;
writeln('Ukupan broj opravdanih je: ',sO,', a ukupan broj neopravdanih je: ',sNO);
sortiraj(a,n);
close(f);
repeat until keypressed;
end.
program slogoviVezba1;
uses crt;
type
ucenik=record
ime,prezime:string;
prosek:real;
opr,neopr,vladanje:integer;
end;
FileUcenik=file of ucenik;
niz=array[1..100] of ucenik;
var
f:FileUcenik;
a:niz;
n,i,sO,sNO:integer;
osoba:ucenik;
procedure PisiSlog(var osoba:ucenik);
begin
with osoba do
begin
writeln('ime: ',ime);
writeln('prezime: ',prezime);
writeln('prosek: ',prosek:6:2);
writeln('opravdani: ',opr);
writeln('neopravdani: ',neopr);
writeln('vladanje: ',vladanje);
writeln('--------------------');
end;
end;
{---sortiranje---}
procedure razmeni(var a,b:ucenik);
var
pom:ucenik;
begin
a:=pom;
a:=b;
b:=pom;
end;
procedure sortiraj(var a:niz; n:integer);
var
i,j:integer;
begin
for i:=1 to n-1 do
for j:=1 to n-i do
if a[j].prosek>a[j+1].prosek then
razmeni(a[j],a[j+1]);
end;
{---main---}
begin
clrscr;
assign(f,'UcenikVezba.dat');
reset(f);
while not eof(f) do
begin
i:=i+1;
read(f,osoba);
a[i]:=osoba;
end;
n:=i;
for i:=1 to n do
PisiSlog(a[i]);
for i:=1 to n do
begin
sO:=sO+a[i].opr;
sNO:=sNO+a[i].neopr;
end;
writeln('Ukupan broj opravdanih je: ',sO,', a ukupan broj neopravdanih je: ',sNO);
sortiraj(a,n);
close(f);
repeat until keypressed;
end.
Hvala..
