SOGO論壇
  登入   註冊   找回密碼
查看: 1346|回覆: 2
列印 上一主題 下一主題

[程式設計] 身分證問題 [複製連結]

Rank: 1

狀態︰ 離線
跳轉到指定樓層
1
發表於 2014-11-26 00:56:06 |只看該作者 |倒序瀏覽
請使用陣列撰寫一個C++程式能讓使用者輸入身分證號碼,然後檢查並顯示此身份證號碼是否合法。
(1)本國身份證號碼共10碼,第1碼為英文,其餘為數字,其中最右邊的數字為檢查碼
(2)以下的英文代號所代表的轉換數字:
    A=10 台北市      J=18 新竹縣     S=26 高雄縣    B=11 台中市      K=19 苗栗縣     T=27 屏東縣
    C=12 基隆市      L=20 台中縣     U=28 花蓮縣    D=13 台南市      M=21 南投縣     V=29 台東縣
    E=14 高雄市      N=22 彰化縣     W=32 金門縣    F=15 台北縣      O=35 新竹市     X=30 澎湖縣
    G=16 宜蘭縣      P=23 雲林縣     Y=31 陽明山    H=17 桃園縣      Q=24 嘉義縣     Z=33 連江縣
     I=34 嘉義市      R=25 台南縣
(3)身份證檢查時要將英文轉成數字,再將轉換後的數字其個位數乘9,再加上十位數
(4)左邊前八個數字,分別乘以8、7、6、5...1
(5)求出(3),(4)的和
(6)求出(5)除10後之餘數,再用10減該餘數,如果結果的個位數與檢查碼相同,則號碼正確
例如: 身分證字號  A123456789 可分為三部份 A 12345678 9 
      A:10 -> 1*1+0*9 = 1(第1部份)
      12345678->1*8+2*7+3*6+4*5+5*4+6*3+7*2+8*1=120 (第2部份)
      (第1部份)+(第2部份)=1+120=121
      10-(121%10)=9 與最後一碼檢查碼相同,因此此號碼為合法的編號
(7)使用者輸入身份證號碼長度多於10碼或少於10碼,應顯示錯誤訊息
利用C語言做題使用陣列與迴圈

有做出來一些些但怪怪ㄉ
拜託大師解答
喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

狀態︰ 離線
2
發表於 2014-11-26 01:19:38 |只看該作者
怪在哪裡呢??
是程式碼有error不能跑,
還是跑出來不如預期,還是跑到一半會崩潰?
貼上程式碼讓大家看看吧

Rank: 2

狀態︰ 離線
3
發表於 2015-2-26 17:11:00 |只看該作者
試著把那些英文字放在陣列內,並把每個英文各自對應的數字也放在另一陣列內(當然可合成1個陣列,用struct), 接著只要處理字串就可以驗證或產生身份證字號了喲。加油!
請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-11-2 18:36

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部