• Lenguaje

    C

  • Descripción

    Dado por teclado el día, mes y año de nacimiento de una persona, determinar cuántos años tiene, días y meses.

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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int ano_actual, ano_nacimiento, anos, dia_actual, dia_nacimiento;
    int dias, dias_del_mes, mes_actual, mes_nacimiento, meses;
    printf ("Ingresa el valor de ano actual: ");
    scanf ("%d", &ano_actual);
    (void) getchar ();
    printf ("Ingresa el valor de ano nacimiento: ");
    scanf ("%d", &ano_nacimiento);
    (void) getchar ();
    printf ("Ingresa el valor de dia actual: ");
    scanf ("%d", &dia_actual);
    (void) getchar ();
    printf ("Ingresa el valor de dia nacimiento: ");
    scanf ("%d", &dia_nacimiento);
    (void) getchar ();
    dias_del_mes=0;
    printf ("Selecciona el valor de mes actual.\n");
    printf ("\t1.- Enero\n");
    printf ("\t2.- Febrero\n");
    printf ("\t3.- Marzo\n");
    printf ("\t4.- Abril\n");
    printf ("\t5.- Mayo\n");
    printf ("\t6.- Junio\n");
    printf ("\t7.- Julio\n");
    printf ("\t8.- Agosto\n");
    printf ("\t9.- Septiembre\n");
    printf ("\t10.- Octubre\n");
    printf ("\t11.- Noviembre\n");
    printf ("\t12.- Diciembre\n");
    printf ("\t: ");
    do {
        scanf ("%d", &mes_actual);
        (void) getchar ();
        if (mes_actual<1||mes_actual>12)
            printf ("Valor incorrecto. Ingr\202salo nuevamente.: ");
    } while (mes_actual<1||mes_actual>12);
    printf ("Selecciona el valor de mes nacimiento.\n");
    printf ("\t1.- Enero\n");
    printf ("\t2.- Febrero\n");
    printf ("\t3.- Marzo\n");
    printf ("\t4.- Abril\n");
    printf ("\t5.- Mayo\n");
    printf ("\t6.- Junio\n");
    printf ("\t7.- Julio\n");
    printf ("\t8.- Agosto\n");
    printf ("\t9.- Septiembre\n");
    printf ("\t10.- Octubre\n");
    printf ("\t11.- Noviembre\n");
    printf ("\t12.- Diciembre\n");
    printf ("\t: ");
    do {
        scanf ("%d", &mes_nacimiento);
        (void) getchar ();
        if (mes_nacimiento<1||mes_nacimiento>12)
            printf ("Valor incorrecto. Ingr\202salo nuevamente.: ");
    } while (mes_nacimiento<1||mes_nacimiento>12);
    if(mes_actual==1||mes_actual==3||mes_actual==5||mes_actual==7||mes_actual==8||mes_actual==10||mes_actual==12)
        dias_del_mes=31;
    if(mes_actual==2)
        dias_del_mes=28;
    if(mes_actual==4||mes_actual==6||mes_actual==9||mes_actual==11)
        dias_del_mes=30;
    anos=ano_actual-ano_nacimiento;
    meses=mes_actual-mes_nacimiento;
    dias=dia_actual-dia_nacimiento;
    if(dias<0)
    {
        dias=dias+dias_del_mes;
        meses=meses-1;
    }
    if(meses<0)
    {
        meses=meses+12;
        anos=anos-1;
    }
    printf ("Valor de anos: %d\n", anos);
    printf ("Valor de dias: %d\n", dias);
    printf ("Valor de dias del mes: %d\n", dias_del_mes);
    printf ("Valor de meses: %d\n", meses);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}