Hallo dies ist meine zweite Frage für die gleiche C++ Programm (sorry, wenn dies eine einfache Frage ist)Diese Schleife wird beendet, obwohl die Bedingung immer noch erfüllt ist.
ich eine Schleife zu verwenden, ich versuche zu überprüfen, ob eine Eingabe gültig war. Diese Schleife scheint jedoch nicht zu respektieren, ob die Eingabe gültig war oder nicht.
int b(-1);
check = false;
while (b < 1 || b > 12)
{
if (check)
std::cout<<"Sorry try again!\nMonth: ";
std::cin>>b;
check = true;
{
Wenn der Benutzer einen Wert zwischen 1 und 12 eingibt. Andernfalls mit der Schleife fortfahren.
Allerdings, wenn ich das Programm ausführen und einen ungültigen Eingang eingeben, geht es weiter.
Year: 2017
Month *In number format*: 20
Day:
Sogar -1 funktioniert nicht und das ist seltsam, weil ich den Wert als -1 setze, bevor die Schleife beginnt.
Year: 2017
Month *In number format*: -1
Day:
Ist es die Verwendung der oder Anweisung mit weniger als und größer als?
Bitte geben Sie den vollständigen Code-Schnipsel –
leid, dass ich die falsche geschweifte Klammer falsch gesetzt. – amgtree
korrigieren Sie es, indem Sie Ihre Frage erneut aktualisieren .. –