-
Lenguaje
C
-
Descripción
Calcula la fecha del anterior día a partir de una fecha digitada desde el teclado por el usuario (dd, mm, aaaa) e imprimirla. (Tenga en cuenta los años bisiestos.), recuerde que sólo debe ingresar valores correctos, es decir no pueden haber meses de más de 31 días o años con más de 12 meses, se debe garantizar que el año este en el rango de 4 cifras. (en caso de no cumplir con las condiciones se debe mostrar los mensaje de error).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int anno, anno_anterior, dia, dia_anterior, mes;
int mes_anterior;
printf ("Ingresa el valor de anno: ");
scanf ("%d", &anno);
(void) getchar ();
printf ("Ingresa el valor de dia: ");
scanf ("%d", &dia);
(void) getchar ();
printf ("Ingresa el valor de mes: ");
scanf ("%d", &mes);
(void) getchar ();
if(dia==1)
{
dia_anterior=31;
mes_anterior=mes-1;
}
else
{
dia_anterior=dia-1;
mes_anterior=mes;
}
if(dia==1&&(mes==4||mes==6||mes==9||mes==11))
dia_anterior=30;
if(dia==1&&mes==2)
dia_anterior=28;
if(dia==1&&mes==2&&(((anno%4==0)&&(anno%100!=0))||anno%400==0))
dia_anterior=29;
if(mes_anterior==0)
{
anno_anterior=anno-1;
mes_anterior=12;
}
else
anno_anterior=anno;
if(dia<1||dia>31||(mes==2&&dia>29)||((mes==4||mes==6||mes==9||mes==11)&&dia==31)||(mes==2&&dia==29&&(anno%4!=0||anno%100==0)&&anno%400!=0))
{
dia_anterior=0;
mes_anterior=0;
anno_anterior=0;
printf ("D\241a incorrecto\n");
}
if(mes<1||mes>12)
{
dia_anterior=0;
mes_anterior=0;
anno_anterior=0;
printf ("Mes incorrecto\n");
}
if(anno<1000||anno>=10000)
{
dia_anterior=0;
mes_anterior=0;
anno_anterior=0;
printf ("A\244o incorrecto\n");
}
printf ("Valor de anno anterior: %d\n", anno_anterior);
printf ("Valor de dia anterior: %d\n", dia_anterior);
printf ("Valor de mes anterior: %d\n", mes_anterior);
putchar ('\n');
system ("pause");
return EXIT_SUCCESS;
}
#include <stdlib.h>
int main (void)
{
int anno, anno_anterior, dia, dia_anterior, mes;
int mes_anterior;
printf ("Ingresa el valor de anno: ");
scanf ("%d", &anno);
(void) getchar ();
printf ("Ingresa el valor de dia: ");
scanf ("%d", &dia);
(void) getchar ();
printf ("Ingresa el valor de mes: ");
scanf ("%d", &mes);
(void) getchar ();
if(dia==1)
{
dia_anterior=31;
mes_anterior=mes-1;
}
else
{
dia_anterior=dia-1;
mes_anterior=mes;
}
if(dia==1&&(mes==4||mes==6||mes==9||mes==11))
dia_anterior=30;
if(dia==1&&mes==2)
dia_anterior=28;
if(dia==1&&mes==2&&(((anno%4==0)&&(anno%100!=0))||anno%400==0))
dia_anterior=29;
if(mes_anterior==0)
{
anno_anterior=anno-1;
mes_anterior=12;
}
else
anno_anterior=anno;
if(dia<1||dia>31||(mes==2&&dia>29)||((mes==4||mes==6||mes==9||mes==11)&&dia==31)||(mes==2&&dia==29&&(anno%4!=0||anno%100==0)&&anno%400!=0))
{
dia_anterior=0;
mes_anterior=0;
anno_anterior=0;
printf ("D\241a incorrecto\n");
}
if(mes<1||mes>12)
{
dia_anterior=0;
mes_anterior=0;
anno_anterior=0;
printf ("Mes incorrecto\n");
}
if(anno<1000||anno>=10000)
{
dia_anterior=0;
mes_anterior=0;
anno_anterior=0;
printf ("A\244o incorrecto\n");
}
printf ("Valor de anno anterior: %d\n", anno_anterior);
printf ("Valor de dia anterior: %d\n", dia_anterior);
printf ("Valor de mes anterior: %d\n", mes_anterior);
putchar ('\n');
system ("pause");
return EXIT_SUCCESS;
}