Dev Pascal : Date (normale et année bissextile)
2 participants
Page 1 sur 1
Dev Pascal : Date (normale et année bissextile)
Le programme doit demander la date d'aujourd'hui et doit être capable de donner celle du lendemain. Le premier module ne tient pas compte des années bissextiles.
Réponse :
Malheureusement je ne possède pas encore le module comptant les années bissextiles, si quelqu'un se porte volontaire ?
Réponse :
- Code:
program Annee;
var
a, b, c:integer;
begin
writeln('Quel jour sommes-nous aujourd hui ?');
readln(a);
writeln('Quel mois sommes-nous aujourd hui ?');
readln(b);
writeln('Quelle année sommes-nous aujourd hui ?');
readln(c);
writeln('nous sommes le ', a);
writeln('aujourd hui nous sommes le ', a,'/', b, '/', c);
if (a=28) and (b=2) then
begin
writeln('demain nous serons le 1/3/', c);
readln;
end
else
if (a=31) and (b=12) then
begin
writeln('demain nous serons le 1/1/', c+1, ' bonne année !');
readln;
end
else
if b>12 then
begin
writeln('Le mois ne correspond pas');
readln;
end
else
if (b=1) or (b=3) or (b=5) or (b=7) or (b=8) or (b=10) or (b=12) then
begin
if a>31 then
begin
writeln('fatal error, la date ne correspond pas');
readln;
end
else
begin
if a=31 then
begin
writeln('demain nous serons le 1/', b+1, '/', c);
readln;
end
else
begin
writeln('demain nous serons le ', a+1, '/', b, '/', c);
readln;
end
end
end
else
if (b=2) or (b=4) or (b=6) or (b=9) or (b=11) then
begin
if a>30 then
begin
writeln('fatal error, la date ne correspond pas');
readln;
end
else
begin
if a=30 then
begin
writeln('demain nous serons le 1/', b+1, '/', c);
readln;
end
else
begin
writeln('demain nous serons le ', a+1, '/', b, '/', c);
readln;
end
end
end
end.
Malheureusement je ne possède pas encore le module comptant les années bissextiles, si quelqu'un se porte volontaire ?
RDI- Accro
- Nombre de messages : 153
Age : 35
Localisation : Nivelles
Classe : TL2
Date d'inscription : 09/10/2007
Re: Dev Pascal : Date (normale et année bissextile)
Voici pour ceux qui veulent une version des années bisextiles...
Il marche sans aucun problème!!!
Il marche sans aucun problème!!!
- Code:
program bisextile;
var d,m,y: integer ;
begin
writeln('Quel jour sommes-nous? (1-31)');
readln(d);
writeln('Quel mois sommes-nous? (1-12)');
readln(m);
writeln('Quelle anne sommes-nous?');
readln(y);
if (m=1) or (m=3) or (m=5) or (m=7) or (m=8) or (m=10) or (m=12) then
begin
if d=31 then
begin
d := 1;
if m=12 then
begin
m := 1;
y := y+1;
end
else
m := m+1;
end
else
d := d+1;
end
else
begin
if (m=4) or (m=6) or (m=9) or (m=11) then
begin
if d=30 then
begin
d := 1;
m := m+1;
end
else
d := d+1;
end
else
begin
if d=29 then
begin
d := 1;
m := m+1;
end
else
begin
if d=28 then
begin
if y mod 400=0 then
d := 29
else
begin
if y mod 100=0 then
begin
d := 1;
m := m+1;
end
else
begin
if y mod 4=0 then
d := 29
else
begin
d := 1;
m := m+1;
end
end
end
end
else
d := d+1;
end
end;
writeln('Demain nous serons le ',d,'/',m,'/',y);
readln;
end;
end.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum