Som et lite eksperiment prøver jeg å lage en mod 10-kalkulator. Jeg googlet og lest i hele kveld, uten å finne noen gode eksempler på hvordan det skal gjøres. (Har skummet igjennom det meste som har med Luhn algoritmen å gjøre etc)
Jeg har funnet en nettside som gjør jobben, http://www.dlsoft.com/services/CheckCalc/Default.aspx, men jeg vil altså lage en tilsvarende applikasjon, med kun mod 10-kalkulasjon.
Det jeg finner plenty av, er hvordan kredittkortvalidering fungerer, men de fleste eksempler er basert på prefikser som visse kortfirmaer bruker osv.
Er det noen som har tips til hva jeg bør søke på?
Edit:
Bruker Windows Forms.
Kanskje dette er litt mer forståelig for de som ikke er kjent med Luhn, men C#. Det er dette jeg vil utføre. Tallet tastes inn i en tekstboks, og ved button_click så kalkuleres kontrollsifferet til en annen tekstboks eller label.
Jeg har funnet en nettside som gjør jobben, http://www.dlsoft.com/services/CheckCalc/Default.aspx, men jeg vil altså lage en tilsvarende applikasjon, med kun mod 10-kalkulasjon.
Det jeg finner plenty av, er hvordan kredittkortvalidering fungerer, men de fleste eksempler er basert på prefikser som visse kortfirmaer bruker osv.
Er det noen som har tips til hva jeg bør søke på?
Edit:
Bruker Windows Forms.
Kanskje dette er litt mer forståelig for de som ikke er kjent med Luhn, men C#. Det er dette jeg vil utføre. Tallet tastes inn i en tekstboks, og ved button_click så kalkuleres kontrollsifferet til en annen tekstboks eller label.
1. For this example, we will use a barcode containing the data 12345678912. Starting from the left side of the bar code, add together every other digit, ignoring the check digit. Add the first, third, fifth, seventh, ninth, and eleventh digits:
1+3+5+7+9+2=27
2. Multiply the result from step 1 by 3:
27*3=81
3. Add together the remaining digits. Add the second, fourth, sixth, eighth, tenth, and twelfth digits:
2+4+6+8+1=21
4. Add the results of steps 2 and 3:
81+21=102
5. Find the number which, when added to the result from step 4, will generate a number that is evenly divisible by 10:
102 + n = 110
n = 8
The number 8 is the mod10 check digit for this arrangement of digits.
1+3+5+7+9+2=27
2. Multiply the result from step 1 by 3:
27*3=81
3. Add together the remaining digits. Add the second, fourth, sixth, eighth, tenth, and twelfth digits:
2+4+6+8+1=21
4. Add the results of steps 2 and 3:
81+21=102
5. Find the number which, when added to the result from step 4, will generate a number that is evenly divisible by 10:
102 + n = 110
n = 8
The number 8 is the mod10 check digit for this arrangement of digits.
Vis hele sitatet...
Sist endret av bronsky; 15. februar 2011 kl. 21:53.