Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Programa: Congruencia De Zeller
- Realizado Por: Jorge Chayan*/
- #include <stdio.h>
- #include <cmath>
- int zeller(int , int, int);
- int main()
- {
- int meses[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
- char *dia_sem;
- int mes;
- int dia;
- int anio;
- int res;
- do
- {
- printf ("\nDia: ");
- scanf ("%d", &dia);
- printf ("\nMes: ");
- scanf ("%d", &mes);
- if (dia > meses[mes]) printf ("\nError En El Mes Seleccionado No Existe Tal Dia\n");
- if (dia < 1) printf ("\nError! Dia 0 no Existe!\n");
- if (mes < 1 || mes > 12) printf ("\nError. Rango De Mes: 1-12\n");
- }while (dia > meses[mes] || dia < 1 || mes < 1 || mes > 12);
- printf ("\nA\244o: ");
- scanf ("%d", &anio);
- if (mes < 3) anio = anio - 1;
- res = zeller(anio, mes, dia);
- switch (res)
- {
- case 0:
- dia_sem = "Domingo";
- break;
- case 1:
- dia_sem = "Lunes";
- break;
- case 2:
- dia_sem = "Martes";
- break;
- case 3:
- dia_sem = "Miercoles";
- break;
- case 4:
- dia_sem = "Jueves";
- break;
- case 5:
- dia_sem = "Viernes";
- break;
- case 6:
- dia_sem = "Sabado";
- break;
- }
- printf ("\nLa Fecha Corresponde Con Un %s", dia_sem);
- getchar();
- getchar();
- return 0;
- }
- int zeller(int y, int m, int d)
- {
- int c = y / 100; //centuria
- float f = ((2.6*m - 0.2) + d + y + (y / 4) + (c / 4) - 2*c);
- return (int) round(f) % 7;
- }
Add Comment
Please, Sign In to add comment