首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >7位学生号码的生成

7位学生号码的生成
EN

Stack Overflow用户
提问于 2014-03-05 02:32:54
回答 2查看 2.3K关注 0票数 1

我刚从vb.net开始,所以请在这里对我有耐心。

我正在做一个大学作业,在那里我需要建立一个小型的学生注册程序。

每当用户单击寄存器时,我需要创建一个7位的学生号码,我的代码和验证以及与DB的连接都很好,我只是在努力生成学生编号。

生成学生nr的指令

  1. 学生号码应该有7位数字。
  2. 前两位数字表示学生注册的年份(全年的最后两位数字),我是这样做的,它运行得很好:Dim cyear = DateTime.Now.ToString("yy")
  3. 这里是我的问题:下面的4个数字代表到目前为止注册的学生人数,这个数字总是从左边用0填充成四位数。

示例

如果到目前为止已有20名学生注册(2014年),那么下一名学生将有140021名学生。

4最后一个数字是一个检查数字,你通过把学生数字的前6个个人数字相加,把结果除以10,取余数,再减去馀数,得到最后一个数字。好吧,这很容易,但是如果到目前为止只有一个学生注册了呢?那肯定不能产生正确的结果。

我的问题

(见上面的第3号)我如何生成数字3到6,从左到右递增一个,每一个新注册?

我尝试了下面的代码,但它离工作还很远

代码语言:javascript
复制
'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)

我的接口看起来像这个

请注意,我不要求有人为我完成这段代码,我只是寻求一些建议,谁可以指出我的正确方向等。如果说明是否正确的选择结构,我应该使用生成学生人数?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-05 02:56:49

代码语言:javascript
复制
  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")) 

更多的是.

代码语言:javascript
复制
  Dim strYear As String = TextBox1.Text
  MessageBox.Show(strYear & intStudents.ToString("D4")) 'D means the format and the number 4 is the length...

如果你问我的话.

代码语言:javascript
复制
'I assume this is your register button... if so you can do this..
 If (register.Enabled) Then
  'whatever else you need
 End If 

这是你编辑的完整代码..。

代码语言:javascript
复制
 '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中再添加一个:)

代码语言:javascript
复制
 Dim studentTotal As Integer = 13 

 'Put in your click event ...
 studentTotal = studentTotal += 1
票数 2
EN

Stack Overflow用户

发布于 2014-03-05 02:40:50

这就是你如何垫号码:

代码语言:javascript
复制
int number = 1;
Console.WriteLine(number.ToString("0000"));

VB

代码语言:javascript
复制
Dim number As Integer = 1
Console.WriteLine(number.ToString("0000"))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22187329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档