验证身份证号码真实性~用c++写的哦~

本人在校学生,在看过网络与信息安全课程过程中,发现了一个验证身份证号码的好办法:

 

 

 

 

 

上面的解释已经通俗易懂了!于是......

以此为启发,写了一个辨别身份证号是否为真的小代码:

先上执行结果:

 

 

 这个身份证号码是由系统生成,是真实的身份证号码

 

 

 该身份证则是我Bianc编的啦~

 

代码如下:

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int main()
 6 {
 7 
 8     cout << "--------------请输入要验证的身份证号码:--------------" << endl;
 9     cout<<"输入时请注意:"<<endl;
10     cout<<"1.身份证尾号是x时,请用120代替"<<endl;
11     cout<<"2.每位身份证号之间请用空格隔开"<<endl;
12     int a[18],i;
13     for(i=0;i<18;i++)
14     {
15         cin>>a[i];
16     }
17     int sum=(a[0]*7)+(a[1]*9)+(a[2]*10)+(a[3]*5)+(a[4]*8)+(a[5]*4)+(a[6]*2)+(a[7]*1)+(a[8]*6)+(a[9]*3)+(a[10]*7)+(a[11]*9)+(a[12]*10)+(a[13]*5)+(a[14]*8)+(a[15]*4)+(a[16]*2);
18     int n=sum%11;
19     switch(n)
20     {
21         case 0:if(a[17]==1) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
22         case 1:if(a[17]==0) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
23         case 2:if(a[17]==120) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
24         case 3:if(a[17]==9) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
25         case 4:if(a[17]==8) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
26         case 5:if(a[17]==7) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
27         case 6:if(a[17]==6) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
28         case 7:if(a[17]==5) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
29         case 8:if(a[17]==4) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
30         case 9:if(a[17]==3) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
31         case 10:if(a[17]==2) cout<<"该身份证号正确!"; else cout<<"该身份证号为假"; break;
32         default :break;
33     }
34     return 0;
35 }

 

posted on 2020-04-26 00:26  超级杨过敏  阅读(1184)  评论(0编辑  收藏  举报

导航