问答题 在考生文件夹下有一个工程文件sjt5.vbp,含三个窗体,标题分别为“启动”、“注册”、“登录”,程序运行时显示“肩动”窗体,单击窗体上按钮时弹出对应窗体进行注册或登录。 注册信息放在全局数组users中,注册用户数(小丁或等于10个)放存全局变量n中(均已在标准模块中定文)。 注册时用户名不能重复,且“口令”与“验证口令”必须相同,注册成功则在“启动”窗体的标签中提示“注册成功”,否则提示相应错误信息。登录时,检验用户名和口令,若正确,则在“启动”窗体的标签上提示“登录成功”,否则提示相应错误信息。 标准模块中函数finduser的功能是:存users数组中搜索用户名(参数ch),找到则返回该用户名在users中的位置,否则返回0。 文件中已经给出了所有控件和程序,但程序小完整,请去掉程序中的注释符,把Form2、Form3窗体文件中的?改为正确的内容。 注意:不得修改已经存在的程序和控件的属性;最后,程序按原文件名存盘。
【正确答案】正确答案:【操作步骤】 步骤1:打开本题工程文件。 步骤2:打开代码编辑窗口,去掉程序中的注释符“'”.将问号改为正确的内容。 参考答案 'Form2窗体代码 Private Sub Commandl C1ick()'清空重置 Text1="'" Text2="" Text3="" End Sub Sub writeusers()'向教组users中写入新用户信息 n=n+1'用户数目自增 users(n,1)=Text1'保存用户的用户名、密码 users(n,2)=Text2 End Sub Private Sub Command2_Click() If Text1=""Then MsgBox("必须输入用户名!") Text1.SetFocus'Text1重新获得焦点 ElseIf finduser(Trim$(Text1))>0 Then 如找到相同名。则返回位置一定大于0 MsgBox("此用户名已经存在!") E1seIf Text2<>Text3 Then'比较口令与验证口令是否相同 MsgBox("口令验证错误!") Else writeusers Form1.Label1="注册成功!" '当注册成功后Labeii显示成功信息 Form2.Hide End If End Sub 'Form3窗体代码 Private Sub Commandl C1ick() k=finduser(Trim$(Textl)) If k=0 Then'验证用户名是否存在 MsgBox("没有注册!") ElseIf Trim$(Text2) <> users(k,2)Then'验证输入的密码是否正确 MsgBox("口令错误!") Else Form1.Label1.Caption="登录成功!" Form3.Hide End If End SUb 步骤3:调试并运行程序,关闭程序后按题目要求存盘。
【答案解析】