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

Detalle en la programación Licencia

Realizando el ejercicio detallado existe una problematica ya que si por azares el usuario teclea que tien 32 años pero no tiene licencia no traera respuesta del programa, igualmente pasa si el usuario dice tener 12 años y una licencia, por lo que se tendra que expandir de 2 a 4 "if" para que el programa siempre conteste, ademas de alguna funcion que permita no discriminar mayusculas o minusculas, esto es correcto?

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

2 respuestas

Yo también tuve dudas en como resolverlo, pero me centre en lo que pedían (mi cabeza explotó porque en mi país desde los 16 tienes permiso para conducir); así que solo mi lógica fue tiene que ser mayor de 18 y tener licencia para poder conducir y lo resumí a un if/else

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

Hola Hugo, respondiendo a tus preguntas, tienes toda la razón acerca de diferente incógnitas que se dan como si es mayor y no tiene licencia, se tendría que concatenar más if y puede ser algo muy dificil de mantener. Pero cómo estamos recién empezando en este mundo de la programación hice una solución que posiblemente no sea la más optima pero que sirve para dar solución a diferentes problemáticas que el usuario podría ingresar. Te dejo el código a continuación para dar tu análisis:

<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").toUpperCase();

    // La función .toUpperCase(), me ayudá a colocar S o N en mayúscula, no importa si el usuario lo ingreso con minúscula.

    if (edad >= 18 && tieneLicencia == "S") {
        imprimir("Puede conducir")
    } 

    if (edad >= 18 && tieneLicencia == "N") {
        imprimir("Es mayor de edad, pero necesita una licencia para conducir");
    } 

    if (edad >= 18 && tieneLicencia != "S" && edad >= 18 && tieneLicencia != "N") {
        imprimir("Credencial de licencia incorrectos para validar si puede conducir o no!");
    }

    if (edad < 18 && tieneLicencia != "S" || edad < 18 && tieneLicencia != "N") {
        imprimir("No puede conducir, debe ser mayor de edad obtener la licencia")
    }

</script>

Utilice la función .toUpperCase() para que si el usuario ingreso con minúscula su letra, está se convierta en mayúscula. Espero te haya ayudado compañero.