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

[Duda] Puede ser que los tres ejemplos tienen un error? Yo lo hice de otra manera para que funcione bien.

<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) && (tieneLicencia == "s")) {
            imprimir("Puedes conducir");
        }


        if((edad < 18) || (tieneLicencia == "n")) {
        imprimir("No puedes conducir");
    }

</script>
3 respuestas

En la pregunta (¿Tienes licencia? Responde s o n) cambié mayúsculas por minúsculas.

En el último if agregué: || (tieneLicencia == "n") para que devuelva false si contesto "n".

Buenas Ernesto, no se cual error encuentras. yo creo que el tercero, el que tiene el else es el mejor y funciona bien. pero son difrentes formas de pensar la solucion y si te funciona bien quiere decir que tambien está bien. saludos colega

Hola Miguel, quizas esté equivocado pero en el tercer ejemplo al usar:

if((edad >= 18) && (tieneLicencia == "s")) { imprimir("Puedes conducir"); }

if(edad < 18) {
    imprimir("No puedes conducir");
}

Al poner 18 años o mas y poner "n" en registro de conducir no devuelve nada en pantalla.



En cambio con este código:

    if((edad >= 18) && (tieneLicencia == "s")) {
        imprimir("Puedes conducir");
    }


    if((edad < 18) || (tieneLicencia == "n")) {
    imprimir("No puedes conducir");
}

Si pones mayoría de edad y "n" en tener registro devuelve un: "No puedes conducir"