C++ 输入验证

输入验证

当用户在程序中输入数据时,他们可能会输入一些意外的内容。输入验证确保在程序继续运行之前输入是正确的。

如果没有验证,您的程序可能会崩溃或行为异常!

下面的示例展示了检查用户输入是否有效的一些简单方法。

验证整数输入

确保用户输入的是数字。如果他们输入了其他内容(如字母),则再次询问:

int number;
cout << "请输入一个数字:";
while (!(cin >> number)) {  // 持续询问,直到用户输入有效的数字
  cout << "无效输入,请重试:";
  cin.clear(); // 重置输入错误状态
  cin.ignore(10000, '\n'); // 移除错误输入
}
cout << "您输入了:" << number;

结果:

请输入一个数字:f
无效输入,请重试:3
您输入了:3

验证数字范围

检查数字是否在允许的范围内(例如,15):

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 对象的信息。