すでに機能しているコードをクリーンアップしたいと考えています。まず第一に、これは代入のためのものであり、代入は int を int として、double を double として取る必要があることを指定していますif(number%1==0)
。
入力を処理するだけにコードを切り詰めました (正しく動作していることを確認するための出力ステートメントを使用)。
int wholePart=0;
double decimalPart=0;
cout << "Input a number: ";
cin >> wholePart;
if(cin.peek() != '\n')
cin >> decimalPart;
cout << "wholePart = " << wholePart << endl << "decimalPart = " << decimalPart << endl;
今...これはそのまま機能し、decimalPartが0でない場合に整数と小数の組み合わせを処理するコードを追加した後、割り当てが必要とする以上のことをすでに行っていますが、学びたいと思っています、このコードを可能な限りクリーンアップしたいと思います。
入力セクション全体を他の入力検証でラップして、ユーザーが実際に文字ではなく数字を入力していることを確認できます。しかし、ここでの私の主な懸念は、それではif(cin.peek() != '\n')
十分ではないということです。おそらくif(cin.peek() == '.')
より良いオプションですが、私がここで達成しようとしていることを達成するための最良の方法は何かに興味があります. 何か案は?
そして、これを「宿題だ」とだけ断らないでください。強調したいのは、私のプログラムは、宿題の余分なクレジットの部分でさえ求められる以上のことをすでに行っているということです. 私は言語についてもっと学び、この種の入力を処理するための最良の方法は何かを学ぼうとしています.