8

「C++ プログラミング言語」を読んでいて、現在の課題は、2 つの変数を取り、値の最小、最大、合計、差、積、および比率を決定するプログラムを作成することです。

問題は、改行を開始できないことです。引用符の後に変数があるため、「\n」は機能しません。また、「<< endl <<」は最初の行でのみ機能します。私はこの問題を徹底的にグーグル検索しましたが、不足しています。

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
inline void keep_window_open() {char ch;cin>>ch;}
int main()
{
    int a;
    int b;
    cout<<"Enter value one\n";
    cin>>a;
    cout<<"Enter value two\n";
    cin>>b;
    (a>b); cout<< a << " Is greater than " << b;
    (a<b); cout<< a << " Is less than " << b;

    keep_window_open();
    return 0;
}
4

2 に答える 2

8

を探してstd::endlいますが、コードが期待どおりに動作しません。

(a>b); cout<< a << " Is greater than " << b;
(a<b); cout<< a << " Is less than " << b;

これは条件ではありません。次のように書き直す必要があります。

if(a>b) cout<< a << " Is greater than " << b << endl; 
if(a<b) cout<< a << " Is less than " << b << endl;

キャラクター\nを送って新しい行を作成することもできendlます。それがあなたが探していたものだと思ったので使用しました。の問題の可能性については、このスレッドを参照してくださいendl

代替案は次のように書かれています

if(a>b) cout<< a << " Is greater than " << b << "\n"; 
if(a<b) cout<< a << " Is less than " << b << "\n";

\n改行、\rキャリッジ リターン、タブなどの「特殊文字」がいくつかあり\tます。

于 2012-11-22T04:05:58.620 に答える
3

次のように、ストリームに出力std::endlして次の行に移動できます。

cout<< a << " Is greater than " << b << endl;
于 2012-11-22T04:04:48.323 に答える