我刚从vb.net开始,所以请在这里对我有耐心。
我正在做一个大学作业,在那里我需要建立一个小型的学生注册程序。
每当用户单击寄存器时,我需要创建一个7位的学生号码,我的代码和验证以及与DB的连接都很好,我只是在努力生成学生编号。
生成学生nr的指令
Dim cyear = DateTime.Now.ToString("yy")示例
如果到目前为止已有20名学生注册(2014年),那么下一名学生将有140021名学生。
4最后一个数字是一个检查数字,你通过把学生数字的前6个个人数字相加,把结果除以10,取余数,再减去馀数,得到最后一个数字。好吧,这很容易,但是如果到目前为止只有一个学生注册了呢?那肯定不能产生正确的结果。
我的问题
(见上面的第3号)我如何生成数字3到6,从左到右递增一个,每一个新注册?
我尝试了下面的代码,但它离工作还很远
'Generate Student NR'
Dim newstudent As Integer
'displays 1st 2 letter of current year for student number'
Dim cyear = DateTime.Now.ToString("yy")
Dim lastdigit As Double
Dim lastdigitRemainder
Dim studentnr As Integer
'if statment to generate new student number for each registration'
If (register.Enabled = True) Then
newstudent = cyear + 0 + 0 + 0 + 1
'generate last digit of student nr'
lastdigit = (cyear + newstudent) / 10
lastdigitRemainder = lastdigit - 10
studentnr = lastdigit + lastdigitRemainder
MsgBox(studentnr)我的接口看起来像这个

请注意,我不要求有人为我完成这段代码,我只是寻求一些建议,谁可以指出我的正确方向等。如果说明是否正确的选择结构,我应该使用生成学生人数?
发布于 2014-03-05 02:56:49
Dim intYear As Integer = TextBox1.Text 'The years last two digits'
'Show the student id: pad the students number with 0's, works with single, double etc digits. The intStudents is the variable I used for the student totals.
MessageBox.Show(CStr(intYear.ToString) & intStudents.ToString("0000")) 更多的是.
Dim strYear As String = TextBox1.Text
MessageBox.Show(strYear & intStudents.ToString("D4")) 'D means the format and the number 4 is the length...如果你问我的话.
'I assume this is your register button... if so you can do this..
If (register.Enabled) Then
'whatever else you need
End If 这是你编辑的完整代码..。
'Generate Student NR'
Dim newstudent As String
Dim cyear As String = DateTime.Now.ToString("yy")
Dim studentTotal As Integer = 13 'However many students registered so far...
'if statment to generate new student number for each registration'
If (register.Enabled = True) Then
newstudent = cyear & studentTotal.ToString("D4")
MessageBox.Show(newstudent) 'Use this as "MsgBox" is depreciated in newer frameworks'
End If‘在您请求的用户variable...As中再添加一个:)
Dim studentTotal As Integer = 13
'Put in your click event ...
studentTotal = studentTotal += 1发布于 2014-03-05 02:40:50
这就是你如何垫号码:
int number = 1;
Console.WriteLine(number.ToString("0000"));VB
Dim number As Integer = 1
Console.WriteLine(number.ToString("0000"))https://stackoverflow.com/questions/22187329
复制相似问题