首頁  >  文章  >  後端開發  >  如何正確驗證 C 中的雙輸入?

如何正確驗證 C 中的雙輸入?

Linda Hamilton
Linda Hamilton原創
2024-11-27 15:01:11923瀏覽

How to Properly Validate Double Input in C  ?

如何在 C 中驗證使用者輸入為 Double

處理使用者輸入時,驗證輸入以確保其有效性至關重要。在 C 中,可以透過多種方法來驗證使用者輸入是否為雙精確度值。常見的方法是使用cin 運算符,如下面的程式碼片段所示:

double x;

while (1) {
    cout << ">";
    if (cin >> x) {
        // valid number
        break;
    } else {
        // not a valid number
        cout << "Invalid Input! Please input a numerical value." << endl;
    }
}

但是,此程式碼可能會遇到一個問題,即不斷輸出「無效輸入!」語句,禁止它提示另一個輸入。為了解決這個問題,可以進行以下修改:

...
else {
    // not a valid number
    cout << "Invalid Input! Please input a numerical value." << endl;
    cin.clear();
    while (cin.get() != '\n') ; // empty loop
}
...

此修改包括兩個基本步驟:

  1. 清除錯誤狀態: cin.clear ( ) 用於清除遇到無效輸入時設定的錯誤狀態。這允許程式繼續讀取輸入,而不會受到錯誤標誌的干擾。
  2. 空循環: while (cin.get() != 'n') ;循環是一個空循環,它消耗與無效輸入在同一行上輸入的剩餘字元。這可確保從輸入緩衝區中刪除任何無效字符,並且程式已準備好讀取下一個輸入。

以上是如何正確驗證 C 中的雙輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn