Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
3
respuestas

Situación mayor que 18 y sin licencia de conducir + menor que 18 y con licencia de conducir.

Al escribir mi código me funciona para todas las opciones menos para cuando se es mayor de 18 y no se posee licencia. Ingreso las letras en mayúsculas como corresponde pero no me doy cuenta del error. También me sucede que no me devuelve una respuesta cuando ingreso que soy menor de 18 y si poseo licencia. Me podrían ayudar a encontrar el error? desde ya muchas gracias.

<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 S o N");

    if(edad>=18){

        if(tieneLicencia=="S"){
            imprimir("Puedes conducir");
        }
    }
    if(edad<18){

        if(tieneLicencia=="N"){
            imprimir("No puedes conducir");
        }
    }

</script>
3 respuestas

Hola Jorgelina buenos días, el motivo por el que no te da respuesta en ese caso eso porque no hay ninguna condición para que la lance. En tu código lanzará un mensaje cuando se den los casos de que sea mayor de 18 y tenga licencia ("Puedes conducir") y si es menor de 18 y no tiene licencia ("No puedes conducir"). Pero además de esos dos casos también están los casos de cuando es mayor de 18 y NO tiene licencia, y de cuando es menor de 18 y tiene licencia. En estos dos casos no lanzará un mensaje. Se podría preguntar por cada caso individual para los cuatro casos o la forma más corta sería preguntar por la única condición en la que "puede conducir" que sería si es mayor de 18 años y tiene licencia, y utilizar el else para lanzar el mensaje que "no puede conducir". Por lo que el código quedaría:

if(edad>=18 && tieneLicencia=="S") {
    imprimir("Puedes conducir");
} 
else {
    imprimir("No puedes conducir");
}

Espero haber ayudado con tu duda. Saludos

Gracias por tu respuesta, no entendia como procesaba el código las condiciones del segundo if...yo luego utilicé la opción else pero queria saber como podia validar mi codigo inicial.

Iba a hacer la misma pregunta, pero si tenia mas o menos claro del por que no me daba respuesta, para entenderlo mas facil y no hacerse lio en la cabeza, buscar las condiciones por las cuales si puedes conducir, por lo demas, que se lo lleve el else jajajaja