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

problemas con el contador

no se que erro tengo co el contador no me cierra

<!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>Document</title>
  </head>
  <body></body>
  <meta charset="UTF-8" />
  <script>
    var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";

    var intentos = 3;
    var contador = 1;

    while (contador <= intentos) {
      var inicioDeSesionIngresado = prompt("Ingrese su usuario");

      var contrasenhaIngresada = prompt("Ingrese su contraseña");
    }
    if (
      inicioDeSesionRegistrado == inicioDeSesionIngresado &&
      contrasenhaRegistrada == contrasenhaIngresada){ 
      alert("Bienvenido al sistema " + inicioDeSesionIngresado)
      contador = intentos;

     } else {
        if (contador == 3) {
        alert("Agotaste el maximo de intentos");

      } else {
        alert("salir");
      }

    }

    contador = contador + 1;
  </script>
4 respuestas

Aquí lo que está pasando es que no tienes la condición if dentro del blucle o loop, por lo tanto contador siempre será menor a intentos. debes poner la condición dentro del bucle.

Algo así debería quedarte... PD: yo utilicé un bucle "for"

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

      for (let i = 3; i > 0; i--) {
        var inicioDeSesionIngresado = prompt("Ingrese su usuario");
        var contrasenhaIngresada = prompt("Ingrese su contraseña");
        if (
          inicioDeSesionRegistrado == inicioDeSesionIngresado &&
          contrasenhaRegistrada == contrasenhaIngresada
        ) {
          alert("Bienvenido al sistema " + inicioDeSesionIngresado);
          break;
        }
        if (i === 1) {
          alert("Intentelo depsues");
        } else {
          alert(
            "inicio de sesión inválido. Favor intente de nuevo le quedan " +
              (i - 1) +
              " intentos"
          );
        }
      }

Estimado alumno, Puede por favor resolver el problema usando WHILE

Pruebe de esta forma.

<script>
    var inicioDeSesionRegistrado = "alura";
    var contrasenhaRegistrada = "alura321";

    var intentos = 3;
    var contador = 1;

    while (contador <= intentos) {
      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 {
            alert ("Credenciales invalidos")
                }
        contador = contador + 1;
    }

       if ( inicioDeSesionRegistrado == inicioDeSesionIngresado &&   contrasenhaRegistrada == contrasenhaIngresada)   {  
           alert ("Bievenido")
       }
    else {
            document.write("Inicio de seccion invalido <br/>")
            document.write("Excedido el numero de intentos permitidos")
        }

  </script>
solución!

Gracias Roger