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

[Aporte] Programa con condición

Hola, me di a la tarea de llevarlo un poquito más allá con código para cuando alguien ponga menos de 18 años de una vez le diga que no puede conducir, y que tambien verifique cuando alguien tiene 18 años y no tiene licencia le diga que no.

Les comparto mi código como un aporte.

<meta charset="UTF-8">

<h1>PROGRAMA PARA DETERMINAR SI ALGUIEN PUEDE CONDUCIR</h1>

<br><br>

<script>
    function saltarLinea() {
        document.write("<br>");
    }

    function imprimir(frase) {
        document.write(frase);
        saltarLinea();
    }

    var edad = parseInt(prompt("¿Cuál es tu edad?"));

    if(edad >=18){
        var tieneLicencia = prompt("¿Tienes licencia? Responde S o N");
            if(tieneLicencia == "S"){
                imprimir("Puedes conducir");
            }
            else {
                imprimir ("No puedes conducir, porque no tienes licencia.");
            }
    }

    else {
        imprimir("No puedes conducir, eres menor de edad.");
    }

</script>
4 respuestas

Excelente lógica y trabajo, solo que si quien escribe no lo hace en mayúscula y coloca "s" le indicara como si no tiene licencia. Preguntar mejor

(tieneLicencia == "S" || tieneLicencia == "s")
solución!

Excelente sugerencia! Muchas gracias!

Muy bueno!. Para evitar tener problemas con las mayúsculas / minúsculas, en el prompt podemos aplicar el método toUpperCase(), y luego en el bloque if, únicamente comparar con 'S' : var tieneLicencia = prompt("¿Tienes licencia? Responde S o N").toUpperCase();

Excelente, Emilio. Lo apliqué en mi programa y me funcionó muy bien. Gracias. De paso, agregué una condicionante más para mandar mensaje de error por datos incorrectos.

<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();

    if (tieneLicencia != "S" && tieneLicencia != "N") {

        imprimir("¡Error! Datos incorrectos")
    }

    else if (edad >= 18 && tieneLicencia == "S") {

        imprimir("Adelante, puedes conducir");
    }
    else {

        imprimir("¡Alto! No tienes permitido conducir");
    }

</script>