ホームページ > バックエンド開発 > C++ > この C `cin` 入力検証ループは最適ですか?

この C `cin` 入力検証ループは最適ですか?

Patricia Arquette
リリース: 2024-12-18 17:01:17
オリジナル
497 人が閲覧しました

Is This C   `cin` Input Validation Loop Optimal?

C で cin を使用した優れた入力検証ループ

C プログラミングの領域では、正確なデータ収集を保証するために入力検証が重要です。この記事では、「cin」を使用した入力検証ループが最適なアプローチであるかどうかという問題について説明します。

質問で示されているコード スニペットは、「do-while」ループを使用して、ユーザーに課税所得の入力を継続的に要求します。有効な整数が入力されています。ループのロジックには、「cin.fail()」を使用した入力エラーのチェックと、無効な入力が見つかった場合のエラー メッセージの表示が含まれます。

このアプローチは一般に適切で、入力検証の基本的な実装を提供します。ただし、効率と保守性を向上させるために特定の側面を改良することができます。

I/O エラーは十分に例外的であるとは考えられないため、iostream の例外を有効にしないことをお勧めします。代わりに、I/O 関連の問題を明示的に処理することをお勧めします。

さらに、整数値 (0 または 1) を持つ「error」変数の使用は、ブール変数を直接使用することで簡素化できます。

さらに、「if」を使用して「cin」から「taxableIncome」変数に直接読み取るようにループの条件を変更できます。 声明。中間エラー変数を削除し、ループ ロジックを改良することにより、コードはより簡潔で理解しやすくなります。

最後に、80 文字をスキップする代わりに、「numeric_limits::max」を使用することをお勧めします。 ()' 定数を使用して、すべての誤った文字が入力ストリームから確実に破棄されます。

要約すると、提示された入力検証ループの間、は機能しており、提案された改良点を採用すると使いやすさと明確さが向上し、より堅牢で効率的な検証メカニズムが実現します。

以上がこの C `cin` 入力検証ループは最適ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート