Code:
program razlikadatuma1;
var
d1,d2,m1,m2,g1,g2,r,r1,r2:integer;
function prestupna(g:integer):integer;
var
p:integer;
begin
if ((g mod 4=0) and (g mod 100<>0)) or (g mod 400=0)then p:=1
else p:=0;
prestupna:=p;
end;
function godina(d,m,g:integer):integer;
var
i,r:integer;
begin
r:=0;i:=1980;
while i<g do begin
r:=r+365+prestupna(g);
i:=i+1;
end;
godina:=r;
end;
function mjesec(d,m,g:integer):integer;
var
j,r:integer;
begin
r:=d;
for j:=1 to (m-1) do begin
case(m) of
1,3,5,7,8,10,12: r:=r+31;
2: r:=r+28+prestupna(g);
4,6,9,11: r:=r+30;
end;
end;
mjesec:=r;
end;
begin
writeln('unesi prvi datum');
readln(d1,m1,g1);
writeln('unesi drugi datum');
readln(d2,m2,g2);
r1:=godina(d1,m1,g1)+mjesec(d1,m1,g1);
r2:=godina(d2,m2,g2)+mjesec(d2,m2,g2);
if (r1>=r2) then r:=r1-r2+1
else r:=r2-r1+1;
writeln('razlika dana je ',r);
readln;
end.
program razlikadatuma1;
var
d1,d2,m1,m2,g1,g2,r,r1,r2:integer;
function prestupna(g:integer):integer;
var
p:integer;
begin
if ((g mod 4=0) and (g mod 100<>0)) or (g mod 400=0)then p:=1
else p:=0;
prestupna:=p;
end;
function godina(d,m,g:integer):integer;
var
i,r:integer;
begin
r:=0;i:=1980;
while i<g do begin
r:=r+365+prestupna(g);
i:=i+1;
end;
godina:=r;
end;
function mjesec(d,m,g:integer):integer;
var
j,r:integer;
begin
r:=d;
for j:=1 to (m-1) do begin
case(m) of
1,3,5,7,8,10,12: r:=r+31;
2: r:=r+28+prestupna(g);
4,6,9,11: r:=r+30;
end;
end;
mjesec:=r;
end;
begin
writeln('unesi prvi datum');
readln(d1,m1,g1);
writeln('unesi drugi datum');
readln(d2,m2,g2);
r1:=godina(d1,m1,g1)+mjesec(d1,m1,g1);
r2:=godina(d2,m2,g2)+mjesec(d2,m2,g2);
if (r1>=r2) then r:=r1-r2+1
else r:=r2-r1+1;
writeln('razlika dana je ',r);
readln;
end.