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)
3
respuestas

HELP! ¿SERÁ QUE PUEDO CONDUCIR?

tengo una consulta. al momento de correr el último código recomendado por el instructor vi que el programa solo reconoce la letra si es mayuscula, es decir;

edad: 20

tienes licencia: s

y retorna: no puedes conducir

  • Es cosa de mi ordenador o hay algún codigo que pueda ayudarnos a que ya sea mayúscula o minúscula JS reconozca la letra??

gracias de antemano por sus respuestas.

3 respuestas

Correcto, no es un problema de tu equipo. Es por cómo funcionan los caracteres: 's' y 'S' son diferentes. Que el código pueda contemplar a ambos como correctos dependerá de la estructura del código. Continuando con tu pregunta, te coloco un código que también funcionaría para 's'.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>¿Puedes conducir?</title>
</head>
<body>
    <h3 align="center">¿Puedes conducir?</h3>
    <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" || tieneLicencia =="s")) {  //En este caso la doble pleca "||" corresponde al operador lógico OR.
            imprimir("Si puedes manejar, tienes màs de 18 años y licencia");
        }

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

    </script>
</body>
</html>

Los operadores lógicos se usan para combinar dos valores booleanos. En este momento, basta con decir que '||' en este caso se utiliza para indicar que si cualquiera de las dos condiciones (tieneLicencia == 'S' o tieneLicencia == 's') es verdadera, entonces se ejecutará lo que se encuentra dentro de la estructura condicional 'if'.

solución!

Aunque el código anterior, para fines prácticos, equivale al siguiente:

<meta charset="UTF-8">
<title>¿Puedes conducir?</title>

<h3 align="center">¿Puedes conducir?</h3>

<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" || tieneLicencia =="s")) {  //En este caso la doble pleca "||" corresponde al operador lógico OR.
        imprimir("Si puedes manejar, tienes màs de 18 años y licencia");
    }

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

</script> 

wow! hay codigos que no conozco, muchas gracias por compartirlo, hay mucho que aprender!