Advertisement
Guest User

Zeller #2

a guest
Oct 7th, 2011
908
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.67 KB | None | 0 0
  1. /*Programa: Congruencia De Zeller
  2.   Realizado Por: Jorge Chayan*/
  3. #include <stdio.h>
  4.  
  5. int zeller(int , int, int);
  6.  
  7. int main()
  8. {
  9.     int meses[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  10.     char *dia_sem;
  11.     int mes;
  12.     int dia;
  13.     int anio;
  14.     int res;
  15.     do
  16.     {
  17.         printf ("\nDia: ");
  18.         scanf ("%d", &dia);
  19.         printf ("\nMes: ");
  20.         scanf ("%d", &mes);
  21.         if (dia > meses[mes]) printf ("\nError En El Mes Seleccionado No Existe Tal Dia\n");
  22.         if (dia < 1) printf ("\nError! Dia 0 no Existe!\n");
  23.         if (mes < 1 || mes > 12) printf ("\nError. Rango De Mes: 1-12\n");
  24.     }while (dia > meses[mes] || dia < 1 || mes < 1 || mes > 12);
  25.  
  26.     printf ("\nA\244o: ");
  27.     scanf ("%d", &anio);
  28.     if (mes < 3) anio = anio - 1;
  29.     res = zeller(anio, mes, dia);
  30.     switch (res)
  31.     {
  32.          case 0:
  33.                 dia_sem = "Domingo";
  34.                 break;
  35.          case 1:
  36.                 dia_sem = "Lunes";
  37.                 break;
  38.          case 2:
  39.                 dia_sem = "Martes";
  40.                 break;
  41.          case 3:
  42.                 dia_sem = "Miercoles";
  43.                 break;
  44.          case 4:
  45.                 dia_sem = "Jueves";
  46.                 break;
  47.          case 5:
  48.                 dia_sem = "Viernes";
  49.                 break;
  50.          case 6:
  51.                 dia_sem = "Sabado";
  52.                 break;
  53.     }
  54.    
  55.     printf ("\nLa Fecha Corresponde Con Un %s", dia_sem);
  56.     getchar();
  57.     getchar();
  58.     return 0;
  59. }
  60.  
  61. int zeller(int y, int m, int d)
  62. {
  63.     int t[12] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
  64.     return (y + (y / 4) - (y / 100) + (y / 400) + t[m-1] + d) % 7;
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement