X-Git-Url: http://svarog.pmf.uns.ac.rs/gitweb/?p=spa1skripta-public.git;a=blobdiff_plain;f=kodovi%2Ffajlovi%2Fnizslog.MOD;fp=kodovi%2Ffajlovi%2Fnizslog.MOD;h=e427bfa8a8c7755ef86e8e8136f6c947f3bd14ca;hp=0000000000000000000000000000000000000000;hb=5032b8ef31be8b199297901b7fe1ec2c6dccea37;hpb=74eec3956c02c387de6afb0839d112544881cd3e diff --git a/kodovi/fajlovi/nizslog.MOD b/kodovi/fajlovi/nizslog.MOD new file mode 100644 index 0000000..e427bfa --- /dev/null +++ b/kodovi/fajlovi/nizslog.MOD @@ -0,0 +1,123 @@ +MODULE nizslog; +FROM InOut IMPORT WriteString, WriteLn, WriteCard, + ReadCard, ReadString; +FROM FIO IMPORT File, Exists, Open, Create, Close, EOF, + RdItem, RdCard, WrStr, WrCard, WrLn; +FROM Str IMPORT Compare; + +CONST + MaxStud = 100; + radnifajl = "studenti.txt"; +TYPE + String = ARRAY[1..30] OF CHAR; + Student = RECORD + ime, prez: String; + god: CARDINAL; + END; + Studenti = ARRAY[1..MaxStud] OF Student; + +PROCEDURE UcitajF(fajl:String; + VAR spisak: Studenti; VAR n:CARDINAL); +VAR + f:File; +BEGIN + n:=0; + IF Exists(fajl) THEN + f:= Open(fajl); + EOF := FALSE; + WHILE NOT EOF DO + INC(n); + RdItem(f, spisak[n].prez); + RdItem(f, spisak[n].ime); + spisak[n].god := RdCard(f); + END; + Close(f); + END; +END UcitajF; + +PROCEDURE Ispisi(spisak:Studenti; n:CARDINAL); +VAR + i: CARDINAL; +BEGIN + FOR i:=1 TO n DO + WriteString(spisak[i].prez); + WriteString(" "); + WriteString(spisak[i].ime); + WriteString(" "); + WriteCard(spisak[i].god,1); + WriteLn; + END; +END Ispisi; + +PROCEDURE IspisiF(fajl:String; + spisak:Studenti; n:CARDINAL); +VAR + f:File; + i: CARDINAL; +BEGIN + IF (n>0) AND (n<=MaxStud) THEN + f:=Create(fajl); + (* pravimo takav fajl da ne + postoji zadnji prazan red *) + FOR i:=1 TO n-1 DO + WrStr(f,spisak[i].prez); + WrStr(f," "); + WrStr(f,spisak[i].ime); + WrStr(f," "); + WrCard(f,spisak[i].god,1); + WrLn(f); + END; + WrStr(f,spisak[n].prez); + WrStr(f," "); + WrStr(f,spisak[n].ime); + WrStr(f," "); + WrCard(f,spisak[n].god,1); + Close(f); + END; +END IspisiF; + +PROCEDURE NoviStudent(VAR spisak:Studenti; VAR n:CARDINAL); +VAR + stud,temp:Student; + i:CARDINAL; + dodaj:BOOLEAN; +BEGIN + IF n