0

I'm a noob when it comes to C programming. I wrote a simple program that runs an infinite for loop. But inside that loop I wanted to create another loop to stop the user three times after entering incorrect passwords.
I tested from different angles it seems like the infinite loop ignore my other loop.

What should I do to stop the user from entering endless bad password?

for(;;)
{
    if(password==USER_ID)
    {
        run program;
        break;
       // if true the program runs and stop loop, no problem
     }

    else if(password!=USER_ID)
    {
        for(count=0;count<3;count++)
        {
            display an error message;
            ask user to type password again;

 /* I put a break keyword, but it doesn't stop the endless loop if a person type in a bad password.  */

        }

    }


}

Edited by Nick Evan: Fixed formatting

4
Contributors
8
Replies
9
Views
8 Years
Discussion Span
Last Post by sftwr21
0

If you don't want an endless loop why did you write one into your program?

Because I know that I can stop an endless loop. The first if function, breaks the loop if it's true. And if I can break the second loop after running three loops it will work. The problem is how?

Edited by sftwr21: n/a

0

if I can break the second loop after running three loops it will work.

After the triple for loop put in the line break like

for (i = 0; i < 3; ++i)
{
//do something
}
break;
0
int cnt = 0;

for infinite loop
{
   //do stuff
   if(//do stuff is what i need) // then break;
  else cnt++;

  //if cnt is above the limit then break;
}

Edited by firstPerson: n/a

0
break;

always puts the control out of immediate loop in which it is declared. In your case it will come out of the second for loop not the first one.

0

always puts the control out of immediate loop in which it is declared. In your case it will come out of the second for loop not the first one.

I tried but didn't work as planned, thanks anyway.

0

Thank you very much firstPerson! I understand what I did to do and it is executing the way I wanted.

Edited by sftwr21: n/a

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.