第二部分:文字录入及身份证校验

来源:互联网 发布:艾克里里淘宝店叫什么 编辑:程序博客网 时间:2024/05/17 02:06

第二部分相对比较简单,实现文字的自动换行只需将editbox的属性multiline与vertical scorll属性改写为true即可

剩下的就是身份证的校验算法了,排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。我们的身份证总长18为其中第18为

号码为前17位号码通过一定的算法求得的而后地址访问某一特定的数组而得到的,大体思想为前17位分别乘以其相应的权值后相加,再取余11,得到的结果为特定数组的下标

地址,其对应的值就是身份证的校验位。

<span style="font-size:18px;">int SFZH(CString ID){    int weight[]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};  //每位号码的权值    char validate[]={ '1','0','X','9','8','7','6','5','4','3','2'};//得出的18为即校验码的数组        int sum=0;      int mode=0;      if (ID.GetLength()==18)      {          for(int i=0;i<sfz.GetLength()-1;i++){              sum=sum+(sfz[i]-'0')*weight[i];          }          mode=sum%11;          if (validate[mode]==sfz[17])          {              return 1;          }      }         return 0;  }</span>


1 0