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 否则它不能容纳十个任意数字。

agepId 变量设为 unsigned int 而不是 int 也可能是个好主意,这样可以消除负值 [=] 的可能性17=] 和 pId 加上减号。

您可以像这样构造一个 patient 类型的对象:

patient obj{1234, 47, 1234567};