Mehrere möglichkeiten bei if?
-
hi!
Ich will eine kleine Funktion in mein Programm einbauen, die Checkt, ob ein Korrektes Datum eingegeben wurde.
Ich kann jetzt folgendes tun:
if (strDatumMonat == 1) //Wenn Datum gleich 1 ist if(strDatumTag >31) //Prüfe ob Tag Größer als 31 ist. Wenn ja error. MessageBox("Falsches Tagesdatum! Bitte nur Zahlen von 1 bis 31!"); else OnWeiterImProgramm();
Das könnte ich jetzt 12 Mal machen, aber ich finde, dann wird alles ein Bisschen unübersichtlich.
Gibt es nicht eine Möglichkeit zu Prüfen ob 1 oder 3 oder 5 oder 7 usw. im Monatsfeld eingegeben wurde? Dann muss ich nicht alles einzeln machen.Danke im Vorraus
-
switch(monat)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if(tag <=31) cout<<"jup";
break;
case 4:
case 6:
case 9:
case 11:
if(tag<=30) cout<<"jup";
break;
case 2:
//feburar
}
-
static int maxTage[] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; if( tag <= maxTage[monat - 1] ) { // passt }
-
#define ISLEAPYEAR(year) ((!((year) % 4) && (year) % 100) || !((year) % 400)) int iMonth; //der gewünschte Monat int iYear; //das gewünschte Jahr int iMax; //die Maximalen Tage des gewünschten Monats (schaltjahr berücksichtigt) iMax = 31 - (iMonth == 4 || iMonth == 6 || iMonth == 9 || iMonth == 11) - (3*(iMonth == 2) - (iMonth==2)*ISLEAPYEAR(iYear));
-
bool datumIstGueltig(int tag,int monat,int jahr) { return monat>0&&monat<13&&tag>0&&tag<32&&(tag<31¦¦(monat>7!=monat%2==1)) &&(monat!=2¦¦(tag<30&&(((jahr%4==0&&jahr%100!=0)¦¦jahr%400==0)¦¦tag<29))); }
-
@volkard
Ist deine Leertaste kaputt?
-
Ne, bestimmt ist die Festplatte voll. Deswegen hat er die ganzen "unnötigen" Leerzeichen aus allen seinen Codes verbannt...
-
Original erstellt von HumeSikkins:
@volkard
Ist deine Leertaste kaputt?gleich in der ersten zeile sind vier stück.
und drunter hätte jedes weitere leerzeichen nur gestört, wenn es versuchte, den eindruck zu erwecken, man solle solchermaßen mißratenen code lesen.
-
also, ich finde die lösung von <-> echt genial !
coole, aber einfache formel die maximalen tage zu berechnen !
-
Hallo zusammen,
Also, ich finde die lösung von <-> echt genial !
coole, aber einfache formel die maximalen tage zu berechnen !Sollte das nicht lieber eine inline-function sein?
mfg Th3law
-
Ich kann mich noch an diesen schlimmen Code erinnern ...
Den hast du beim BuhaCoding-Contest abgegeben ...
Seit dem hab ich dort meinen Job gekündigt. Sowas kann doch keiner lesen !
-
@th3 law
ich finde doch nur die idee von <-> bewundernswert.
nicht wie sie implementiert ist, sondern nur die idee !!