2014-02-22 260 views
0

這是我的代碼:檢查用戶名和密碼輸入++

` 
void Customer::validate_cust_username_and_password() 
    { 
     string uname, pword; 
     cout << "enter name: " << endl; 
     cin >> uname; 
     cout << "enter password: " << endl; 
     cin >> pword; 
     ifstream myfile("cust_username_and_password.txt"); 
     if (myfile.is_open()) 
     { 
      while (!myfile.eof()) 
      { 

       if (uname == cust_username && pword == cust_password) 
       { 
        cout << "Login successfully." << endl; 
        cust_mainmenu(); 
        break; 
       } 
       else 
       { 
        cout << "Wrong username or password!" << endl; 
        break; 
       } 
      } 

      myfile.close(); 
     } 

    } 
` 

這是存儲用戶名和密碼,另一個代碼:

`void Customer::cust_register_name_and_password() 
{ 
    string un, pw; 
    ofstream myfile("cust_username_and_password.txt", ios::out | ios::app); 
    cout << "Enter Customer Username= " << endl; 
    getline(cin, un); 
    cout << "Enter Customer Password= " << endl; 
    getline(cin, pw); 
    myfile << endl << un << " " << pw << endl; 
    myfile.close(); 

    cout << "Register Successfully." << endl; 
    system("pause"); 
}` 

所以問題是當我輸入之前已存儲在文本文件中的用戶名和密碼時,輸出僅顯示「錯誤的用戶名或密碼!」。

真的很感謝任何人都可以提供幫助。

回答

0

在您的validate_cust_username_and_password函數中,您從不讀取用戶名和密碼。補充一點:

myfile >> cust_username >> cust_password; 
+0

哇,謝謝@awesomeyi,現在它的作品。 :) – user32

+0

如果我幫了忙,你也可以通過接受答案來獲得幫助:) – yizzlez

+0

你的意思是贊成@awesomeyi嗎? 我想,但它說「投票要求15聲望」:( – user32

0

cust_usernamecust_password不會被置在這段代碼的任何地方,所以他們將不會匹配用戶的輸入(除非用戶輸入空字符串)。

+0

哦對不起,'cust_username'和'cust_password'在我的'級客戶',我沒有在這裏發佈完整的代碼。 – user32

-1

cust_username在哪裏神奇地出現。 Paul Daniels參與了嗎?保羅我回來了,你不像大衛布萊恩壞 - 但不是很多

+0

對不起,'cust_username'在我的'客戶類'上,我沒有在這裏發佈完整的代碼。 – user32

0
string uname, pword; 
    cout << "enter name: " << endl; 
    cin >> uname; 
    cout << "enter password: " << endl; 
    cin >> pword; 
    ifstream myfile("password.txt"); 
    if (myfile.is_open()) 
    { 
     while (!myfile.eof()) 
     { 

      if (uname == "test" && pword == "0000") 
      { 
       cout << "Login successfully." << endl; 
       cust_mainmenu(); 
       break; 
      } 
      else 
      { 
       cout << "Wrong username or password!" << endl; 
       break; 
      } 
     } 

     myfile.close(); 
    } 

} 
+0

通常最好是解釋一個解決方案,而不是隻發佈一些匿名代碼行。你可以閱讀[我如何寫一個好的答案](https://stackoverflow.com/help/how-to-answer),還有[完全解釋基於代碼的答案](https://meta.stackexchange.com /問題/ 114762 /解釋-entirely-%E2%80%8C%E2%80%8Bcode爲主,答案) –