【原创】对“学号”、“身份证”的数字分析

问题的提出:
在现代社会中,一个人总是离不开数字。人在社会上总要有一个身份证号码,学生在学校里读书一定会有一个学号,而且这些号码不都是一些无意义的数字。我写的这个程序是用来分析这些数字,并把其中有意义的意思表达出来。

编程环境:
VS.NET

实现技术:
ASP.NET

关键:
String.Substring(Int32,Int32)方法的运用,Literal控件的使用,switch语句的使用。

正文:
在Web窗体上,放上一个Label控件,一个Literal控件,一个TextBox控件,一个Button控件。设置Label控件的Text属性为“您的学号:”,Literal控件的Visible属性设置为“False”。我主要是对Button控件的Click()事件进行编码。当点击一下按钮后,对输入的数字进行分析,然后把分析的内容用Literal控件显示出来。

Button控件的Click()事件:

             string  studentNo  =  txtNo.Text;     //  将学号赋给studentNo字符串

            
if  ( ! studentInfo.Visible)
            
{
                studentInfo.Visible 
= true;    // 如果Literal控件是不可见的,则显示它.
            }


            
try
            
{
                
// 取子串操作
                string strStartYear = studentNo.Substring(0,2);        // 入学年份
                string strTotalYears = studentNo.Substring(2,1);    // 学制
                string strSchool = studentNo.Substring(3,2);        // 学院
                string strClass = studentNo.Substring(5,1);            // 班级
                string strNumber = studentNo.Substring(6,2);        // 号码
            
                
// 将数字跟文字对应起来
                
// 内容纯属虚构
                switch (strSchool)
                
{
                    
case "01":
                        strSchool 
= "文学院";
                        
break;
                    
case "02":
                        strSchool 
= "理学院";
                        
break;
                    
case "03":
                        strSchool 
= "工学院";
                        
break;
                    
case "04":
                        strSchool 
= "科技学院";
                        
break;
                    
case "05":
                        strSchool 
= "传播与艺术学院";
                        
break;
                    
case "06":
                        strSchool 
= "商学院";
                        
break;
                    
case "07":
                        strSchool 
= "法学院";
                        
break;
                    
case "08":
                        strSchool 
= "职教学院";
                        
break;
                    
case "09":
                        strSchool 
= "建工学院";
                        
break;
                    
case "10":
                        strSchool 
= "信息学院";
                        
break;
                    
default:
                        strSchool 
= "子虚乌有";
                           break;
                
                }


                studentInfo.Text 
= "您于"+strStartYear+"年入学"+",所选专业是"+strTotalYears+"年制的。"+
                    
"您现在在"+strSchool+"学院"+strClass+"班学习"+",您的号码是:"+strNumber+"";
            }

            
catch
            
{
                Response.Write(
"取子串操作越界!");
            }

            
finally
            
{
            }


注:这里的学号是8位的。

举例:
Web应用程序运行后,在文本框内输入:02408122。看看结果是什么?:)

效果图:
o_image_07.png

对程序的扩展:
为了禁止输入错误的内容,可以添加一个RegularExpressionValidator和一个ValidationSummary控件,正则表达式为“/d{8}”,当输入的不是8位数字,则会在页面上显示出错信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值