2017-07-02 11 views
1

GNOME端末とUbuntuのXTermで、私はこの問題に直面しています: cinステートメントのすべての値を、ソースコードのどこに表示するかにかかわらず強制的に入力します。すべてのcoutステートメントを最後に実行します。例えば:私は(G ++を使用して)このコードを実行するとC++プログラムのランタイム中に端末から入力を取得

int main() 
{ 
    int a; 
    cout<<"Enter a :"; 
    cin>>a; 
    cout<<"\n"; 
    return 0; 
} 

、私はa前に最初のcoutのステートメントの実行のために値の入力を強制的にしています。

[email protected]:~/Hackerearth$ g++ -Wall -o sample sample.cpp [email protected]:~/Hackerearth$ ./sample 5 Enter a :

image

「5」は、私がどの coutのステートメントを実行する前に声明 cin>>aに提供することを強制しています入力されています。

+0

* "最初のcout文が実行される前に、値を入力する必要があります。" * - それは正しいと思われます。何が問題ですか? – jww

+0

コードを変更することはできますか? –

+0

@jww問題は、最初にcout文を実行してから、aの値を入力することです。 – Kanishk

答えて

0

std::flushを使用して問題を解決しました。

int main() 
{ 
    int a; 
    cout<<"Enter a :"<<flush; 
    cin>>a; 
    cout<<"\n"; 
    return 0; 
} 



[email protected]:~/Hackerearth$ g++ -Wall -o sample sample.cpp 
[email protected]:~/Hackerearth$ ./sample 
Enter a :5 
関連する問題