Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program PC2 ;
- function bisiesto( anho : Integer ) : boolean ;
- begin
- bisiesto := ( ( anho mod 4 = 0 ) and ( ( anho mod 100 <> 0 ) or ( anho mod 400 = 0 ) ) ) ;
- end ;
- function getDias(mes,anho:Integer):Integer ;
- begin
- if mes in [1 , 3 , 5 , 7 , 8 , 10 , 12 ] then getDias := 31
- else if mes in [ 4 , 6 , 9 , 11 ] then getDias := 30
- else begin
- if bisiesto( anho ) = true then getDias := 29
- else getDias := 28 ;
- end ;
- end ;
- procedure anhadirDia( var dia , mes , anho : Integer ) ;
- begin
- if dia + 1 > getDias( mes , anho ) then begin
- dia := 1 ;
- if mes + 1 > 12 then begin
- anho := anho + 1 ;
- mes := 1 ;
- end
- else mes := mes + 1 ;
- end
- else dia := dia + 1 ;
- end ;
- var dia , mes , anho , add , i : Integer ;
- begin
- while( true ) do begin
- write( 'Ingrese una fecha: ' ) ; readln( mes , dia , anho ) ;
- if( dia = 0 ) then break ;
- write( 'Ingrese el numero de dias: ' ) ; readln( add ) ;
- for i := 1 to add do anhadirDia( dia , mes , anho ) ;
- writeln( 'Fecha modificada: ' , mes , ' ' , dia , ' ' , anho ) ;
- end ;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement