Advertisement
NonWhite

PC2

Sep 26th, 2012
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.06 KB | None | 0 0
  1. program PC2 ;
  2.  
  3. function bisiesto( anho : Integer ) : boolean ;
  4. begin
  5.     bisiesto := ( ( anho mod 4 = 0 ) and ( ( anho mod 100 <> 0 ) or ( anho mod 400 = 0 ) ) ) ;
  6. end ;
  7.  
  8. function getDias(mes,anho:Integer):Integer ;
  9. begin
  10.     if mes in [1 , 3 , 5 , 7 , 8 , 10 , 12 ] then getDias := 31
  11.     else if mes in [ 4 , 6 , 9 , 11 ] then getDias := 30
  12.     else begin
  13.         if bisiesto( anho ) = true then getDias := 29
  14.         else getDias := 28 ;
  15.     end ;
  16. end ;
  17.  
  18. procedure anhadirDia( var dia , mes , anho : Integer ) ;
  19. begin
  20.     if dia + 1 > getDias( mes , anho ) then begin
  21.         dia := 1 ;
  22.         if mes + 1 > 12 then begin
  23.             anho := anho + 1 ;
  24.             mes := 1 ;
  25.         end
  26.         else mes := mes + 1 ;
  27.     end
  28.     else dia := dia + 1 ;
  29. end ;
  30.  
  31. var dia , mes , anho , add , i : Integer ;
  32. begin
  33.  
  34.     while( true ) do begin
  35.         write( 'Ingrese una fecha: ' ) ; readln( mes , dia , anho ) ;
  36.         if( dia = 0 ) then break ;
  37.         write( 'Ingrese el numero de dias: ' ) ; readln( add ) ;
  38.         for i := 1 to add do anhadirDia( dia , mes , anho ) ;
  39.         writeln( 'Fecha modificada: ' , mes , ' ' , dia , ' ' , anho ) ;
  40.     end ;
  41.  
  42. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement