diff --git a/jahrtag.c b/jahrtag.c new file mode 100644 index 0000000..3164898 --- /dev/null +++ b/jahrtag.c @@ -0,0 +1,77 @@ +#include + +void textAusgabe() { + printf("0 Ende\n" + "1 Tagesnummer zu einem Datum bestimmen\n" + "2 Datum zu einer Tagesnummer bestimmen\n"); +} + +void eingabeDatum(int *tag, int *monat, int *jahr) { + printf("Gib dein Datum (tt.mm.jjjj) ein: "); + scanf("%d.%d.%d", tag, monat, jahr); +} + +void eingabeTag(int *tag, int *jahr) { + printf("Gib Tagesnummer und Jahr (nr,jahr) ein: "); + scanf("%d,%d", tag, jahr); +} + +int eingabeWahl() { + int input; + printf("Deine Wahl: "); + scanf("%d", &input); + return input; +} + +int istSchaltjahr(int jahr) { + return (jahr % 4 == 0 && (jahr % 100 != 0 || jahr % 400 == 0)); +} + + +int main() { + int input, tag, monat, jahr, TagImJahr,schalt; + + int monat_tage[2][13] = { + { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, + { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } + }; + input = 1; + + do{ + textAusgabe(); + input = eingabeWahl(); + + switch(input) { + case 0: + printf("Programm beendet.\n"); + break; + case 1: + eingabeDatum(&tag, &monat, &jahr); + schalt = istSchaltjahr(jahr); + TagImJahr = 0; + + for(int i = 1;i monat_tage[schalt][i]) { + tag -= monat_tage[schalt][i]; + i++; + } + monat = i; + printf(".... %d. Tag im Jahr = %d.%d.%d\n", TagImJahr, tag, monat, jahr); + + } + } while (input != 0); + return 0; +} \ No newline at end of file