• Lenguaje

    C

  • Descripción

    Calcula la fecha del siguiente 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
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int anno, anno_siguiente, dia, dia_siguiente, mes;
    int mes_siguiente;
    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==30&&(mes==4||mes==6||mes==9||mes==11))||dia==31||(mes==2&&(dia==29||(dia==28&&(anno%4!=0||anno%100==0)&&anno%400!=0))))
    {
        dia_siguiente=1;
        mes_siguiente=mes+1;
    }
    else
    {
        dia_siguiente=dia+1;
        mes_siguiente=mes;
    }
    if(mes_siguiente==13)
    {
        anno_siguiente=anno+1;
        mes_siguiente=1;
    }
    else
        anno_siguiente=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_siguiente=0;
        mes_siguiente=0;
        anno_siguiente=0;
        printf ("D\241a incorrecto\n");
    }
    if(mes<1||mes>12)
    {
        dia_siguiente=0;
        mes_siguiente=0;
        anno_siguiente=0;
        printf ("Mes incorrecto\n");
    }
    if(anno<1000||anno>=10000)
    {
        dia_siguiente=0;
        mes_siguiente=0;
        anno_siguiente=0;
        printf ("A\244o incorrecto\n");
    }
    printf ("Valor de anno siguiente: %d\n", anno_siguiente);
    printf ("Valor de dia siguiente: %d\n", dia_siguiente);
    printf ("Valor de mes siguiente: %d\n", mes_siguiente);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}