首頁 > 後端開發 > C++ > 這個 C `cin` 輸入驗證循環是最佳的嗎?

這個 C `cin` 輸入驗證循環是最佳的嗎?

Patricia Arquette
發布: 2024-12-18 17:01:17
原創
499 人瀏覽過

Is This C   `cin` Input Validation Loop Optimal?

良好的輸入驗證循環在C 中使用cin

在C 程式設計領域,輸入驗證對於確保準確的資料收集至關重要。本文解決了使用「cin」提供的輸入驗證循環是否是最佳方法的問題。

問題中提供的程式碼片段採用「do-while」循環不斷提示使用者輸入應稅收入,直到輸入了一個有效的整數。此迴圈的邏輯涉及使用「cin.fail()」檢查輸入錯誤,並在遇到無效輸入時顯示錯誤訊息。

這種方法通常是合理的,並提供了輸入驗證的基本實作。然而,某些方面可以改進以提高其效率和可維護性。

一個建議是避免啟用 iostream 異常,因為 I/O 錯誤不被認為是足夠異常的。相反,最好明確處理 I/O 相關問題。

此外,可以透過直接使用布林變數來簡化具有整數值(0 或 1)的「錯誤」變數的使用。

此外,可以修改循環的條件,以使用「if」語句直接從「cin」讀取到「taxableIncome」變數。透過消除中間錯誤變數和細化循環邏輯,程式碼變得更加簡潔,更容易理解。

最後,不要跳過 80 個字符,建議使用 'numeric_limits::max ()' 常數,以確保從輸入流中丟棄所有錯誤字符。

總之,雖然所提出的輸入驗證循環有效,但採用建議的改進可以增強其可用性和清晰度,從而形成更強大、更有效率的驗證機制。

以上是這個 C `cin` 輸入驗證循環是最佳的嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板