0

次のコードがあります。

 #include <iostream>
 #include <string>
 using namespace std;

 int main()
 {
     int xxx;

     cout << "Enter an integer: 2011 ";

     cin >> xxx;

     cout << "Enter your name: John " ;
     string yyy;
     cin >> yyy; 

     cout << yyy << "entered" << xxx << endl;

     return 0;
 }

出力は次のようになると予想していました。

整数を入力してください: 2011 あなたの名前を入力してください: ジョン ジョンは 2011 年に入りました

ただし、次の出力が得られました。

整数を入力してください: 2011 あなたの名前を入力してください: ジョンは0を入力しました

  • 期待した出力が得られなかったのはなぜですか?

  • 0はどこから来たのですか?私には少しランダムに思えます

そして、おそらく以前に回答された、少し別の質問です。

  • 以下に示すように、出力をきちんと整理したい場合、どうすればよいでしょうか。つまり、コードに何を追加する必要があるのでしょうか?

整数を入力してください: 2011

あなたの名前を入力してください: ジョン

ジョンは2011年に入りました

4

3 に答える 3

3

コードと説明には不明な点がいくつかあります。できるだけ明確にして説明するように努めます。

まず、プログラムを実行すると問題なく動作します。審美的な問題がいくつかありましたが、今は無視します。

これで、I/O の基本を理解できました。coutを使用すると何かが出力され、cinを使用すると入力演算子になります。したがって、以下の例に示すように、機能させるには何かを入力する必要があります。

//Code
int x;
cout <<"Enter an integer: "<<;
cin >> xxx;

コンソールに表示される内容:

>Enter an integer: _

(アンダースコアはカーソルです)。次に、整数を入力する必要があります

>Enter an integer: 231

次に、Enter キーを押すと、入力した整数 231 が XXX に格納されます。ここで私は一時停止して質問する必要があります。コードの「2011」の理由は何ですか。

cout << "Enter an integer: 2011 ";

それが入力だと思うなら、そうではありません。実行後、コンソール ウィンドウに何かを手動で書き込む必要があります。それ以外の場合は、気を散らすものであり、...まあ...役に立たない.

文字列コンポーネントにも同じ原則が適用されます。明確にする必要がある場合は、お知らせください。

また、スペースを使用して出力をクリアする必要があります。出力テキストは次のように表示されます。

cout << yyy << "entered" <<< xxx;

代わりに、次を使用する必要があります。

cout << yyy << " entered " << xxx;

これにより、読むことができるよりきれいな出力が得られます。

>Johnentered231

>John entered 231

あなたのコメントに基づいて

開始するためのリンクを次に示します。

言語: C++ チュートリアル (順番にフォローしてください!)

コンパイラ: BloodShed Dev Visual Studio (C++ など)

于 2013-07-27T12:51:03.840 に答える
0

あなたのプログラムは私にとってはうまくいきます。また、出力をきちんと整理するには、空白と制御文字を使用してください。出力の見栄えを良くしたい場合は、プログラムの出力行を次のように変更することをお勧めします。

cout << yyy << " entered " << xxx << endl;

「entered」の前後に空白を使用していることに注意してください。あなたのコードについて私を怒らせるもう 1 つの点は、変数のわかりやすい名前がないことです。彼らに意味のあるものを与えてください。たとえば、「xxx」を「number」に、「yyy」を「name」に変更します。長い目で見れば、多くの頭痛の種から解放されます。

于 2013-07-27T12:43:31.337 に答える
0

cout と cin を混同していると思います。cout は出力専用です。cout の後に cin を書き込んで入力を行わないと、"John" という値は取得されません。

例えば、

 cout << "Enter an integer: 2011 "; 

 cin >> xxx;

する必要があります

 cout << "Enter an integer: "; 

 cin >> xxx;

次に、2011年と入力します

于 2013-07-27T12:49:06.950 に答える