返回列表 發帖
老師,如果你有每天來檢查的話,請幫幫我批改一下唄>ˇ<
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <string>
  4. using namespace std;
  5. int main(void){
  6.    
  7.     string num;
  8.     int id_change[26] = {10,11,12,13,14,15,16,17,34,18,19,20,
  9.     21,22,35,23,24,25,26,27,28,29,32,30,31,33};
  10.     int all[8] = {0,0,0,0,0,0,0,0};
  11.     int end_all = 0;
  12.     int first = 0;
  13.    
  14.     cout << "請輸入身分證號碼" << endl;
  15.     cin >> num;
  16.    
  17.     if((int)num[0] >= 97 && (int)num[0] <= 122){
  18.           (int)num[0]-32;               
  19.     }
  20.    
  21.     first = ((id_change[(int)(num[0]-65)] % 10) * 9) +
  22.     (((id_change[(int)(num[0]-65)]) - (id_change[(int)(num[0]-65)] % 10)) / 10);
  23.    
  24.     all[7] = ((int)num[8] - 48);
  25.     all[6] = ((int)num[7] - 48)* 2;
  26.     all[5] = ((int)num[6] - 48)* 3;
  27.     all[4] = ((int)num[5] - 48)* 4;
  28.     all[3] = ((int)num[4] - 48)* 5;
  29.     all[2] = ((int)num[3] - 48)* 6;
  30.     all[1] = ((int)num[2] - 48)* 7;
  31.     all[0] = ((int)num[1] - 48)* 8;
  32.    
  33.     end_all = (first + all[7] + all[6] + all[5] + all[4] +
  34.     all[3] + all[2] + all[1] + all[0]) % 10;
  35.    
  36.     if(end_all == 0){
  37.                end_all = 0;
  38.     }else{
  39.                end_all = 10 - ((first + all[7] + all[6] + all[5] + all[4] +
  40.                all[3] + all[2] + all[1] + all[0]) % 10);
  41.     }
  42.    
  43.     if(end_all == (int)num[9] - 48){
  44.                cout << "這是合法的身分證號碼" << endl;
  45.     }else{
  46.                cout << "這不是合法的身分證號碼" << endl;
  47.     }

  48.     system("pause");
  49.     return 0;
  50. }
複製代碼

TOP

老師 這是身分證製造器 我自己寫的 看一下唄
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4. int main(void){
  5.    
  6.     srand(time(NULL));
  7.     int id_change[26] = {10,11,12,13,14,15,16,17,34,18,19,20,
  8.     21,22,35,23,24,25,26,27,28,29,32,30,31,33};
  9.     int id[10];
  10.     int where;
  11.     int sex;
  12.    
  13.     cout << "請選擇居住地區:   1:台北市  2:台中市  3:基隆市  4:台南市  5:高雄市" << endl;
  14.     cout << "6:台北縣  7:宜蘭縣  8:桃園縣  9:嘉義市  10:新竹縣  11:苗栗縣" << endl;
  15.     cout << "12:台中縣  13:南投縣  14:彰化縣  15:新竹市  16:雲林縣  17:嘉義縣" << endl;
  16.     cout << "18:台南縣  19:高雄縣  20:屏東縣  21:花蓮縣  22:台東縣  23:金門縣" << endl;
  17.     cout << "24:澎湖縣  25:陽明山  26:連江縣" << endl;
  18.     cin >> where;
  19.    
  20.     id[0] = (where + 64);
  21.    
  22.     cout << "請輸入性別:  1:男性 2:女性" << endl;
  23.     cin >> sex;
  24.    
  25.     id[1] = sex;
  26.    
  27.     test:
  28.    
  29.     int all[8] = {0,0,0,0,0,0,0,0};
  30.     int end_all = 0;
  31.     int first = 0;
  32.     int again = 0;
  33.    
  34.     for(int i = 2; i < 10; i++){
  35.     id[i] = (rand()%10);
  36.     }
  37.    
  38.     first = ((id_change[(id[0]-65)] % 10) * 9) +
  39.     (((id_change[(id[0]-65)]) - (id_change[(id[0]-65)] % 10)) / 10);
  40.    
  41.     all[7] = id[8];
  42.     all[6] = (id[7] * 2);
  43.     all[5] = (id[6] * 3);
  44.     all[4] = (id[5] * 4);
  45.     all[3] = (id[4] * 5);
  46.     all[2] = (id[3] * 6);
  47.     all[1] = (id[2] * 7);
  48.     all[0] = (id[1] * 8);
  49.    
  50.     end_all = (first + all[7] + all[6] + all[5] + all[4] +
  51.     all[3] + all[2] + all[1] + all[0]) % 10;
  52.    
  53.     if(end_all == 0){
  54.           end_all = 0;
  55.     }else{
  56.           end_all = 10 - ((first + all[7] + all[6] + all[5] + all[4] +
  57.           all[3] + all[2] + all[1] + all[0]) % 10);
  58.     }
  59.    
  60.     if(end_all == id[9]){
  61.           cout << (char)id[0] << id[1];
  62.           cout << id[2] << id[3] << id[4] << id[5]<< id[6] << id[7] << id[8] << id[9] << endl;
  63.           cout << "還要再產生一組身分證嗎? 1:Yes 2:No" << endl;
  64.           cin >> again;
  65.           if(again == 1){
  66.                 goto test;
  67.           }else if(again == 2){
  68.                 cout << "再見!!" << endl;            
  69.           }
  70.     }else{
  71.           goto test;
  72.     }

  73.     system("pause");
  74.     return 0;
  75. }
複製代碼

TOP

返回列表