C++ 输入验证
输入验证
当用户在程序中输入数据时,他们可能会输入一些意外的内容。输入验证确保在程序继续运行之前输入是正确的。
如果没有验证,您的程序可能会崩溃或行为异常!
下面的示例展示了检查用户输入是否有效的一些简单方法。
验证整数输入
确保用户输入的是数字。如果他们输入了其他内容(如字母),则再次询问:
int number;
cout << "请输入一个数字:";
while (!(cin >> number)) { // 持续询问,直到用户输入有效的数字
cout << "无效输入,请重试:";
cin.clear(); // 重置输入错误状态
cin.ignore(10000, '\n'); // 移除错误输入
}
cout << "您输入了:" << number;
结果:
请输入一个数字:f 无效输入,请重试:3 您输入了:3
验证数字范围
检查数字是否在允许的范围内(例如,1 到 5):
int number;
do {
cout << "选择一个介于 1 和 5 之间的数字:";
cin >> number;
} while (number < 1 || number > 5); // 持续询问,直到用户输入介于 1 和 5 之间的数字
cout << "您选择了:" << number;
结果:
选择一个介于 1 和 5 之间的数字:8 选择一个介于 1 和 5 之间的数字:-2 选择一个介于 1 和 5 之间的数字:4 您选择了:4
验证文本输入
检查名称是否为空:
string name;
do {
cout << "请输入您的姓名:";
getline(cin, name);
} while (name.empty()); // 持续询问,直到用户输入内容(姓名不为空)
cout << "您好," << name;
结果:
请输入您的姓名: 请输入您的姓名: 请输入您的姓名:John 您好,John
提示:您可以在我们的 <iostream> 库参考中阅读更多关于 cin 对象的信息。