C++ 上的验证(控制台)
Validations on C++ (Console)
场景 1:
输入作为字符数组 [20] 并保存到 *.dat 文件中。
我需要验证数组的大小,检查是否有任何特殊字符、数字和字母的大小写敏感性。
因为它不是字符串,所以我不能使用 strlen 来验证长度。如果不是,是否可以使用 .length or size_t / sizeof
方法
场景 2:
需要验证 Age 、 Id 和 Phone 数字,它们是结构中的整数。(也保存到 *.dat 文件中)
举个例子:
struct patient{
int pId, age ,contactNo;
}
void input(){
patient obj;
if ((int)obj.age<=65){
//Some Code
}
}
以上方法无效
我需要像上面这样设置年龄限制来验证年龄。 pId 不应超过四位数字,phone 数字将为 10 位数字,中间不带“-”,并且只允许输入数字。
是否有任何可能的方法来完成上述场景。如果可能请给我一个例子...
我不清楚(至少)你在场景 1 中要求什么。
场景 2:
- 结构定义后需要一个分号
- 您应该删除类型转换:
(int)obj.age<=65
应该是 obj.age<=65
,因为它已经是 int
- 关于
pId
,只要检查它是否低于10000
- 对于
contactNo
你需要一个 uint64_t
否则它不能容纳十个任意数字。
将 age
和 pId
变量设为 unsigned int
而不是 int
也可能是个好主意,这样可以消除负值 [=] 的可能性17=] 和 pId
加上减号。
您可以像这样构造一个 patient
类型的对象:
patient obj{1234, 47, 1234567};
场景 1:
输入作为字符数组 [20] 并保存到 *.dat 文件中。
我需要验证数组的大小,检查是否有任何特殊字符、数字和字母的大小写敏感性。
因为它不是字符串,所以我不能使用 strlen 来验证长度。如果不是,是否可以使用 .length or size_t / sizeof
方法
场景 2:
需要验证 Age 、 Id 和 Phone 数字,它们是结构中的整数。(也保存到 *.dat 文件中)
举个例子:
struct patient{
int pId, age ,contactNo;
}
void input(){
patient obj;
if ((int)obj.age<=65){
//Some Code
}
}
以上方法无效
我需要像上面这样设置年龄限制来验证年龄。 pId 不应超过四位数字,phone 数字将为 10 位数字,中间不带“-”,并且只允许输入数字。
是否有任何可能的方法来完成上述场景。如果可能请给我一个例子...
我不清楚(至少)你在场景 1 中要求什么。
场景 2:
- 结构定义后需要一个分号
- 您应该删除类型转换:
(int)obj.age<=65
应该是obj.age<=65
,因为它已经是int
- 关于
pId
,只要检查它是否低于10000 - 对于
contactNo
你需要一个uint64_t
否则它不能容纳十个任意数字。
将 age
和 pId
变量设为 unsigned int
而不是 int
也可能是个好主意,这样可以消除负值 [=] 的可能性17=] 和 pId
加上减号。
您可以像这样构造一个 patient
类型的对象:
patient obj{1234, 47, 1234567};