2017-04-14 4 views
0

ここに問題があります。if文での複数のユーザー認識

私のプログラムでは、ユーザーの入力に応じて異なるテキストを印刷したいと思っています。

std::string username; 

void whoareyou() 
{ 
    std::cout << "Name: " << std::flush; 
    std::cin >> username; 

    if (username == "Jack", "jack", "jak") 
    { 
    std::cout << "Hello jack, how are you?" << std::endl; 
    } 
    else if (username == "Bob", "bob", "bbob") 
    { 
    std::cout << "Hello Bob, how are you?" << std::endl; 
    } 
    else 
    { 
    std::cout << "I don't know you, bye." << std::endl; 
    } 
}  

私がボブのコードを入力するたびに、プログラムはジャックを実行します。 これを修正するにはどうすればよいですか?私はこれに多くのユーザーを追加するつもりです。

ありがとうございます。

+3

あなたの問題は、あなたがいない(明らかに)[良い初心者の本を読む](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-andに悩まされているということです - リスト)または言語を学ぶ。 –

答えて

0

または||

if(username == "jack" || username == "Jack" || username == "jak") 


else if(username == "Bob" || username == "bob" || username == "bbob") 
0

あなたは

if (username == "Jack" || username == "jack" || username =="jak") 

代わりの

if (username == "Jack", "jack", "jak") 

や他のif文が必要になります。このように、すべてのif文で演算子。

0
std::string username; 

void whoareyou() { 
    std::cout << "Name: " << std::flush; 
    std::cin >> username; 
    if (username == "Jack" || username == "jack" || username == "jak") { 
     std::cout << "Hello jack, how are you?" << std::endl; 
    } 
    else if (username == "Bob" || username == "bob" || username == "bbob") { 
     std::cout << "Hello Bob, how are you?" << std::endl; 
    } 
    else { 
     std::cout << "I don't know you, bye." << std::endl; 
    } 
}