Dev - C++ - ayuda con este codigo pleasee....

   
Vista:

ayuda con este codigo pleasee....

Publicado por daniel lopez (1 intervención) el 16/07/2009 17:31:13
hola por favor, a kien me pueda ayudar le agraddeceria bastante , necesito convertir el siguiente codigo (esta en pascal) a lenguaje c++ me ham pedido usar el compilador turbo c++, pero copn pasarlo al lenguaje c++ creo k me contento....gracias a kien responda a este favor k solicito....P.D: lo intente varias veces pero no tuve exito......gracias.....

Program fechas;
Uses Crt;

VAR
dia,mes: Byte;
anno: Word;
esbisiesto,nobisiesto,esdiciembre,es30,es31: Boolean;
{variables con valor logico}
opcion:char;
Begin
ClrScr;
Repeat
Write('Introduzca la fecha que desee (dd mm aaaa): ');
Read(dia,mes,anno);
Until (dia in [1..31]) and (mes in [1..12]) and (anno > 0);

Case mes Of

2: {Analizando el caso del mes de febrero}
Begin
If (anno mod 400 = 0) or ((anno mod 4 = 0) and (anno mod 100 <> 0)) Then
esbisiesto := True {Requisitos para que sea bisiesto}
Else
Begin
If dia > 28 Then
Begin
Repeat
Write('Dia no admitido ingrese otro dia: ');
Read(dia)
Until (dia >= 1) and (dia <=28);
End;

nobisiesto := True {El mes es febrero, pero no es bisiesto}
End;
End;

12: {Analizando caso del mes de diciembre}
esdiciembre := True;

4,6,9,11: {Son los meses ordinarios, poseen menos de 30 dias}
Begin
If dia > 30 then
Begin
Repeat
Write('Dia no admitido, ingrese otro dia: ');
Read(dia)
Until (dia >= 1) and (dia <= 31);
End;

es30 := True {Esta en el grupo de los meses que tienen 30 dias}
End;
Else {Esta en el grupo de los meses que tienen 31 dias}
es31 := True
End; {Culmina el analisis de todos los casos}

dia := dia + 1; {Aumentandole un dia a la fecha que se ingreso}

{Ahora toca analizar los casos generales de las fechas "especiales"}
If esbisiesto and (dia > 29) Then
{Caso de febrero y a¤o bisiesto, fecha mayor del 29...}
Begin
dia := 1;
mes := 3 {Se debe cambiar al primero de marzo}
End

Else If nobisiesto and (dia > 28) Then
{Caso de febrero y a¤o no bisiesto, fecha mayor del 28...}
Begin
dia := 1;
mes := 3
End

Else If esdiciembre and (dia > 31) Then
{Caso del mes de diciembre y un dia mayor al 31}
Begin
dia := 1;
mes := 1;
anno := anno + 1 {Se debe de avanzar un a¤o}
End

Else If es30 and (dia > 30) Then
{Caso que sea un mes de 30 dias y se ingrese un dia mayor a 30}
Begin
dia := 1;
mes := mes + 1 {Se debe pasar al mes siguiente}
End

Else If es31 and (dia > 31) Then
{Caso que sea un mes de 31 dias y se ingrese un dia mayor a 31}
Begin
dia := 1;
mes := mes + 1
End;

Writeln;
Write('La fecha siguiente a la introducida es : ',dia,' ',mes,' ',anno);
writeln;

readkey;
End.

lo necesito para el viernes.....,muxas gracias por la ayuda....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder