C++ 输入验证
输入验证
当用户向程序输入数据时,他们可能会输入一些意料之外的内容。输入验证确保输入正确后,程序才会继续运行。
如果没有验证,程序可能会崩溃或运行异常!
以下示例展示了检查用户输入是否有效的简单方法。
验证整数输入
请确保用户输入的是数字。如果用户输入的是其他内容(例如字母),请再次询问。
int number;
cout << "Enter a number: ";
while (!(cin >> number)) { // 持续询问,直到用户输入有效数字为止。
cout << "Invalid input. Try again: ";
cin.clear(); // Reset input errors
cin.ignore(10000, '
'); // Remove bad input
}
cout << "You entered: " << number;
示例结果:
Enter a number: f
Invalid input. Try again: 3
You entered: 3
验证数字范围
检查数字是否在允许的范围内(例如 1 到 5):
int number;
do {
cout << "Choose a number between 1 and 5: ";
cin >> number;
} while (number < 1 || number> 5); // 持续询问,直到用户输入 1 到 5 之间的数字为止。
cout << "You chose: " << number;
示例结果:
Choose a number between 1 and 5: 8
Choose a number between 1 and 5: -2
Choose a number between 1 and 5: 4
You chose: 4
验证文本输入
检查名称是否为空:
string name;
do {
cout << "Enter your name: ";
getline(cin, name);
} while (name.empty()); // 持续询问直到用户输入内容(姓名不为空)
cout << "Hello, " << name;
示例结果:
Enter your name:
Enter your name:
Enter your name: John
Hello, John
提示: 您可以在我们的 <iostream> 库参考 中阅读更多关于 cin 对象的信息。

