funktioniert aber hat keine Eingabeüberprüfung
This commit is contained in:
parent
954104e5f0
commit
aace8845a8
77
jahrtag.c
Normal file
77
jahrtag.c
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
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;i++) {
|
||||||
|
TagImJahr += monat_tage[schalt] [i];
|
||||||
|
}
|
||||||
|
TagImJahr += tag;
|
||||||
|
|
||||||
|
printf("%d.%d.%d = %d. Tag im Jahr\n", tag, monat, jahr, TagImJahr);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
int i = 1;
|
||||||
|
eingabeTag(&TagImJahr, &jahr);
|
||||||
|
schalt = istSchaltjahr(jahr);
|
||||||
|
tag = TagImJahr;
|
||||||
|
|
||||||
|
while (tag > 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;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user