入力を求めるプロンプトを表示し、検証を実行しようとしました。たとえば、私のプログラムは3人のユーザー入力を取る必要があります。非整数になると、エラーメッセージが表示され、入力を再度促します。ここになるだろう私のプログラムを実行するときにどのように見えるかです:入力の整数検証
間違っB:1
番号を入力してください。
番号が入力
間違った入力:
は、番号を入力します。入力
数字を入力:2
は、番号を入力します。
double read_input() { double input; bool valid = true; cout << "Enter number: " ; while(valid){ cin >> input; if(cin.fail()) { valid = false; } } return input; }
私の主な方法:
int main() { double x = read_input(); double y = read_input(); double z = read_input(); }
私の3つの
数字入力するには、1,2,3
そしてここでは私のコードであります最初の入力は整数ではなく、プログラムはそれだけで終了します。それは再び催促を求めることはありません。どうすれば修正できますか?または、私はユーザーの入力を求めているので、do whileループを使用するはずです。
ありがとうございます。読み取りに失敗した
私たちはもっとコードを見なければなりません。あなたはデバッガでそれをチェックしましたか?クラッシュする可能性があります... –
メインメソッドの内側に私はちょうどダブルx = read_input()を書く; double y = read_input(); double z = read_input();私は間違ったやり方をしていますか? –