Osterfomel?
-
Hallo,
habe die Osterformel versucht zu programmieren, jedoch stimmt die Berechnung nicht. Bitte um Hilfe, woran kann das liegen?:
void main (void) { int i, ostern, // Ostern m, // Parameter n, // Parameter a, // 19er Rest b, // c, // d, // e, // jahr, // Jahreszahl merker, // Merker für die do-while Schleife r, // Hilfsvariable wiederh; // Hilfsvariable do { a = 0; b = 0; c = 0; d = 0; e = 0; Cls(); merker=0; // Begrüßung printf("|___________________________________|\n"); printf("| |\n"); printf("| F E I E R T A G B E R E C H N E R |\n"); printf("|___________________________________|\n"); printf("| |\n"); printf("| Berechnet von Feiertage bis 2300 |\n"); printf("|___________________________________|\n"); printf("| |\n"); printf("| Bitte geben Sie Das Jahr ein: |\n"); scanf("%i", &jahr ); /***************************************************************/ // ANFANG OSTERFORMEL // Ausschliessung einer Falscheingabe if(jahr<2300) { // ANFANG von Bestimmung von "N" und "M" if (jahr<=1582) { m =15; n=6; } if (jahr>=1582 && jahr<=1699) { m =22; n=2; } if (jahr>=1700 && jahr<=1799) { m=23; n=3; } if (jahr>=1800 && jahr<=1899) { m=23; n=4; } if (jahr>=1900 && jahr<=2099) { m=24; n=5; } if (jahr>=2100 && jahr<=2199) { m=24; n=6; } if (jahr>=2200 && jahr<= 2299) { m=25; n=0; } // ENDE von Bestimmung von "N" und "M" // ANFANG von bestimmung von Hilfsvariablen "a bis e" a = jahr %19; b = jahr %4; c = jahr %7; d = (19 * a + m) %30; e = (2*b + 4*c + 6*d + n) %7; // ENDE von bestimmung von Hilfsvariablen // ANFANG von bestimmung von Hilfsvariablen "r" // ENDE von bestimmung von Hilfsvariablen "r" if (d+e>9) { ostern = d + e - 9; printf("Ostern ist am %i ten März", ostern); } else { ostern = 22 + d + e; printf("Ostern ist am %i ten März", ostern); } //ENDE OSTERFORMEL /***************************************************************/ // Feststehende Feiertage printf("\n 24 Dezember \n"); printf(" 25 Dezember - Weihnachten \n"); printf(" 01 Januar - Neujahr \n"); } else { // Alternative Ausgabe bei einer falscheingabe printf("Diese Jahrzahl kann leider nicht berechnet werden!\n"); } printf("\n\nMöchten Sie eine erneute berechnung von beweglichen Feiertagen berechen\nfür Ja=1 für Nein=2"); scanf("%i", &wiederh); if (wiederh==1) { printf("HHHHH"); merker=1; } if (wiederh==2) { merker=0; } } while (merker==1); // Proramm ENDE printf("\n TSCHAU"); }
Danke im Voraus
S.
-
vielleicht an der Osterformel selbst?
-
gh0st124 schrieb:
vielleicht an der Osterformel selbst?
rofl!
Also ich hab mir deinen Code jetzt nicht durchgelesen, aber guck doch mal hier!