1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define MAX 80
  5.  
  6. int main()
  7. { /*endlos schleife*/
  8. while(1==1)
  9. {
  10. /*variablen definition*/
  11. int day, month,year, yearh, yearl , A, W;
  12. /*eingabe*/
  13. scanf("%02d.%02d.%04d", &day, &month, &year);
  14.  
  15. /*scanf("%i", &day);
  16. scanf("%i", &month);
  17. scanf("%i", &yearh);
  18. scanf("%i", &yearl);*/
  19.  
  20.  
  21. /*abruch bedingungen*/
  22.  
  23. if(month>12 || month<=0){
  24. printf("FALSCHE ANGABE --> CRITICAL ERROR!\n");
  25. system("PAUSE");
  26. return 0;}
  27. if(day>31 || day<=0){
  28. printf("FALSCHE ANGABE --> CRITICAL ERROR!\n");
  29. system("PAUSE");
  30. return 0;}
  31.  
  32. if(month==2 && day>29){
  33. printf("FALSCHE ANGABE --> CRITICAL ERROR!\n");
  34. system("PAUSE");
  35. return 0;}
  36. if(month==4|6|9|11 && day>30){
  37. printf("FALSCHE ANGABE --> CRITICAL ERROR!\n");
  38. system("PAUSE");
  39. return 0;}
  40. if(year <1582 || (year ==1582 && month < 10) || (year ==1582 && month == 10 && day <15)){
  41. printf("Invalid Input");
  42. return 0;}
  43.  
  44.  
  45. yearh = year/100;
  46. yearl = year%100;
  47.  
  48. /*gauß monat array*/
  49. int gm[] = {11,12,1,2,3,4,5,6,7,8,9,10};
  50. if(month == 1 || month == 2)
  51. {year--;}
  52.  
  53.  
  54. /* A = d + [2.6*m - 0.2] + y + [y/4] + [c/4] - 2*c */
  55. A = day + (2.6*gm[month-1]-0.2) + yearl + (yearl/4) + (yearh/4) - 2 * yearh;
  56.  
  57. printf("%i\n", W = A % 7);
  58.  
  59. /*text ausgabe*/
  60. if(W==1){
  61. printf("Wochentag = Montag\n");}
  62. else if (W==2){
  63. printf("Wochentag = Dienstag\n");}
  64. else if (W==3){
  65. printf("Wochentag = Mittwoch\n");}
  66. else if (W==4){
  67. printf("Wochentag = Donnerstag\n");}
  68. else if (W==5){
  69. printf("Wochentag = Freitag\n");}
  70. else if (W==6){
  71. printf("Wochentag = Samstag\n");}
  72. else if (W==0){
  73. printf("Wochentag = Sonntag\n");}
  74.  
  75.  
  76. system("pause");}
  77. /*schleife ende ---> restart*/
  78. }
  79.