//test een gegeven datum #include void main() { int D=0, M=0, J=0; int DF = 0; // DF : Dagen in Februari (re. schrikkelmjaar test) int datumOK = 0; // check input geen negatieve getallen cout << "geef een datum : \n"; /* heel dit programma wordt herhaald zolang datumOK == 0 * swz datum is NIET OK * datum wordt OK als aantal dagen past bij gegeven maand * - zie switch */ while(datumOK==0) { /* deze do-while 's testen dat de dag een positief getal * is, dus groter dan 0. * dit;kan eventueel meegenomen worden in de tests per case * vb. (D < 1 && D > 31) geeft erreor msg * maar dat maakt de output msg moeilijker/minder gebruiksvriendelijk */ do { cout << "dag : \t\t"; cin >> D; } while (D <1); do { cout << "maand : \t"; cin >> M; } while (M < 1); do { cout << "jaar : \t\t"; cin >> J; } while (J < 1); // check datum switch (M) { case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 : //test 31 dagen if (D > 31) { cout << "maand " < 30) { cout << "maand " < DF) { cout << "in " << J <<" heeft februari " << DF << " dagen.\n"; } else {datumOK = 1; }; break; default: /* alle andere gevallen, dus bijv * als maand geen getal van 1 tot 12 */ cout << "geef een maand als getal van 1 tot 12 \n"; break; }; //end switch }; // end while // output cout << endl<