Dev - C++ - El ciclo infinito del dolor

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 6 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

El ciclo infinito del dolor

Publicado por Adrián (4 intervenciones) el 09/10/2016 19:19:45
Tengo un programa sencillo en programacion estructurada. Pero la parte resaltada es un ciclo que cuando lo corro, no se detiene.

Trate de darle a la variable un valor antes de la condicion, para ver si podia hacer que se ejecutara una vez. No funcionó.


Les dejo el enlace del codigo para mas claridad: https://drive.google.com/open?id=0B_-A0dq0GDajZXliWHN6RjBBUWM
Codigo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 171
Ha aumentado 1 puesto en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

El ciclo infinito del dolor

Publicado por juanki (73 intervenciones) el 09/10/2016 20:53:53
Hola

El problema es que estás usando OR (||), pero deberías usar AND (&&) por que deben cumplirse las dos condiciones, que sea distinto de 1 y que sea distinto de 2. Usando OR, si se introduces un 2, se evalúa la primera condición sex!=1 y da true, ya que 2 es distinto de 1 y por tanto ya no se evalúa la segunda y sigue. Por cierto, yo cambiaría el while por un do...while.

Otro detalle es la variable string sexo[10], estás creando un array de 10 string, supongo que te has confundido y querías hacer array de char como en las otras variables, pero al usar string no necesitas darle un tamaño, puedes hacer directamente string sexo y ya tienes una cadena de caracteres.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar