2011-11-10 13 views
0

このコードでエラーが見つかりませんでした。私は、デバッグを実行しましたが、エラーがun-に理解されている。..文字列のCoutでエラーが発生しています。

#include "stdafx.h" 
#include <iostream> 

using namespace std; 

int main() 
{ 
    string name; 
    cout << "Input your name please?" << endl; 
    cin >> name; 

    if 
     { 
      (name == "Bart Simpson") 
    cout << "You have been very naughty" << endl; 
    } 
return 0; 
} 
+0

であることを、あなたの実際のコード、またはあなたをしました投稿時に間違いを犯す? – Bart

+0

将来的には実際にあなたのエラーを投稿してください。 – ildjarn

答えて

3

問題含める必要があります。

  1. あなたは、いくつか欠けている#include秒を持っている、おそらくあなたの初期コンパイルエラーが発生しました。
  2. ifステートメントで単純な構文エラーがあります。
  3. ストリーム抽出演算子を使用すると、その内部に空白文字列が生成されることはありません。

以下は、あなたが期待するように動作する必要があります(。あなたはstd::endlためstd::stringstd::getlineためstring、およびostreamを含める必要がある)

#include "stdafx.h" 
#include <iostream> 
#include <ostream> 
#include <string> 

using namespace std; 

int main() 
{ 
    cout << "Input your name please?" << endl; 

    string name; 
    getline(cin, name); 
    if (name == "Bart Simpson") 
    { 
     cout << "You have been very naughty" << endl; 
    } 

    return 0; 
} 

+0

'name'を除いて' Bart Simpson'にすることはできません –

+0

@John:フェアポイント!編集されました。 – ildjarn

+0

@JohnDiblingなぜ名前がバートシンプソンであることができないのですか? (私は試してみましたが、実際にはエラーが出ましたが、Bartを試してみました) – Sinner

3

(名前は== "場合

をコードを貼り付けるとき、私は間違った場所にブラケットがちょうど問題であると仮定しますバートシンプソン ")、それは空白に遭遇したときstring停止を抽出しているため、"Bart Simpson"

name等しいん。したがって、それは"Bart"にしかなりません。おそらくgetline()を代わりに使用したいのですか?

1

if (name == "Bart Simpson") 
{ 
    cout << "You have been very naughty" << endl; 
} 

する必要があり、あなたは<string>

関連する問題