三、综合应用题1.
考生文件夹 在考生文件夹下有一个工程文件sjt5.vbp,含三个窗体,标题分别为“启动”、“注册”、“登录”,运行时显示“启动”窗体,单击其上按钮时弹出对应窗体进行注册或登录。
注册信息放在全局数组users中,注册用户数(最多10个)放在全局变量n中(均己在标准模块中定义)。
注册时用户名不能重复,且“口令”与“验证口令”须相同,注册成功则在“启动”窗体的标签中显示“注册成功”,否则显示相应错误信息。登录时,检验用户名和口令,若正确,则在“启动”窗体的标签上显示“登录成功”,否则显示相应错误信息。
标准模块中函数finduser的功能是:在users数组中搜索用户名(即参数ch),找到则返回该用户名在users中的位置,否则返回0。
已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把Form2、Form3窗体文件中的“?”改为正确的内容。
注意:不得修改已经存在的程序和控件的属性,最后程序按原文件名存盘。
[操作步骤]
步骤1:打开考生文件夹中的本题工程文件sjt5.vbp,在代码编辑窗口,去掉程序中的注释符“'”,将问号“?”改为正确的内容。参考代码:
"---注册窗体Form2-
n=n+1
ElseIf finduser(Trim$(Text1))>0 Then
Form1.Label1.Caption="注册成功!"
'---登录窗体Form3-
If k=0 Then
E1seIf Trims(Text2)<>users(k,2)Then
步骤2:按要求将文件保存至考生文件夹中。
答案考生文件夹[考点] 多窗体、Sub过程和函数过程。
[解析] 本题源程序在“注册”窗体的“确定”按钮的单击事件过程中,先判断是否输入用户名,若没有输入则弹出提示信息,否则通过调用标准模块中的finduser函数,检查输入用户是否存在于users数组中(条件表达式为:finduser(Trim$(Text1))>0),若该用户存在则弹出提示信息,否则进一步检查前后两次输入的密码是否一致,若前后不一致则弹出提示信息,否则通过调用过程writeusers将该用户名及密码写入数组users中,并在“启动”窗体的标签(Form1.Label1)中显示“注册成功”。每调用一次过程writeusers,全局变量n将记录新增一个用户,即n=n+1。
在“登录”窗体的“登录”按钮的单击事件过程中,通过调用标准模块中的finduser函数,检查输入用户是否存在于users数组中,若不存在(条件表达式为:k=0)则弹出提示信息,否则进一步检查该用户的密码输入是否正确(条件表达式为:Trim$(Text2)<>users(k,2)),若不正确则弹出提示信息,否则在“启动”窗体的标签(Form1.Label1)中显示“登录成功”。