AYUDAAAAAAA PORFAVORRRRRRRR

formx
15 de Noviembre del 2003
Hola a todos hasta ahora estoy aprendiendo turbo c++ y tengo un problema con un programita ya lo hice pero de una forma muy mediocre y tal vez ustedes me den una solución mas adecuada.


El programa es un calendario del mes de enero del año 2004 en unas listas o matriz. El cual tiene que imprimir en pantalla todos sus 31 días con 0 excepto los domingos los cuales deben imprimir un dos y para los festivos 1; para imprimir los domingos hay que hacer un ciclo que el los imprima;

Me explico


ENERO DE 2004

J V S D L M M J V S D L M M J V S D L M M J V S D L M M J V S
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31
1 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0


Y el código fuente que les envio este pone todos los domingos mediante el “printf “ yo habia pensado en imprimir el primer domingo que esta ubicado en el cuarto nodo y de ahí cada 7 nodos me imprimiera 2 para no requerir tantos “printf”

Esto me toca hacerlo para todo el año pero les agradezco que me ayuden con este mes el codigo fuente es

#include "stdio.h"
#include "alloc.h"
#include "conio.h"
#include "dos.h"
#define memoria (struct nodo*) malloc (sizeof(struct nodo))

struct nodo{
int dato;
struct nodo*sig;
struct nodo*ant;
};
int numnodos;
int i;
void main()
{
clrscr();
struct nodo*cabeza,*q;
cabeza=NULL;
numnodos=1;
gotoxy(1,1);
printf("ENERO");
gotoxy(1,2);
printf("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 30n");
while(numnodos<=31){
q=memoria;
q->dato=numnodos;
q->sig=cabeza;
cabeza=q;
numnodos=numnodos+1;
i=0;
gotoxy(i++,10);
printf("%d ",cabeza=0);
getch();
}
cabeza->dato=1;
gotoxy(1,4);
printf("%d ",cabeza->dato);
q->dato=2;
gotoxy(7,4);
printf("%d ",q->dato);
gotoxy(21,4);
printf("2");
gotoxy(35,4);
printf("2");
gotoxy(49,4);
printf("2");
getch();
}


muchas gracias por su ayuda espero que este programa sea un reto personal como lo es para mi.