Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

¿Será qué puedo conducir?

¿Será qué puedo conducir? No me funcionan los codigos.

No todas las soluciones propuestas me traen los mensajes indicados. Por que ? Me podran ayudar porfa? En la primer solucion propuesta si coloco 18 o 20 en años y N en licencia , no trae el mensaje ¨No puede conducir¨, si coloco 16 y N si trae el mensaje correspondiente.

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


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

</script>

En la segunda solución, idem solución 1.

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

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

</script>

En la tercer solución, funciona todo ok, sea cual sea la edad ingresada y S o N, trae los mensajes correspondientes.

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

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

</script>
2 respuestas
solución!

Hola Laura buenas tardes, en la primera solución solo estás tomando dos condiciones para comprobar si puede o no puede conducir. Con el primer if manda el mensaje solo si tiene 18 años o más y si tiene licencia. Con el segundo if, manda el mensaje solo si es menor de 18 años. Pero no hay ninguna condición que mande un mensaje para cuando tiene 18 años o más pero no tiene licencia. En cambio eso se soluciona con el otro código donde utilizas el else. En ese caso manda el mensaje de que puede conducir solo cuando se cumple la condición del if (>= 18 y tiene licencia), y para el resto de casos donde no se cumpla esa condición manda el mensaje de que no puede conducir (<18 y sin licencia, <18 con licencia y >18 pero sin licencia). Espero haber ayudado con la duda. Saludos

Gracias Sebastian por tu aporte!! Saludos!!