TINF_Abgaben

Simbuerger_03_Uebung.cpp

Committer:
Ursukar
Date:
2020-04-21
Revision:
2:e26ede163624
Child:
3:5e9d7e9d2fbc

File content as of revision 2:e26ede163624:

//////////////////////////////////////////////////////
//                                                  //
//      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;
}