2016-05-30 97 views
-2
#include "stdafx.h" 
#include <iostream> 
#include <cstdlib> 
#include <string> 
using namespace std; 
string checkpass(string password1) 
{ 
    string rightpass = "aimen"; 
    string errormsg2; 
    if (password1 == rightpass) 
    { 
     errormsg2 = "Right"; 
    } 
    else{errormsg2 = "No";} 
    return errormsg2; 
} 
int main() 
{ 
    string password; 
    string errormsg; 
    cout << "Type the password"; 
    loop: 
    getline (cin,password); 
    errormsg == checkpass(password); 
    if (errormsg=="Right") 
    { 
     cout << "Admitted" << endl; 
    } 
    else { 
     goto loop; 
    } 
    system("pause"); 
    return 0; 
} 

控制檯不打印單詞「Admitted」。它啓動後,但在我放入控制檯的話後,反覆發生。問題與製作循環

我請求你的援助。謝謝。

+0

goto一般皺起了眉頭。有關這方面的一些討論,請參閱http://stackoverflow.com/questions/3517726/what-is-wrong-with-using-goto。也許一個while循環會更好。 – Ian

回答

1

您正在與errormsg == checkpass(password)進行比較;當你應該分配一個=符號。

+0

哦,謝謝,我沒有解釋它。 – user2952487