0

課題の場合、私のプログラムの一部では、ファイルから 2 つの数字を受け取るか、手で入力する必要があります。次のようにして、ファイルから簡単に取得できます。

int n1,n2;
cin>>n1>>n2;

そうすれば、単に「7 13」のような内容のファイルでも、数字が正しく読み込まれます。しかし、私の先生は、各番号が入力される前にプロンプ​​トが表示される形式を使用することを望んでおり、次のように処理されます。

int n1,n2;
cout<<"Number 1: ";
cin>>n1;
cout<<"Number 2: ";
cin>>n2;

ただし、このコードを使用すると、ファイルから 2 つの数値を単純に読み取ることができなくなります。両方の方法が機能するようにするにはどうすればよいですか? 同じプロンプトが 2 つあるため、それらを 1 つのプログラムに結合することはできません。これは可能ですか?

余談ですが、コマンド ラインに次のように入力して数値を読み込んでいます: prog.exe < numberfile >

4

5 に答える 5

1
cin>>n1>>n2;

...

cin>>n1;
cin>>n2;

それらは同じです。によるものを印刷しcoutても影響はありませんcin

演算子は(この場合)>>への参照を返し、チェーンで使用できます。ostreamcin>>

于 2013-10-03T07:14:09.027 に答える
0

次のように組み合わせることができます。

int n1, n2;
if (argc > 1)
{
    std::ifstream input(argv[1]);
    if (input)
    {
        input >> n1 >> n2;
    }
    else
    {
        // Handle error
    }
}
else
{
    // Prompt and read from stdin
}
于 2013-10-03T07:57:01.080 に答える
0

cout が cin に影響を与えるべきではないと思います。各行の最後に endl を追加してみてください。これで簡単に修正できるかもしれません。

于 2013-10-03T07:26:42.530 に答える