2015-01-09 88 views
0

我是新来的编码,并已试图使使用TEXTFILES登录(我知道我知道它不保证其与文本文件的做法)如何破解while while循环?

namespace text_file_login 
{ 
    public partial class Login : Form 
    { 
     public Login() 
     { 
      InitializeComponent(); 
     } 

     private void btn_register_Click(object sender, EventArgs e) 
     { 
      StreamWriter user_reg = 
       new StreamWriter(@"E:\SSD\Controled Assesment\text file login\text file login\username.txt"); 
      StreamWriter pass_reg = 
       new StreamWriter(@"E:\SSD\Controled Assesment\text file login\text file login\password.txt"); 

      user_reg.WriteLine(txt_user.Text); 
      user_reg.Close(); 
      pass_reg.WriteLine(txt_pass.Text); 
      pass_reg.Close(); 

      MessageBox.Show("Register was sucessful"); 
     } 

     private void btn_login_Click(object sender, EventArgs e) 
     { 
      string user = ""; 
      string pass = ""; 
      int user_line_number = 0; 
      int pass_line_number = 0; 
      StreamReader user_login = 
       new StreamReader(@"E:\SSD\Controled Assesment\text file login\text file login\username.txt"); 
      StreamReader pass_login = 
       new StreamReader(@"E:\SSD\Controled Assesment\text file login\text file login\password.txt"); 
      do 
      { 
       user = user_login.ReadLine(); 
       user_line_number++; 
       if (user == txt_user.Text) 
       { 
        do 
        { 
         pass = pass_login.ReadLine(); 
         pass_line_number++; 
         if ((pass == txt_pass.Text) && (user_line_number == pass_line_number)) 
         { 
          MessageBox.Show("Login was succesful"); 
          //this.Close(); 
         } 
         else 
         { 
          if ((user_line_number > pass_line_number) || (user_line_number < pass_line_number)) 
          { 
           MessageBox.Show("Wrong Password"); 
          } 
         } 
        } while (pass_login.Peek() != -1); 
       } 
      } while (user_login.Peek() != -1); 
     } 
    } 
} 

登录工程和寄存器的作品。但是,如果用户名或密码错了,我很确定这会永久循环。我如何结束循环,以便如果用户名或密码错误,我可以显示一个消息框? 即时通讯不太融合关于多个用户名,但如果你可以有无论如何来解决这个问题?

对不起,如果这是写得不好。我是一个初学者

+1

在这里你去:http://bit.ly/1w66zgY – tnw 2015-01-09 20:20:52

+0

是啊,我意识到,我发布后,只是使用if语句读取结束{break;}但我保持这个问题,以便如果任何人阅读多个用户名部分,并可以帮助我与 – JhWOLFJh 2015-01-09 20:24:06

+0

@JWWOLFJf如果你仍然有一个多用户 - 某些问题或其他问题,经过一番思考后无法解决,请随时发布新问题 – GEEF 2015-01-09 20:25:23

回答

4

如果你想“休息”了一个循环,你从字面上做到这一点:

do { 
    if (something) 
     break; 
} 
while (condition)