Código C++:
Ver original
do{ accion == ' '; if (accion == 'e' || accion == 'E'){ accion == ' '; entrar_vehiculo(); } else if (accion == 's' || accion == 'S'){ accion == ' '; salir_vehiculo(); } printf("\nIndique acción a realizar (Si entra vehiculo pulse 'E', si sale vehiculo pulse 'S' si desea finalizar el programa pulse 'F'): "); } while (accion!= 'f' && accion != 'F');
La primera vez el bucle funciona correctamente, pero las siguientes el 'printf' se me repite dos y hasta tres veces porque, creo, el 'scanf' lee datos "residuales" que he introducido para otras funciones del programa en lugar de esperar a que introduzca nuevos datos, de manera que el bucle da una vuelta sin realizar ninguna acción y vuelve a introducir el texto. Creo que es un error básico, pero no he encontrado solución clara. Agradeceré cualquier aportación.