Ich habe diese Funktion, die die Eingabe von Stunden und Minuten dauert. Und wenn das Trennzeichen kein Doppelpunkt ist, sollte es einen Fehler geben. Dasselbe gilt, wenn die Stunden größer als 23 und Minuten größer als 59 sind. Mit meiner aktuellen Schleife scheint die Weile bool immer wahr zu sein. Was habe ich falsch gemacht? Ich kann nichts sehen, was ich ändern könnte.While Schleife wird immer wahr C++
int delaString(string &samtalStart, int &timmarStart, int &minuterStart) {
istringstream is(samtalStart);
char colon;
getline(cin, samtalStart);
is >> timmarStart >> colon >> minuterStart;
while (colon != ':' || timmarStart > 23 || minuterStart > 59) {
cout << "Inkorrekt inmatning, var vänligen skriv in en timme mellan 00-23 och minuter mellan 0-59 i formatet tt:mm.\n" << endl;
getline(cin, samtalStart);
}
// is >> timmarStart >> colon >> minuterStart;
return(timmarStart, minuterStart);
}
Hinweis: Wo untersuchen Sie den neuen Eingang? – molbdnilo
Und was erwarten Sie von 'return (timmarStart, minuterStart)'? (Hinweis: es gibt 'minuterStart' zurück.) – molbdnilo
@molbdnilo meinst du, ich sollte eine if vor der while-Schleife verwenden? – Thesar