Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: josephb401 en 04 de Abril 2016, 03:56
-
Creen que alguien me podria decir cuál es el problema con estas lineas de código, cada vez que lo ejecuto no puedo salir del loop
do
{
cout << "\nEnter AM/PM: ";
getline(cin, am_pm);
} while (am_pm != "AM" || am_pm != "PM");
-
Hola!
Diría que tienes mal establecida la condición de salida del bucle.
Supongamos que cuando pide "Enter AM/PM" yo respondeo AM, de modo que am_pm = AM
Al llegar a la condición la evaluación que hace es ¿am_pm es distinto de AM ó distinto de PM?
La respuesta es: true, porque am_pm es distinto de PM y por tanto vuelve a repetir el bucle
La condición habría que expresarla entonces en lugar de con un or con un and
while (am_pm != "AM" && am_pm != "PM");
Ahora si introduzco AM la pregunta es ¿es distinto am_pm de AM y distinto de PM? La respuesta es no y saldría del bucle
Saludos!