身份证号的测试用例(身份证号码测试用例编写)

本文向给大家分享身份证号码测试用例编写相关知识,同时小编也会对设计测试用例方法进行解释,如果能解决您在身份证号码测试用例编写方面面临的问题,请收藏关注本站,现在开始吧!

测试用例设计
源程序如下:


#include"stdio.h"


voidmain()


{


inti; 信数  /*身份证的第i位*/


ints[17]; /*定义一个数组用来存放身份证的前17位*/
intt[17]; /*各位相乘后的数组*/


intm;   /*余数*/


intt18;  /*身份证的第18位0--9*/


chart18c; /*身份证的第18位X*/


longintsum=0;


for(i=0;i<17;i++)


{


printf("请输入身份证的第%d位:",i+1);


scanf("%d",&s[i]);


switch(i+1)


{


/*身份证的1到17位要乘的数一次是7910584216379105842*/


case1:t[i]=s[i]*7;break;


case2:t[i]=s[i]*9;break;


case3:t[i]=s[i]*10;break;


case4:t[i]=s[i]*5;break;


case5:t[i]=s[i]*8;break;


case6:t[i]=s[i]*4;break;


case7:t[i]=s[i]*2;break;


case8:t[i]=s[i]*1;break;


case9:t[i]=s[i]*6;break;


case10:t[i]=s[i]*3;break;


case11:t[i]=s[i]*7;break;


case12:t[i]=s[i]*9;break;


case13:t[i]=s[i]*10;break;


case14:t[i]=s[i]*5;break;


case15:t[i]=s[i]*8;break;


case16:t[i]=s[i]*4;break;


case17:t[i]=s[i]*2;break;


}


sum=sum+t[i];


}


printf("前17位相乘后的和为%ld\n",sum);


m=sum%17;


printf("对17取余后的值位:",m);


switch(m)

}

/*各个余数所对应第18位身份证号10X98765432*/


case0:t18=1;printf("这者族是一个合法的身份证号码,第18位是%d"滑嫌首,t18);break;


case1:t18=0;printf("这是一个合法的身份证号码,第18位是%d",t18);break;


case2:t18c='X';printf("这是一个合法的身份证号码,第18位是%c",t18c);break;


case3:t18=9;printf("这是一个合法的身份证号码,第18位是%d",t18);break;


case4:t18=8;printf("这是一个合法的身份证号码,第18位是%d",t18);break;


case5:t18=7;printf("这是一个合法的身份证号码,第18位是%d",t18);break;


case6:t18=6;printf("这是一个合法的身份证号码,第18位是%d",t18);break;


case7:t18=5;printf("这是一个合法的身份证号码,第18位是%d",t18);break;


case8:t18=4;printf("这是一个合法的身份证号码,第18位是%d",t18);break;


case9:t18=3;printf("这是一个合法的身份证号码,第18位是%d",t18);break;


case10:t18=2;printf("这是一个合法的身份证号码,第18位是%d",t18);break;


default:printf("这不是一个合法的身份证号码");


}


printf("\n");


}


VC++6.0测试如下(输入一位后按回车输入第二位数)。