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

No se despliega el codigo, me pueden ayudar? Mil gracias desde ya

No se si estoy planteando bien el codigo. Por lo pronto el sistema solo me toma el titulo.

<meta charset= "UTF-8">

<h1>PROGRAMA CONTRASENIA DE ALURA</h1>

<br>
<br>

<script>

    function saltarlinea() {

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

}

    function imprimir (frase)  {

   document.write("<big>" + frase + "</big>"); 
   saltarlinea()


    }

    var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";
    var inicioDeSesionIngresado = parseInt(prompt("Ingrese su usuario");
    var contrasenhaIngresada = parseInt(prompt("Ingrese su contraseña");


for(inicioDeSesionIngresado = 1; inicioDeSesionRegistrado <=3; inicioDeSesionIngresado++) {
    for(contrasenhaIngresada = 1; contrasenhaRegistrada <=3; contrasenhaIngresada++) {
        alert("Su inicio de sesion ingresado es incorrecto. Intente nuevamente");
    }
}

   if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {

        alert("Bienvenido al sistema " + inicioDeSesionIngresado);
        break

} 

    imprimir("fin");


</script>
3 respuestas

Buenas, los problemas son los siguientes:

En las siguientes variables, no es necesario pasarlas a un número entero, esto ocasionaría un error.

(La función parseInt() convierte una string (tipo texto) a un integer (número entero)).

var inicioDeSesionIngresado = parseInt(prompt("Ingrese su usuario");
var contrasenhaIngresada = parseInt(prompt("Ingrese su contraseña");

Como deberían quedar:

var inicioDeSesionIngresado = prompt("Ingrese su usuario");
var contrasenhaIngresada = prompt("Ingrese su contraseña");

Los "for" son bucles, esto sirve para iterar un bloque de código, es decir que se ejecuta cada x veces que se le sean dictadas. En este caso no es útil usarlos y no cumplirían ninguna función.

Para realizar la validación del usario deberías utilizar condiciones (Es decir, "if else").

Ejemplo de su correcto uso:

if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
    alert("Bienvenido al sistema " + inicioDeSesionIngresado); 
} else {
    alert("Su inicio de sesion ingresado es incorrecto. Intente nuevamente");
} 

Te dejo el código completo para que puedas compararlo y analizarlo.

<meta charset= "UTF-8">

<h1>PROGRAMA CONTRASENIA DE ALURA</h1>

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

function imprimir (frase)  {
    document.write("<big>" + frase + "</big>"); 
    saltarlinea()
}

var inicioDeSesionRegistrado = "alura";
var contrasenhaRegistrada = "alura321";
var inicioDeSesionIngresado = prompt("Ingrese su usuario");
var contrasenhaIngresada = prompt("Ingrese su contraseña");


if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada == contrasenhaIngresada ) {
    alert("Bienvenido al sistema " + inicioDeSesionIngresado); 
} else {
    alert("Su inicio de sesion ingresado es incorrecto. Intente nuevamente");
} 

</script>

Espero haber sido de ayuda, saludos :)

Hola Lucas, muchas gracias por la expliacion me queda claro lo del uso (en este caso no uso de parseInt).

Lo que si en tu ejemplo queda lo de los intentos, la consigna es que debemos incluir codigo que permita ingresar usuario y contrasenia hasta tres intentos. Esos tambien se podrian resolver con un if else anidados?

Es por eso que pense en un for que es un estructura donde una variable es cargada desde su inicio hasta su limite y luego incluimos esa misma viariable con un ++ de incremento. Por eso pense en for pero luego chequee que aplique mal las variables

Mil gracias por tu ayuda!

Para añadir los intentos con el bucle while debería quedar el código algo así:

<meta charset= "UTF-8">

<h1>PROGRAMA CONTRASENIA DE ALURA</h1>

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

function imprimir (frase)  {
    document.write("<big>" + frase + "</big>"); 
    saltarlinea()
}

var inicioDeSesionRegistrado = "alura";
var contrasenhaRegistrada = "alura321";


var maximoIntentos = 3;
var intentoActual = 1;

while (intentoActual <= maximoIntentos){
    var inicioDeSesionIngresado = prompt("Ingrese su usuario");
    var contrasenhaIngresada = prompt("Ingrese su contraseña");

    if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada ==     contrasenhaIngresada ) {
        alert("Bienvenido al sistema " + inicioDeSesionIngresado);
        break;
    } else if (intentoActual == maximoIntentos) {
        alert("intentos agotados");
    } else {
        alert("Su inicio de sesion ingresado es incorrecto. Intente nuevamente");
    }
intentoActual ++;
}
</script>

En caso de querer hacerlo con for:

<meta charset= "UTF-8">

<h1>PROGRAMA CONTRASENIA DE ALURA</h1>

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

function imprimir (frase)  {
    document.write("<big>" + frase + "</big>"); 
    saltarlinea()
}

var inicioDeSesionRegistrado = "alura";
var contrasenhaRegistrada = "alura321";


var maximoIntentos = 3;

for (let intentoActual = 1; intentoActual <= maximoIntentos; intentoActual++){
    var inicioDeSesionIngresado = prompt("Ingrese su usuario");
    var contrasenhaIngresada = prompt("Ingrese su contraseña");

    if( inicioDeSesionRegistrado == inicioDeSesionIngresado && contrasenhaRegistrada ==     contrasenhaIngresada ) {
        alert("Bienvenido al sistema " + inicioDeSesionIngresado);
        break;
    } else if (intentoActual == maximoIntentos) {
        alert("intentos agotados");
    } else {
        alert("Su inicio de sesion ingresado es incorrecto. Intente nuevamente");
    }

}
</script>

En ambos casos debemos declarar las variables del intento actual y los maximos intentos, la diferencia está en la forma de declarar la condición del bucle.

Con respecto al condicional "if", para evitar anidaciones innecesarias se aplicaría la condición "if else".

De este modo le decimos que si el usario y contraseña son correctos igrese, en caso de que haya agotado los intentos se le avisará esto mismo, y si los intentos no fueron agotados, pero el usario y/o contraseña son incorrectos vuelva a intentarlo.