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

"S" o "s", no me da resultado

Hola, en mi código agregue la opción de responder con "S" o "s" pero no me sale correctamente los resultados, ¿alguien sabe si hice mal mi código?

<meta charset="UTF-8">

<h1>Programa juego de adivinación</h1>
<br>
<hr>
<br>
<br>

<script>

    function saltarLinea() { // esta función nos permite saltar 3 líneas

        document.write("<br><br><br>"); 

    }

    function imprimir(frase) { // esta función nos permite imprimir en pantalla el texto que queremos mostrar

        document.write("<big>" + frase + "</big>");  // la etiqueta "big" permite que la fuente sea mas grande
        saltarLinea();

    }


    var edad = parseInt(prompt("¿Cuál es tu edad?"));
    var licencia = prompt("¿Tienes licencia de conducir? Responde S o N");


    if ((edad >= 18) && (licencia == "S" || "s")) {  // La expresión "&&" es AND, que quiere decir que deben cumplirse ambas condiciones para ejecutar el código dentro de las llaves

        imprimir("Usted puede conducir un vehículo");

    }

    else {

        imprimir("No tienes edad o licencia para conducir un vehículo");
    }


</script>
2 respuestas
solución!

Hola, me parece que el código funciona, como sugerencia se pueden hacer unas mejoras en:

if ((edad >= 18) && (licencia == "S" || "s")) {

opción 1: reemplazarlo por:

if (edad >= 18 && (licencia == "S" || licencia ==  "s")) {

opción 2: existe una función propia del lenguaje javascript que te permite transformar letras a MAYUSCULAS, se llama toUpperCase(), la podrías utilizar para tener que preguntar si la letra es "S" o "s", ya que independientemente de lo que la persona escriba en la instrucción prompt, lo va a transformar a MAYUSCULA y simplemente solo realizas una comparación con dicha letra en mayúscula. De la siguiente manera:

if (edad >= 18 && licencia.toUpperCase() == "S") {

Adicionalmente existe otra función propia de javascript para transformar todo a minúsculas, que se llama toLowerCase(), de igual forma te puede ayudar con la comparación.

Esas funciones propias del javascript incluso las puedes utilizar con la función prompt de la siguiente forma:

var edad = parseInt(prompt("¿Cuál es tu edad?"));
var licencia = prompt("¿Tienes licencia de conducir? Responde S o N").toUpperCase();

if (edad >= 18 && licencia == "S") {

Gracias por la respuesta, muy útil las palabras reservadas que me diste