以下是该程序的代码:

Option Explicit

Sub Main()
    Dim studentId As String
    Dim level As String
    Dim college As String
    Dim className As String
    Dim classNum As String
    Dim continueInput As String
    
    Do
        studentId = InputBox("请输入学生的学号(输入0结束):")
        
        If studentId = "0" Then
            Exit Do
        End If
        
        If Len(studentId) <> 12 Then
            MsgBox "学号必须为12位数字符号,请重新输入。"
            Continue Do
        End If
        
        level = Left(studentId, 4)
        Select Case level
            Case "2022"
                level = "2022级"
            Case "2021"
                level = "2021级"
            Case "2020"
                level = "2020级"
            Case "2019"
                level = "2019级"
            Case "2018"
                level = "2018级"
            Case Else
                MsgBox "输入的学号不合法,请重新输入。"
                Continue Do
        End Select
        
        college = Mid(studentId, 5, 2)
        Select Case college
            Case "01"
                college = "机械与动力工程学院"
            Case "02"
                college = "电气工程学院"
            Case "03"
                college = "化工学院"
            Case "04"
                college = "土木工程学院"
            Case "05"
                college = "水利科学与工程学院"
            Case "06"
                college = "力学与安全工程学院"
            Case "07"
                college = "管理工程学院"
            Case "08"
                college = "材料科学与工程学院"
            Case "09"
                college = "建筑学院"
            Case "63"
                college = "口腔医学院"
            Case "10"
                college = "地球科学与技术学院"
            Case "11"
                college = "生态与环境学院"
            Case "21"
                college = "数学与统计学院"
            Case "22"
                college = "物理学院"
            Case "23"
                college = "化学学院"
            Case "24"
                college = "信息工程学院"
            Case "31"
                college = "商学院"
            Case "32"
                college = "旅游管理学院"
            Case "33"
                college = "政治与公共管理学院"
            Case "34"
                college = "信息管理学院"
            Case "35"
                college = "法学院"
            Case "36"
                college = "文学院"
            Case "37"
                college = "外国语与国际关系学院"
            Case "38"
                college = "历史学院"
            Case "39"
                college = "马克思主义学院"
            Case "40"
                college = "新闻与传播学院"
            Case "41"
                college = "教育学院"
            Case "45"
                college = "书法学院"
            Case "46"
                college = "美术学院"
            Case "47"
                college = "生命科学学院"
            Case "48"
                college = "音乐学院"
            Case "49"
                college = "体育学院(校本部)"
            Case "51"
                college = "基础医学院"
            Case "52"
                college = "公共卫生学院"
            Case "53"
                college = "药学院"
            Case "54"
                college = "护理与健康学院"
            Case "84"
                college = "国际学院"
            Case "90"
                college = "交换生"
            Case Else
                MsgBox "输入的学号不合法,请重新输入。"
                Continue Do
        End Select
        
        className = Mid(studentId, 7, 2) & "班"
        classNum = Mid(studentId, 9, 2) & "号"
        
        MsgBox level & "," & college & "," & className & "," & classNum
        
        continueInput = InputBox("是否继续输入学生的学号?(y/n)")
        If continueInput <> "y" Then
            Exit Do
        End If
    Loop
End Sub

该程序使用了一个循环,每次循环中先从用户输入中获取学号,然后对学号进行验证和解析,最后输出相应的信息。判断学号是否合法的逻辑使用了 Select Case 语句,根据学号的前几位来判断是哪个级别,哪个学院。输出信息时使用了 MsgBox 函数来显示一个弹窗。用户可以不断输入学号,直到输入 0 或者回答不想继续输入


原文地址: https://www.cveoy.top/t/topic/eOsx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录