#include <stdio.h>
#include <stdlib.h>
int main()
{
//3.27 Jahreszahl
int jahr, monat, tag, check;
//Eingabelogik und Überprüfung
do
{
fflush(stdin);
printf("Geben Sie ein Datum (dd:mm:jjjj) ein: ");
check = scanf("%2d:%2d:%4d", &tag, &monat, &jahr);
if((check != 3))
{
printf("Fehler bei der Eingabe!\n");
}
}
while(check != 3);
if(tag > 31){
printf("Mehr als 31 Tage sind nicht moeglich");
return 0;
}else if(((tag > 29) && (monat == 2)) ||
((tag == 29) && (monat == 2) && !((jahr % 400 == 0) ||
(jahr % 4 == 0) && (jahr % 100 != 0)))){
printf("Der Monat hat nur 28 Tage!");
return 0;
}
//Fall-Through Switch
switch(monat)
{
case 12:
tag += 30;
case 11:
tag += 31;
case 10:
tag += 30;
case 9:
tag += 31;
case 8:
tag += 31;
case 7:
tag += 30;
case 6:
tag += 31;
case 5:
tag += 30;
case 4:
tag += 31;
case 3:
if((jahr % 400 == 0) || (jahr % 4 == 0) && (jahr % 100 != 0))
{
tag += 29;
}
else
{
tag += 28;
}
case 2:
tag += 31;
case 1:
tag += 0; break;
default: printf("Kein gueltiges Monat!"); return 0;
}
printf("Es sind %d Tage vergangen!", tag);
return 0;
}