使用 C 的輸入驗證循環無縫驗證輸入
在掌握 C 的過程中,輸入驗證至關重要。您偶然發現了一種有效的方法,但讓我們探索替代選項。
您的方法
您的循環圍繞 cin.fail() 檢查,該檢查檢測不正確的輸入格式。如果輸入非整數,則會顯示錯誤訊息並使用 cin.clear() 和 cin.ignore() 清除輸入緩衝區。雖然這種方法是合理的,但仍有一些細微差別可以改進。
另一種方法
您可以直接檢查而不是依賴 cin.fail()輸入操作(cin>>taxableIncome)成功或失敗。如果失敗,請像以前一樣使用訊息優雅地處理錯誤並清除輸入緩衝區:
int taxableIncome; for (;;) { cout << "Please enter in your taxable income: "; if (cin >> taxableIncome) { break; } else { cout << "Please enter a valid integer" << endl; cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); } }
透過使用此循環,您可以避免設定和檢查顯式錯誤變量,從而簡化驗證過程。此外,使用 numeric_limits
結論
兩種方法對於輸入驗證都有效,但修改後的循環提供了更簡潔和可讀的語法。最終,最好的方法取決於您的喜好和專案的特定要求。
以上是如何提高 C 輸入驗證循環效率?的詳細內容。更多資訊請關注PHP中文網其他相關文章!