我正在循環卡號找到所有的奇數並乘以卡位數。其種類很難解釋。我無法乘以奇數和卡號。這是我老師給我的一個例子。您將卡號1和奇數1相乘,等等。我沒有收到任何錯誤,只是有點凍結。先謝謝你。 和的
卡編號:1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
倍數1 2 3 4 5 6 7 8
埃文斯:2 4 6 8 0 2 4 6 32 =薩姆1
賠率:1 6 15 28 45 6 21 40 162 = SUM 2通過一個字符串循環找到奇數VB
薩姆3:194 194 =薩姆3
步驟4:= 1 + 9 + 4 = 14
= 1 + 4 = 5 =校驗碼
Public Class Payment
Private Sub OK_Click(sender As Object, e As EventArgs) Handles OK.Click
Dim Sum1 = 0
Dim Sum2 = 0
Dim Sum3 = 0
Dim ready As Boolean
Dim ccnumb = CardNumber.Text
Format(CardNumber.Text, "################")
Dim exp = Mid(ExpDate.Text, 1, 3)
Dim checkdigit = 0
If FullName.TextLength = 0 Or cardtype.Text.Length = 0 And ccnumb.Length <= 16 Or exp.Length = 2 Then
MessageBox.Show("Please enter all credit card information before proceeding.")
ready = False
Else ready = True
End If
If ready = True Then
For Each num As Char In ccnumb
If CInt(CStr(num)) Mod 2 <> 0 Then
Sum1 += CInt(CStr(num)) * CInt(CStr(num)) Mod 2 <> 0
Else
Sum2 += CInt(CStr(num))
End If
Next
Sum3 = Sum1 + Sum2
Do While Sum3 > 10
For j = 0 To Sum3.ToString.Length - 1
For k = 1 To Sum3.ToString.Length - 1
Sum3 = j + k
Next
Next
Loop
Do While exp.Length > 1
checkdigit = Mid(ExpDate.Text, 1, 1) + Mid(ExpDate.Text, 1, 2)
Loop
If Sum3 = checkdigit Then
MessageBox.Show("Congratulations! Your payment was successful.")
CustInv.Show()
Else MessageBox.Show("The checkdigit," & Space(1) & Sum3 & Space(1) & "does not match the month code," & Space(1) & checkdigit & "." & Space(1) & "Please reenter your card information.")
End If
End If
End Sub
這是任何特別的語言;如果是的話,什麼? –
我正在使用Visual Baiscs – Rob
[爲什麼接受答案?](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。接受答案可以幫助其他有相同問題的人。 – Masoud