EJERCICIO

Iniciado por sevillano32, 31 Diciembre 2014, 18:36 PM

0 Miembros y 2 Visitantes están viendo este tema.

sevillano32

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


Orubatosu

Ahaha... empieza por aclararte que años son o no bisiestos, el resto está tirado
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998

sevillano32

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

engel lex

Por offset, multiplicando el largo de la variable por las posiciones a avanzar y se lo sumas al puntero
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

sevillano32

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

Yoel Alejandro

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 (cpp) [Seleccionar]

char str[101];
int numero = 2014;

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.
Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)

sevillano32

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

Yoel Alejandro

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.
Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)