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
-
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
-
...