Necesito ayuda soy estudiante de programacion

VicLogic
19 de Agosto del 2009
buenas....a todos los maestros....
necesito ayuda en esta tarea....soy estudiante estoy empezando....me he cansado de buscar y no he podido resolver este problema miren tengo este programa....
#include <stdio.h>

void leerentrada(int *pm, int *pd, int *pa);
int convertir(int mm, int dd, int aa);

main()
{
int mm, dd, aa;
int dia_semana;
static char *diasemana[] = { "Domingo", "Lunes", "martes", "miercoles", "jueves", "viernes", "sabado"};
static char * mes[] = { "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre",
"octubre", "noviembre", "diciembre"};

printf("rutina de conversion de fechan para parar, introducir 0 0 0 ");

leerentrada(&mm, &dd, &aa);

while (mm>0){
dia_semana = convertir(mm, dd, aa);
printf("n%s, %s %d, %d", diasemana[dia_semana], mes[mm-1], dd, aa);
leerentrada(&mm, &dd, &aa);
}
}

void leerentrada(int *pm, int *pd, int *pa)
{
printf("nnintroducir mm dd aaaa: ");
scanf("%d %d %d", pm, pd, pa);
return;
}

int convertir(int mm, int dd, int aa)
{
long ndias;
long nciclos;
int nanios;
int dia;

aa -= 1900;
ndias = (long) (30.42 * (mm-1)) +dd;
if (mm ==2) ++ndias;
if ((mm>2) && (mm<8)) --ndias;

if ((aa % 4 == 0) && (mm>2)) ++ndias;

nciclos = aa / 4;

ndias += nciclos * 1461;

nanios = aa % 4;

if (nanios > 0)
ndias +=365 * nanios +1;
if (ndias > 59) --ndias;

dia = ndias % 7;

return(dia);
}



lo que pasa es que necesito que trabaje pero utilizando variables de estructura (struct)........estoy leyendo sobre eso pero mientras leo quisiera tenerlo resuelto......muchas gracias!!.....