TINF_Abgaben
Diff: Simbuerger_03_Uebung.cpp
- Revision:
- 2:e26ede163624
- Child:
- 3:5e9d7e9d2fbc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Simbuerger_03_Uebung.cpp Tue Apr 21 18:09:00 2020 +0000 @@ -0,0 +1,100 @@ +////////////////////////////////////////////////////// +// // +// Aufgabe ist es, wenn man ein // +// Datum eingibt, dass der folgende // +// Tag angezeigt wird. // +// Schaltjahre müssen berücksichtigt werden // +// // +////////////////////////////////////////////////////// + +#include <stdio.h> +#include <math.h> +#include <iostream> + +using namespace std; + + +class Datum +{ + public: + int Tag; + int Monat; + int Jahr; + + int berechneDatum(); + + int leseTag() {return Tag;}; + int leseMonat() {return Monat;}; + int leseJahr() {return Jahr;}; + + Datum(); + Datum(int t, int m, int j); +}; + +int Datum::berechneDatum(){ + bool Schaltjahr = 0; + if(Jahr%4 == 0) + { + Schaltjahr = 1; + } + + Tag += 1; + + if((Monat == 1 || Monat == 3 || Monat == 5 || Monat == 7 || Monat == 8 || Monat == 10 || Monat == 12) && Tag < 31) + { + + if(Tag >= 31) + { + Monat += 1; + Tag = 1; + } + if(Monat > 12){ + Jahr +=1; + } + } + else if(Monat == 2 && Tag > 28) + { + Monat += 1; + Tag = 1; + } + else if(Tag > 30) + { + Monat += 1; + Tag =1; + } + if(Schaltjahr == 1 && (Monat == 2 && Tag > 28)) + { + Monat += 1; + Tag = 1; + } +} + +Datum::Datum(){ + +} + +Datum::Datum(int t, int m, int j) +{ + + Tag = t; + Monat = m; + Jahr = j; +}; + +int main() +{ + + int Tag; + int Monat; + int Jahr; + cout << "Bitte geben Sie ein Datum ein" << endl; + cout << "Tag: ", cin >> Tag; + cout << "Monat: ", cin >> Monat; + cout << "Jahr: ", cin >> Jahr; + + + Datum d(Tag, Monat, Jahr); + d.berechneDatum(); + printf("Datum: %d.%d.%d \n", d.leseTag(), d.leseMonat(), d.leseJahr()); + return 0; +} \ No newline at end of file