Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: sevillano32 en 31 Diciembre 2014, 18:36 pm



Título: EJERCICIO
Publicado por: sevillano32 en 31 Diciembre 2014, 18:36 pm
Hola tengo que hacer un ejercicio es en C+- muestre por pantalla una hoja
de calendario de cualquier año comprendido entre 1601 y 3000. El formato de la
hoja de calendario deberá ajustarsee a la de l pantalla sale:
ENERO FEBRERO MARZO


ABRIL MAYO JUNIO


JULIO AGOSTO SEPTIEBRE

OCTUBRE NOVIEMBRE DICIEMBER


DE TRES EN TRES

Me puedes ayudar gracias y felices fiestas


Título: Re: EJERCICIO
Publicado por: Dezcian en 31 Diciembre 2014, 19:50 pm
Hablar es fácil, enseñame el código
#Linus Torvalds

No se hacen tareas amigo, mejor comentanos en que parte tienes dudas y muestranos tus avances.


Título: Re: EJERCICIO
Publicado por: Orubatosu en 31 Diciembre 2014, 22:34 pm
Ahaha... empieza por aclararte que años son o no bisiestos, el resto está tirado


Título: Re: EJERCICIO
Publicado por: sevillano32 en 1 Enero 2015, 19:53 pm
ya la tengo hecha lo que pasa es que me salen los 12 meses seguidos uno detras de otro y tiene quee ser ENERO FEBRERO MARZO
             ABRIL MAYO JUNIO , como puedo mover el cursor en lenguaje C no en c++ con codeblocks  tres meses en tres un saludo


Título: Re: EJERCICIO
Publicado por: engel lex en 2 Enero 2015, 05:01 am
Por offset, multiplicando el largo de la variable por las posiciones a avanzar y se lo sumas al puntero


Título: Re: EJERCICIO
Publicado por: sevillano32 en 2 Enero 2015, 16:27 pm
No he usado punteros he usado una matriz 80x80 char

ya solucione lo del cursor los meti en una matriz pero yo almaceno el año en una variable entera y en la matriz debe mostrar:

ENERO               2014
LU MA MI JU VI SA DO
      1   2
.........

asi tal cual mi problema es que meto la variable anno en la matriz y claro me la muestra en carcteres
mi problema es meter un entero en una matriz char y que se muestre el valor del entero hice eso pero no funciono char(int(a)) no puedo usar ni atio ni nada de eso porque es lenguaje C gracias espero me ayuden es mi mayor problema ahora gracias


Título: Re: EJERCICIO
Publicado por: Yoel Alejandro en 2 Enero 2015, 17:04 pm
Defines un array char auxiliar. Luego con sprintf() imprimes el número entero formateado en una cadena, y luego pasas esa cadena a la posición que le corresponda en la matriz char.
Código
  1. char str[101];
  2. int numero = 2014;
  3.  
  4. sprintf( str, "%04d", numero );

ahora la cadena str contendrá "2014". Ten en cuenta que se añade un carácter nulo de terminación '\0' al final de str.  Lo demás sería copiar los caracteres no nulos de str a la parte que corresponda dentro de la matriz char.

P.D. El formato "%04d" es para que la cadena impresa obligatoriamente consuma 4 dígitos, en caso de por ejemplo 631 escribirá 0631.


Título: Re: EJERCICIO
Publicado por: sevillano32 en 2 Enero 2015, 18:47 pm
muchas grracias me sirvio de ayuda ahora estoy con los dias meterllos en la matriz yo antes sin matriz ni nada mostraba los meses seguidos y asi es facil usaba el algoritmo de zeller para saber la posicion del dia de la  semana donde empezaba el mes pero ahora con matrices estoy despistado me  podeis dar alguna pista para poder hacerlo gracias


Título: Re: EJERCICIO
Publicado por: Yoel Alejandro en 6 Enero 2015, 18:27 pm
Te puedo ayudar, pero escríbeme por favor un txt a mano con la apariencia EXACTA que quieres lograr. Puede ser con sólo tres meses a manera de modelo a seguir. Lo subes a drobpox o algún sitio similar y así lo podemos ver y analizar.

Es difícil darte una pista más específica de cómo seguir sin tener claro el resultado exacto que producir.

Saludos, y espero por tu respuesta.