Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Anastacio en 1 Febrero 2012, 17:09 pm



Título: Como transformar esto en fechas?
Publicado por: Anastacio en 1 Febrero 2012, 17:09 pm
Yo hice un programa que reconoce cual es tu signo zodiacal. Pero, tengo problemas con la fecha. Anda de lujo, pero para pedir la fecha, tienes que darle primero el mes, sin ceros adelante, y luego, los dias. Es decir que si tienes que escribir el 26/07, en mi programa deberas escribir:726.

Yo quisiera que me transforme el numero a una fecha. Como se haria??


Título: Re: Como transformar esto en fechas?
Publicado por: satu en 1 Febrero 2012, 20:01 pm
Hola

¿No puedes almacenar el día en una variable de tipo int y el mes en otra? Así sería muy fácil.

Saludos


Título: Re: Como transformar esto en fechas?
Publicado por: Xandrete en 1 Febrero 2012, 20:26 pm
Yo hice un programa que reconoce cual es tu signo zodiacal. Pero, tengo problemas con la fecha. Anda de lujo, pero para pedir la fecha, tienes que darle primero el mes, sin ceros adelante, y luego, los dias. Es decir que si tienes que escribir el 26/07, en mi programa deberas escribir:726.

Yo quisiera que me transforme el numero a una fecha. Como se haria??

¿Tiene que ser necesariamente en ese formato? Si no, haz lo que te dice satu, guarda el número del mes en una variable y el del día, en otra.


Título: Re: Como transformar esto en fechas?
Publicado por: Anastacio en 1 Febrero 2012, 20:38 pm
Y como seria, no llego a una idea.

Me dan un ejemplito??

GRacias


Título: Re: Como transformar esto en fechas?
Publicado por: Xandrete en 1 Febrero 2012, 20:41 pm
...

Declaras un entero.
Declaras otro
Lees en un entero.
Lees en otro.

¿No?

Código
  1. int day, month;
  2. scanf("%d%d",&day,&month);

Saludos


Título: Re: Como transformar esto en fechas?
Publicado por: Anastacio en 1 Febrero 2012, 22:44 pm
Y como armo la sentencia if then else en ese caso??

Al tener dos constantes en cada fecha, no veo como hacer un if then else, si se me trabaria en los dias.

Como hago???


Título: Re: Como transformar esto en fechas?
Publicado por: satu en 2 Febrero 2012, 00:23 am
Hola

Pues muy fácil

Código
  1. if(mes == 1)
  2. {
  3.    if(dia >= 1 && dia <= 19)
  4.        printf("Eres capricornio");
  5.    else
  6.        printf("Eres acuario");
  7. }
  8. else
  9. {
  10.    if(mes == 2)
  11.    {
  12.        if(dia >= 1 && dia <=18)
  13.            printf("Eres acuario");
  14.        else
  15.            printf("Eres piscis");
  16.    }
  17.    else
  18.    {
  19.        if(mes == 3)
  20.        {
  21.        .........
  22.        }
  23.    }
  24. }
  25.  

Aunque en este caso sería un poco mejor utilizar switch

Código
  1. switch(mes)
  2. {
  3.    case 1:
  4.        if(dia >= 1 && dia <= 19)
  5.            printf("Eres capricornio");
  6.        else
  7.            printf("Eres acuario");
  8.        break;
  9.    case 2:
  10.        if(........)
  11. }
  12.  

Saludos


Título: Re: Como transformar esto en fechas?
Publicado por: Anastacio en 15 Febrero 2012, 22:01 pm
Guau, nunca se me hubiese ocurrido. Ahora tengo una larga tarea (casi rearmar el programa entero) Muchisisisisisisimas gracias.