Ma program je u redu.
Ako je bas neophodno, evo ti pa ono istrazi, al nema bas sta da se vidi posebno :D
Code:
{$S-} {Zbog duzine niza ucenika}
program E_Dnevnik;
uses crt; {Zbog komande ClrScr}
{SLOGOVI>>>>}
type predmet=record
sifra:integer;
naziv:string;
end;
type ucenik=record
sifra:integer; {ID}
ime:string; {Ime ucenika}
prezime:string; {Prezime ucenika}
end;
type user=record
id:integer; {Redni broj korisnika}
ime:string; {Ime korisnika}
prezime:string; {Prezime korisnika}
pol:boolean; {Muski-1,Zenski-0}
titula:string; {Administrator,Profesor,Ucenik}
lvl:integer; {1-ADMIN,2-PROFESOR,3-UCENIK}
namee:string; {Korisnicko ime}
pass:string; {Lozinka}
end;
type ocena=record
ucenikk:ucenik;
predmett:predmet;
ocene:array[1..10] of integer;
prosek:real;
end;
type niz_ucenika=array[1..2000] of ucenik;
type niz_predmeta=array[1..100] of predmet;
type users_list=array[1..100] of user;
{<<<<SLOGOVI}
VAR
namee,pass:string;
users:users_list;
users_data:text;
lista_ucenika:niz_ucenika;
ucenici,predmeti,ocene:text;
max_ucenika:integer;
{PROCEDURE I FUNKCIJE>>>>}
procedure new();
begin
writeln();
end;
procedure stop();
begin
readln();
end;
procedure Start();
begin
ClrScr;
writeln();
writeln('Dobrodosli u E-Dnevnik ');
writeln('E-Dnevnik je napravljen od strane ***** kao deo maturskog rada.');
writeln('Za pomoc ukucajte : help');
writeln();
end;
procedure login_input(var name,pass:string);
begin
writeln('LOGIN');
new;
write('Korisnicko ime : ');
readln(name);
write('Lozinka : ');
readln(pass);
end;
procedure ispis_liste_ucenika(a:niz_ucenika;n:integer);
var i,g,m:integer;
begin
writeln();
g:=0;
m:=0;
repeat
g:=m+1;
if n>m+19 then
m:=m+20
else
m:=n;
for i:=g to m do
writeln(a[i].sifra:5,a[i].ime:20,a[i].prezime:20);
if m<>n then
begin
write('Za dalji ispis pritisnite enter');
readln();
end
else
writeln('Kraj ispisa!');
until m=n;
readln();
end;
{UPIS I UCITAVANJE PREDMETA>>>>>}
procedure ucitavanje_liste_predmeta(var fajl:text;var a:niz_predmeta;var n:integer);
var i:integer;
begin
i:=1;
reset(fajl);
while not EOF(fajl) do
begin
readln(fajl,a[i].sifra);
readln(fajl,a[i].naziv);
i:=i+1;
end;
n:=i;
end;
procedure upis_liste_predmeta(var fajl:text;var a:niz_predmeta;var n:integer);
var i:integer;
begin
i:=1;
rewrite(fajl);
for i:=1 to n do
begin
writeln(fajl,a[i].sifra);
writeln(fajl,a[i].naziv);
end;
end;
{<<<<<UPIS I UCITAVANJE PREDMETA}
{UPIS I UCITAVANJE UCENIKA>>>>>}
procedure ucitavanje_liste_ucenika(var fajl:text;var a:niz_ucenika;var n:integer);
var i:integer;
begin
i:=1;
reset(fajl);
while not EOF(fajl) do
begin
readln(fajl,a[i].sifra);
readln(fajl,a[i].ime);
readln(fajl,a[i].prezime);
i:=i+1;
end;
n:=i;
end;
procedure upis_liste_ucenika(var fajl:text;var a:niz_ucenika;var n:integer);
var i:integer;
begin
i:=1;
rewrite(fajl);
for i:=1 to n do
begin
writeln(fajl,a[i].sifra);
writeln(fajl,a[i].ime);
writeln(fajl,a[i].prezime)
end;
end;
{<<<<<UPIS I UCITAVANJE UCENIKA}
{CHECK LOGIN>>>}
function check_login(namee,pass:string;a:users_list;maxusers:integer):integer;
var i:integer;
begin
for i:=1 to maxusers do
begin
if (namee=a[i].namee) and (pass=a[i].pass) then
begin
check_login:=a[i].ID;
break;
end;
end;
end;
{<<<<CHECK LOGIN}
{<<<<PROCEDURE I FUNKCIJE}
BEGIN
{Dodeljivanje fajlova}
assign(ucenici,'ucenici.txt');
assign(predmeti,'predmeti.txt');
assign(ocene,'ocene.txt');
assign(users_data,'users.txt');
{/Dodeljivanje fajlova}
{PROGRAM}
max_ucenika:=40;
ispis_liste_ucenika(lista_ucenika,max_ucenika);
{/PROGRAM}
END.
Jos tu fali stvari, al to je zasad ubaceno iz ovih gomila txt fajlova sa procedurama...
Ne radi ni sa {$S-}...
@savkic
I
Evo moje definicije pucanja :
1. Pocne da radi
2. Prekine sa radom pre kraja i prijavi gresku (PUKNE! :D)
II
Evo ti ceo kod.
Ajd reci mi gde ima tu greska?
Procedure su pisane zasebno, pa je sve to spojeno u jedan fajl, tako da tesko da imaju ikakvih dodirnih tacaka...
III
Pravim windows konzolnu aplikaciju.
IV
Takođe možeš promeniti način alociranja niza i umesto statičkog niza na steku koristiti dinamički na heapu (New, GetMem).
To ne znam kako se radi.