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