Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

Codigo Puedes Conducir Duda

Buena noche, el código es el explicado en los videos, mi duda es, si la persona no posee los 18 años requerimiento mínimo para continuar con el código este debería parar su ejecución luego del mensaje de "No Puedes Conducir" entonces si ingreso una edad menos a 18, igual me pregunta por la licencia. Pero la idea es que se detenga ahí, alguien podría ayudarme con la corrección ?

<meta charset="UTF-8">

<script>
    function saltarLinea() {
        document.write("<br>");
    }

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var edad = parseInt(prompt("¿Cuál es tu edad?"));
    var tieneLicencia = prompt("¿Tienes licencia? Responde SI o NO");

    if((edad >= 18) && (tieneLicencia == "SI")) {
            alert("Puedes conducir");
        }

    else {
        alert("No puedes conducir");
    }

</script>
4 respuestas
solución!

Saludos, para eso debes poner la variable que te pregunta si tienes licencia (var tieneLicencia) dentro de una condición if y en esta condición compruebas si es menor de 18, si no es menor ejecuta la parte del codigo que pide ingresar si tiene licencia y si es menor ejecuta la alerta de "no puedes conducir"

quedaría algo así:

var edad = parseInt(prompt("¿Cuál es tu edad?"));

    if(edad >= 18 ) {
        var tieneLicencia = prompt("¿Tienes licencia? Responde SI o NO");
        if(tieneLicencia == "SI") {
            alert("Puedes conducir");

            } else {
                alert("No puedes conducir");
            } 

    } else {
        alert("No puedes conducir");
    }

Compañero Muchas Gracias, pero con esta solución me ha surgido otra duda, estuve probando y si ingreso cualquier texto diferente a un "SI" el código lo toma como un "NO" cuando solicita la info de la licencia, pese a que es obvio que la respuesta es cerrada, hay forma de condicionar al usuario es decir en caso de que por un error de escritura este ingrese algo diferente a si o no, no se le permita pasar de ahí y el mensaje de "¿Tienes licencia? Responde SI o NO" se repita hasta que el usuario ingrese correctamente la respuesta ??

saludos compañero, claro que se puede, para verificar si el usuario ingresa un valor diferente a "SI" o "NO" debes crear otro condicional que es else if en este condicional pones que la respuesta sea igual a "NO" y su respectiva instrucción, luego cierra el condicional con un else y una alerta que indique que el valor no es válido, de este modo cuando la respuesta sea "SI" ejecuta las instrucciones del if si la respuesta es "NO" ejecuta las instrucciones del else if y si la respuesta es diferente a "SI" o "NO" ejecuta las instrucciones del else

Ahora, para que el programa te vuelva a preguntar por la respuesta cuando la respuesta sea diferente a un "SI" o un "NO" debes crear un ciclo while, de esta forma cuando se cumplan las condiciones del if y elelse if el ciclo se rompe haciendo uso de la palabra clave break, por el contrario, si entra al elseel ciclo continua preguntando por la respuesta.

adicionalmente en mi código hice lo mismo para la pregunta de la edad, por eso tengo dos ciclos while

si tienes alguna duda sobre lo que hice en el código puedes preguntar :)

<script>


    var verificar = true
    while (verificar){
        var edad = parseInt(prompt("¿Cuál es tu edad?"));
        if(edad >= 18 ) {

            while(true){
                var tieneLicencia = prompt("¿Tienes licencia? Responde SI o NO");
                if(tieneLicencia == "SI") {
                    alert("Puedes conducir");
                    verificar = false
                    break;

                } else if (tieneLicencia == "NO") {
                    alert("No puedes conducir");
                    verificar = false
                    break

                } else {
                    alert("Ingresó un valor no válido, por favor ingrese de nuevo su respuesta SI o NO");
                }
            }


        } else if (edad < 18) {
            alert("No puedes conducir");
            break

        } else {
            alert("ingresó un valor no válido, por favor ingrese de nuevo la edad")

        }
    }

Compañero gracias estuve leyendo su comentario y lo pondré en practica a ver