冰楓論壇

標題: 求c++ 寫身分證產生器作業怎麼寫 [打印本頁]

作者: 匿名    時間: 2015-10-7 22:20
標題: 求c++ 寫身分證產生器作業怎麼寫
求c++ 寫身分證產生器作業怎麼寫 作業需求 拜託了

作者: 2492544205a    時間: 2015-10-7 22:51
最後一碼 檢查碼
10-(由左至右,第一位乘1,第二位乘9,第三位乘8,第四位乘7;以此類推最後一位乘1,
相加%10)
作者: qaxc5619    時間: 2015-10-7 22:57
2492544205a 發表於 2015-10-7 22:51
最後一碼 檢查碼
10-(由左至右,第一位乘1,第二位乘9,第三位乘8,第四位乘7;以此類推最後一位乘1,
相加% ...

能再詳細一點嗎 拜託大大了
作者: yhes030303    時間: 2015-10-7 23:37
你先上網查一下身分證的產生方式吧
作者: howdp75389v    時間: 2015-10-8 08:18
#include<iostream>
#include<ctime>
#include<vector>
using namespace std;
int main(){
int tmp=0,i,j;
char result[11];
int key2[10]={1,9 ,8 ,7 ,6 ,5 ,4 ,3 ,2 ,1};
int key[26]={10,11,12,13,14,15,16,17,34,18,19,20,21,22,35,23,24,25,26,27,28,29
,30,31,32,33};
do{
cout<<"請輸入戶籍地"<<endl;
cout<<"A 台北市 J 新竹縣 S 高雄縣 I 嘉義市 B 台中市 K 苗栗縣 "<<endl
<<"T 屏東縣 O 新竹市 C 基隆市 L 台中縣 U 花蓮縣 D 台南市 "<<endl
<<"M 南投縣 V 台東縣 E 高雄市 N 彰化縣 X 澎湖縣 F 台北縣 "<<endl
<<"P 雲林縣 Y 陽明山 G 宜蘭縣 Q 嘉義縣 W 金門 H 桃園縣 "<<endl
<<"R 台南縣 Z 馬祖 "<<endl;
cin>>result[0];
}while('A'>result[0]||'Z'<result[0]);
do{
cout<<"請輸入性別"<<endl;
cout<<"1表男性,2表女性"<<endl;
cin>>result[1];
}while(result[1]!='1'&&result[1]!='2');
srand(time(NULL));
for(i=2;i<9;i++)
result[i]=rand()%10+'0';
tmp+=(key[result[0]-'A']/10);
tmp+=(key[result[0]-'A']%10*9);
for(i=2;i<10;i++){
tmp+=(key2[i]*(result[i-1]-'0'));
}
result[9]=10-tmp%10+'0';
result[10]=0;
cout<<result<<endl;
system("pause");
return 0;
}
作者: winstonkuo    時間: 2015-10-8 10:01
提示: 作者被禁止或刪除 內容自動屏蔽
作者: raker900716    時間: 2017-1-6 14:01
身分證字號規則:
字母(ABCDEFGHJKLMNPQRSTUVXYWZIO)對應一組數(10~35),
令其十位數為X1,個位數為X2;( 如A:X1=1 , X2=0 );D表示2~9數字
Y = X1 + 9*X2 + 8*D1 + 7*D2 + 6*D3 + 5*D4 + 4*D5 + 3*D6 + 2*D7+ 1*D8 + D9
如Y能被10整除,則表示該身分證號碼為正確,否則為錯誤。




歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓