首页 >后端开发 >C++ >如何确保 C 中整数输入有效?

如何确保 C 中整数输入有效?

Linda Hamilton
Linda Hamilton原创
2024-12-12 17:31:09382浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn