HOLA AMIGOS NECESITO REALIZAR UN PROGRAMA QUE CALCULE EL NUMERO DE DIAS UTILIZANDO FUNCIONES UNICAMENTE PARA EL AÑO 2011
SE DEBERAN VALIDAR LOS MESES Y EL AÑO OJO 2011
PERO PARA LA FECHA (DIA,MES,AÑO) Y PARA LA FECHA 2 DEBO UTILIZAR LA MISMA FUNCION ES UN TRABAJO Q MI PROFESOR ME ENVIO LO CUAL NO COMPRENDO MUCHO:
EJEM HOY ES 9 DE SEP DEL 2011 FECHA 1
OTRA FECHA 7 DE SEP DEL 2011 LA DIFERENCIA DE DIAS ES 2 DIAS
AQUI LES DEJO UN PROGRAMA QUE ES SIMILIAR AL PEDIDO Y QUE TIENE LA METODOLOGIA QUE EL PROFESOR APLICA. PORFA VOR AYUDA. GRACIAS
#include <stdio.h>
int validadia ();
int validames ();
int validaanio ();
int dias(int d, int m);
void nombredia(int acu);
void nombremes (int mm);
void main ()
{
int d,m,a,acudias;
d=validadia();
m=validames();
while ((m==2)&&(d>28))
{
printf ("Febrero solo tiene 28 días... Ingrese día ==> ");
scanf("%d",&d);
}
while (((m==4)||(m==6)||(m==9)||(m==11)) &&(d>30))
{
printf ("Estos mese solo tienen 30 días... Ingrese día ==> ");
scanf("%d",&d);
}
a=validaanio();
acudias=dias(d,m);
acudias%=7;
nombredia(acudias);
printf ("\n Fecha ingresada dia %d mes ",d);
nombremes(m);
printf("año %d",a);
}
int validadia ()
{
int dd;
do{
printf("Ingrese dia ==> ");
scanf("%i",&dd);
}while ((dd>31)||(dd<0));
return dd;
}
int validames ()
{
int mm;
do{
printf("Ingrese mes ==> ");
scanf("%i",&mm);
}while ((mm>12)||(mm<0));
return mm;
}
int validaanio ()
{
int aa;
do{
printf("Ingrese año ==> ");
scanf("%i",&aa);
}while (aa!=2011);
return aa;
}
int dias (int dd, int mm)
{
int acu=0;
switch (mm)
{
case 1: acu=dd;
break;
case 2: acu=31+dd;
break;
case 3: acu=59+dd;
break;
case 4: acu=90+dd;
break;
case 5: acu=120+dd;
break;
case 6: acu=151+dd;
break;
case 7: acu=181+dd;
break;
case 8: acu=212+dd;
break;
case 9: acu=243+dd;
break;
case 10: acu=273+dd;
break;
case 11: acu=304+dd;
break;
case 12: acu=334+dd;
break;
}
return acu;
}
void nombredia(int acu)
{
switch (acu)
{
case 3: printf ("Lunes");
break;
case 4: printf ("Martes");
break;
case 5: printf ("Miercoles");
break;
case 6: printf ("Jueves");
break;
case 7: printf ("Viernes");
break;
case 1: printf ("Sabado");
break;
case 2: printf ("Domingo");
break;
}
}
void nombremes(int mm)
{
switch (mm)
{
case 1: printf ("Enero");
break;
case 2: printf ("Febrero");
break;
case 3: printf ("Marzo");
break;
case 4: printf ("Abril");
break;
case 5: printf ("Mayo");
break;
case 6: printf ("Junio");
break;
case 7: printf ("Julio");
break;
case 8: printf ("Agosto");
break;
case 9: printf ("Septiembre");
break;
case 10: printf ("Octubre");
break;
case 11: printf ("Noviembre");
break;
case 12: printf ("Diciembre");
break;
}
}