Datumcheck



  • Ich versuche nun schon seit Stunden ein Programm zu schreiben welches um die
    Eingabe des aktuellen Datums bittet. Die Eingabe soll solange wiederholt werden, bis ein gültiges Datum eingegeben wird, also beispielweise nicht der 31. Februar oder eine Jahreszahl < 2013.

    soweit bin ich schon aber irgendwie. will das ding nicht das was ich will. Februar will er irgendwie nicht akzeptieren als Monat jedesmal wenn ich ein datum im Februar eingebe kommt eine Fehler Meldung.

    Findet jmd von euch den Fehler??

    programiersprache ist c++

    #include <iostream>
    
    using namespace std;
    int tt, mm, jahr, i;
    bool schaltjahr;
    
    int main ()
    {	Datumcheck:
    	cout << "Geben Sie Bitte das aktuelle Datum an" << endl;
    	cout << "Tag:	";
    	cin >> tt ;
    	cout << "Monat:	";
    	cin >> mm ;
    	cout << "Jahr:	";
    	cin >> jahr;
    
    // Für alle Monate mit 30 und 31 Tagen gültiges Datum ansonsten erneute angabe Ferbuar ausgeschlossen
    if (jahr>=2013 )																		
    	{	if (mm<=12)
    		{	if (mm==1 || mm==3 || mm==5|| mm== 7|| mm== 8 || mm== 10 || mm==12)
    			{
    				if (tt<=31 && mm!=2 && tt>0)
    				cout << "Das Datum ist Gueltig wir haben den	"<< tt<<"." <<mm <<"." << jahr << endl;
    				else
    				{	cout << " Das Datum ist ungueltig. Bitte Gebe Sie es erneut ein."<<endl<<endl;
    					goto Datumcheck; }
    			}
    			else
    				{if(tt<=30 && mm!=2)
    				cout << "Das Datum ist Gueltig wir haben den	"<< tt<<"." <<mm <<"." << jahr << endl<<endl;
    				else
    				{	cout << " Das Datum ist ungueltig. Bitte Gebe Sie es erneut ein."<<endl<<endl;
    					goto Datumcheck; }	
    	            }
    		}	
    
    	}
    else
    	{cout << "Das Datum ist ungueltig. Bitte Gebe Sie es erneut ein."<<endl<<endl;
    	goto Datumcheck; }
    
    // Testen ob Schaltjahr
    if (jahr % 4 == 0) 
        { 
            if (jahr % 100 == 0) 
            { 
                if (jahr % 400 == 0) 
                { 
                schaltjahr = true; 
                } 
                else 
                { 
                schaltjahr = false; 
                } 
            } 
            else 
            { 
            schaltjahr = true; 
            } 
    
        } 
        else 
        { 
        schaltjahr = false; 
    	}
    
    // Februar bei Schaltjahr 29 ansonsten 28
    if(mm=2)
        {
    		if(schaltjahr == true)
                {if(tt<=29 && tt>0)
    			cout << "Das Datum ist Gueltig wir haben den	"<< tt<<"." <<mm <<"." << jahr << endl<<endl;}
                 else
                {cout << "Das Datum ist ungueltig. Bitte Gebe Sie es erneut ein."<<endl<<endl;
    		    goto Datumcheck; }}
    		else
                {if(tt<=28 && tt>0)
                cout << "Das Datum ist Gueltig wir haben den	"<< tt<<"." <<mm <<"." << jahr << endl<<endl;
                 else
                {cout << "Das Datum ist ungueltig. Bitte Gebe Sie es erneut ein."<<endl<<endl;
    		    goto Datumcheck; }
        }
    
    return 0;
    
    }
    


  • Was macht das?

    if(mm=2)
    


  • Das soll für den Fall Monat gleich 2 also Falls als monat Februar inittialisiert wurde gelten


  • Mod

    kralhueseyin schrieb:

    Das soll für den Fall Monat gleich 2 also Falls als monat Februar inittialisiert wurde gelten

    Was meinst du, wieso manni66 wohl diese Frage gestellt hat? Guck nochmal genauer hin.



  • zuweißungsoperator??



  • ja



  • ...


Log in to reply