#include int verdoomsday(int ano); /*la funcion devuelve el doomsday del aņo deseado*/ main(){ int doomsday,anio,mes,dia,diasemana,diasem,nombredia; printf("Este programa muestra el dia de la semana para una fecha dada\n"); printf("Ingrese el ano\n"); scanf("%d",&anio); printf("Ingrese el mes"); scanf("%d",&mes); printf("Ingrese el dia"); scanf("%d",&dia); if ((mes==4) || (mes==6) || (mes==8) || (mes==10) || (mes==12)) doomsday=mes; else if (mes==9) doomsday=5; else if (mes==5) doomsday=9; else if (mes==7) doomsday=11; else if (mes==11) doomsday=7; else if (mes==3) doomsday=0; else if (mes==2) { if (anio % 4 == 0) if (anio % 100==0) if (anio % 400==0) doomsday=29; else doomsday=28; else doomsday=29; else doomsday=28; } else if (mes==1) { if (anio % 4 ==0) doomsday=4; else doomsday=3; } diasemana = dia - doomsday;/*dias de diferencia al doomsday del mes*/ if (diasemana<0) diasemana=diasemana+7; diasem = verdoomsday(anio);/*que dia es el doomsday del aņo*/ nombredia = ((diasem+diasemana) % 7 ); printf("%d",nombredia); if (anio>1899 && anio<2000) switch(nombredia) { case 0: printf("El dia es miercoles");break; case 1: printf("El dia es jueves");break; case 2: printf("El dia es viernes");break; case 3: printf("El dia es sabado");break; case 4: printf("El dia es domingo");break; case 5: printf("El dia es lunes");break; case 6: printf("El dia es martes");break; } else if (anio>1999 && anio<2100) switch(nombredia){ case 0: printf("El dia es martes");break; case 1: printf("El dia es miercoles");break; case 2: printf("El dia es jueves");break; case 3: printf("El dia es viernes");break; case 4: printf("El dia es sabado");break; case 5: printf("El dia es lunes");break; } else printf("Por favor ingrese un ano entre 1900 y 2000"); getchar(); return 0; } int verdoomsday(int ano){ int a,b,c,d; while (ano>99) ano-=100; a=ano / 12; b=ano % 12; c=b / 4; d=a+b+c; return(d % 7); }