首頁 > 後端開發 > C++ > 如何確保 C 中整數輸入有效?

如何確保 C 中整數輸入有效?

Linda Hamilton
發布: 2024-12-12 17:31:09
原創
393 人瀏覽過

How to Ensure Valid Integer Input in C  ?

檢查使用者輸入的整數有效性

在提供的C 程式碼中,目標是開發一個從使用者讀取兩個整數的程式並對它們執行基本的數學運算。然而,一個重要的考慮因素出現了:如何確保使用者輸入有效的整數。

要檢查輸入是否為整數,我們可以使用 cin.fail() 函數。如果輸入有效,則傳回 false;如果輸入無效或包含非數字字符,則傳回 true。

檢查有效整數

以下程式碼片段示範如何檢查使用者輸入的兩個整數的有效性:

int firstvariable, secondvariable;
cin >> firstvariable;
if (cin.fail()) {
    // Not an integer; handle appropriately
}

cin >> secondvariable;
if (cin.fail()) {
    // Not an integer; handle appropriately
}
登入後複製

如果輸入無效,則需要進行錯誤處理。這可能涉及顯示訊息、清除輸入流以及重新提示使用者輸入正確的整數。

處理無效輸入

確保連續輸入,直到輸入有效的整數,我們可以實現一個循環,直到輸入通過有效性檢查:

while (cin.fail()) {
    // Clear the input stream
    cin.clear();

    // Ignore the invalid input
    cin.ignore(256, '\n');

    // Re-prompt the user for a valid integer
    cout << "Please enter a valid integer: ";

    // Retry the input
    cin >> firstvariable;
}
登入後複製

在此循環,清除輸入流,忽略無效輸入,並提示使用者輸入有效整數。

範例

以下程式碼提供了完整的檢查有效整數輸入並處理無效輸入的範例:

#include <iostream>

using namespace std;

int main() {
    int firstvariable, secondvariable;

    cout << "Please enter two integers: ";
    cin >> firstvariable;

    while (cin.fail()) {
        cin.clear();
        cin.ignore(256, '\n');
        cout << "Invalid input. Please enter a valid integer: ";
        cin >> firstvariable;
    }

    cin >> secondvariable;

    while (cin.fail()) {
        cin.clear();
        cin.ignore(256, '\n');
        cout << "Invalid input. Please enter a valid integer: ";
        cin >> secondvariable;
    }

    // Perform mathematical operations on the valid integers

    return 0;
}
登入後複製

以上是如何確保 C 中整數輸入有效?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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