貨櫃箱號驗證演算法(C 版)

2022-02-19 13:44:12 字數 1151 閱讀 1176

貨櫃號

由4位公司**和7位數字組成(如cbhu3202732),其中第七位數字就是校驗碼

。首先將公司**轉換為數字,去掉11及其倍數,連加除以11,其餘數為校驗位。 a=10 b=12 c=13 d=14 e=15 f=16 g=17 h=18 i=19 j=20 k=21 l=23 m=24

n=25 o=26 p=27 q=28 r=29 s=30 t=31 u=32 v=34 w=35 x=36 y=37 z=38

標準箱號構成基本概念:採用iso6346(1995)標準。標準貨櫃

箱號由11位編碼組成,包括三個部分:

1、 第一部分由4位英文本母組成。前三位** (owner code) 主要說明箱主、經營人,第四位**說明貨櫃

的型別。列如cbhu 開頭的標準貨櫃是表明箱主和經營人為中遠集運

。2、 第二部分由6位數字組成。是箱體註冊碼(registration code), 用於乙個貨櫃箱體持有的唯一標識。3、 第三部分為校驗碼

(check digit)由前4位字母和6位數字經過校驗規則運算得到,用於識別在校驗時是否發生錯誤。即第11位數字。 根據校驗規則箱號的每個字母和數字都有乙個運算的對應值。箱號的前10位字母和數字的對應值從0到z對應數值為0到38,11、22、33不能對11取模數

,所以要除去。.

2、第n位的箱號對應值再分別乘以2的(n-1)次方 (n=1,2,3………..10)

例如:箱號為cbhu3202732的貨櫃它的第1位**為c,

它的**值=**的對應值×2的(1-1)次方 =13×1=13。

類推第2位**為b

它的**值=**的對應值×2的(2-1 )次方=12×2=24 以此類推得到箱號前10位**的**值,將前10位的**值乘積累加後對11取模箱號為cbhu3202732的貨櫃前10位箱號的**累加值=4061,取11的模後為2,就是這個箱號第11位的識別碼

的數值。

以此類推,就能得到校驗碼。

//判斷箱號正誤

private bool isright(string daima, string xianghao)

else

}catch (exception)

}//獲取**的計算數值

private int changevalue(string str)

貨櫃專案

貨櫃體本身的特徵有三,一是中的需要識別的文字比較大 二是需要識別的文字色彩鮮豔 三是文字周圍的干擾比較多,所以直接識別,即使是使用finereader這種軟體都無法完成。所以,第一步需要做的就是更換區域,強調聯通。比如這樣的結果 再強化 這個時候即使是識別成這樣,都無法ocr,因為細節太多了。怎麼辦...

貨櫃裝載問題

題目詳情 有一批n個貨櫃要裝上兩艘載重量分別為weightone,weighttwo的輪船,其中,貨櫃i的重量為weight i 現在要確定是否存在乙個合理的裝載方案可以把所有的貨櫃裝上這兩個輪船。實現 include include include using namespace std int ...

國際貨櫃運輸方式

由於貨櫃是一種新的現代化運輸方式,它與傳統的貨物運輸有很多不同,做法也不一樣,目前國際上對貨櫃運輸尚沒有乙個行之有效並被普遍接受的統一做法。但在處理貨櫃具體業務中,各國大體上做法近似,現根據當前國際上對貨櫃業務的通常做法,簡介如下 1 貨櫃貨物裝箱方式 根據貨櫃貨物裝箱數量和方式可分為整箱和拼箱兩種...