Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

razlika datuma ,pascal

[es] :: Pascal / Delphi / Kylix :: razlika datuma ,pascal

[ Pregleda: 2685 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

miniplazma

Član broj: 240037
Poruke: 68
95.155.4.*



Profil

icon razlika datuma ,pascal13.12.2009. u 21:15 - pre 173 meseci
Zadatak je da se ispiše broj dana između dva datuma(uključujući i ta dva dana).Pogledajte kod,jer je greška uvijek oko 5-20 dana.Ali nikako da vidim u čemu je problem...Ideja je da računa od ''nulte godine''(ovdje 1980) do prvog datuma,pa do drugog i razlika te dvije vrijednosti je traženi rezultat

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.


 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
92.244.151.*



+6 Profil

icon Re: razlika datuma ,pascal14.12.2009. u 01:39 - pre 173 meseci
U funkciji godina, umesto:
Code:

r:=r+365+prestupna(g);

treba da stoji:
Code:

r:=r+365+prestupna(i);


a u funkciji mjesec, umesto:
Code:

case(m) of

treba da stoji:
Code:

case(j) of

 
Odgovor na temu

miniplazma

Član broj: 240037
Poruke: 68
95.155.63.*



Profil

icon Re: razlika datuma ,pascal18.12.2009. u 08:32 - pre 173 meseci
hvala :)
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: razlika datuma ,pascal

[ Pregleda: 2685 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.