檢查使用者輸入的整數有效性
在提供的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中文網其他相關文章!