niusouti.com

阅读以下说明及Visual Basic 程序代码,将应填入(n)处的字句写在对应栏内。[说明]以下是一账号和密码输入的检验程序。对输入的账号和密码规定如下所述。(1)账号为不超过6位的数字,密码为4位字符,在本题中,密码假定为“Pass”。(2)密码输入时在屏幕上不显示输入的字符,而以“*”代替。(3)当输入不正确,如账号为非数字字符或密码不正确时,显示有关信息。(4)当输入正确时,关闭密码窗口,显示记事本窗口。按要求完成有关控件的其他属性的设置,编写确定按钮的单击事件过程。相关界面如下:(可能要用到的单

题目

阅读以下说明及Visual Basic 程序代码,将应填入(n)处的字句写在对应栏内。

[说明]

以下是一账号和密码输入的检验程序。对输入的账号和密码规定如下所述。

(1)账号为不超过6位的数字,密码为4位字符,在本题中,密码假定为“Pass”。

(2)密码输入时在屏幕上不显示输入的字符,而以“*”代替。

(3)当输入不正确,如账号为非数字字符或密码不正确时,显示有关信息。

(4)当输入正确时,关闭密码窗口,显示记事本窗口。

按要求完成有关控件的其他属性的设置,编写确定按钮的单击事件过程。相关界面如下:

(可能要用到的单词:MultiLlne,ScrollBars,PasswordChar,MaxLength)密码窗口frmPass控件设置如下表所示。

记事本窗口frmNotepad 控件设置如下表所示。

在密码窗口的属性窗口,对密码文本框设置属性MuniLine 为False。

[Visual Basic 代码]

Private Sub cmd OK_ Click ( )

If txtPas. Text= "Pass" Then

Load frmNotePad

frmNotePad. Show

frmPass.Hide

Else

MsgBox "密码错误! ", vbExclamation + vbRetryCancel, "重输入密码"

txtPas. Text= " "

txtPas. SetFocus

(1)

End Sub

Private Sub Form_ Load ( )

txtPas.PasswordChar = "*"

xtNo.MaxLength = 6

End Sub

Private Sub txtNo LostFocus (

Dim i As Integer, s As String * 1

Fori= 1 To (2)

s = Mid ( txtNo.Text, i, 1 )

If (3) Or (4) Then

MsgBox "账号有非数字符号! ", vbExclamation + vbRetryCancel, "1 输入账号"

(5)

txtNo. SetFocus

Exit Sub

End If

Next i

End Sub


相似考题
更多“ 阅读以下说明及Visual Basic 程序代码,将应填入(n)处的字句写在对应栏内。[说明]以下是一账号和密码输入的检验程序。对输入的账号和密码规定如下所述。(1)账号为不超过6位的数字,密码为4位字符,在本题”相关问题
  • 第1题:

    阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

    [说明]

    本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“end”,程序结束。

    [C++程序]

    include <iostream. h>

    include <string. h>

    class User

    { protected:

    char user[10];

    char pass[7];

    public:

    User(char[ ],char[]);

    (1) {return user;}

    (2) {return pass;}

    };

    User::User(char u[],char p[])

    { strcpy(user,u);

    strcpy(pass,p); }

    void main()

    { User ua[]={User("Li","123456"),User("wang","654321"),User("Song","666666")

    char name[10];

    while(1)

    cout< < "输入用户名:";

    cin> >name;

    if((3)= =0) break;

    for(int i=0;i<3;i+ +)

    if(strcmp(name,ua[i].getuser()) = =0){

    cout< <"密码:" < < ua[i].getpass() < <endl;

    (4);

    if((5))cout< <"该用户不存在!" < <endl;

    }

    }


    正确答案:(1) char *getuser() (2) char *getpass() (3) strcmp(name "end") (4) break (5) i= =3或i>=3或i>2或其他等效形式
    (1) char *getuser() (2) char *getpass() (3) strcmp(name, "end") (4) break (5) i= =3或i>=3或i>2或其他等效形式 解析:由上下文可知,User类中包括数据成员User和pass,分别存储用户名和口令,另有一个构造函数和getuser()、getpass()两个成员函数,分别用于获取用户名和口令。main()中包含一个User类型的数组ua,当用户输入一个用户名后,在ua中查找,若找得到则输出对应的口令,否则输出相应的提示信息。
    (1)~(2)由于user和pass属性都是字符串类型,这里的返回值类型为char *;
    (3)此处给出了退出程序的判断条件,即输入的用户名等于“end”;
    (4)此处的for循环用于查找用户名,若找到了可即刻退出循环;
    (5)当输入的用户名不正确时,for循环一直执行直到i等于3。

  • 第2题:

    阅读以下应用说明以及用Visual Basic开发过程中所编写的程序代码,将应填入(n)处的字句写在对应栏内。

    【应用说明】

    某应用的登录界面如下:

    登录界面中的文本框txtUserID和txtPassword分别用于接受用户输入的用户名和口令,命令按钮为“确定(cmdOk)”和“取消(cmdCancel)”。ADO数据控件Adodc1与数据库EmployeeData连接。在EmployeeData中,表“Users”的字段“UserID”和“Pswd”分别记录了所有的合法用户名和口令。

    在登录界面中,输入正确的用户名和口令并单击“确定”按钮后,就会打开应用程序的主窗口fxmApp。用户名或密码输入错误时,给出提示信息并返回登录界面。

    【Visual Basic程序代码】

    Private Sub cmdOK Click()

    Adodcl.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data

    Source=D:\data\EmployeeData.mdb;Persist Security Info=False"

    Adodcl.RecordSource = "select *(1)"

    Adodcl.Refresh

    Do

    usrname =(2)

    pwd = Adodc1.Recordset("Pswd")

    Adodc1.Recordset.MoveNext

    Loop Until (usrname =(3)) Or (Adodc1.Recordset.EOF)

    If usrname <> txtUserID.Text Then

    MsgBox "无效的用户ID, 请重新输入!", , "提示信息"

    Else

    If (4)Then

    MsgBox "欢迎进入系统主界面!", , "提示信息"

    Unload me

    (5)

    Else

    MsgBox "无效的用户密码, 请重新输入!", , "提示信息"

    End If

    End If

    End Sub


    正确答案:(1)from Users (2)Adodc1.Recordset("UserID") (3)txtUserID.Text (4)txtPassword.Text=pwd (5)frmApp.Show
    (1)from Users (2)Adodc1.Recordset("UserID") (3)txtUserID.Text (4)txtPassword.Text=pwd (5)frmApp.Show 解析:本题考查VB开发数据库应用能力。
    代码中的空(1)处是典型的SQL查询语句,应填入“from Users”。
    一般情况下,用户登录某系统时,都要输入用户名和口令,与系统记录的用户名和口令进行比较,通过后才能登录系统。参照“pwd=Adodc1.Recordset("Pswd")”,空(2)处应填入“Adodc1.Recordset("UserlD")”,从数据库中取出用户名与用户在登录界面输入的用户名txtUserlD.Text进行比较,若相同,则再取出该用户的口令进行比对,因此空(3)处应填入“txtUserID.Text"。空(4)处用于比较口令,填入“txtPassword.Text= pwd",空(5)处填入“frmApp.Show"。

  • 第3题:

    试题三(共 15 分)

    阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。


    正确答案:

  • 第4题:

    阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

    【说明】

    给定函数fun的功能是:将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用“.”结束输入。

    【函数】

    int fun(char *c,int status)

    {

    if((1)=='')

    return 1;

    else

    {

    if((2)&&(3)&&(4))

    (5)='A'-'a';

    return 0;

    }

    }

    main()

    {

    int flag=1;

    char ch;

    printf("请输入一字符串,用点号结束输入!\n");

    do {

    ch=getchar();

    flag=fun(&ch,flag);

    putchar(ch);

    }while(ch!='.');

    printf("\n");

    }


    正确答案:(1)*c (2)status (3)*c='z' (4)*c>='a' (5)*c+
    (1)*c (2)status (3)*c='z' (4)*c>='a' (5)*c+ 解析:本题考查在C语言中对字符串的处理。
    题目要求程序将从键盘上输入的每个单词的第一个字母转换为大写字母,而输入的各单词必须用空格隔开,用“.”结束输入。要实现这个功能,关键之一在于如何取出单词中的第一个字母,关键之二是如何实现大小写字母的转换。
    第(1)空是一个条件判断语句的条件,如果条件成立,则返回1,而从程序中可以看出,此条件判断语句是判断当前取到的字符是否等于空格字符。从主函数中可以看到,每次在调用功能函数fun()前都从输入的字符串中取出一个字符,并存放在变量ch中,而在调用函数时是将变量ch的地址传递给了指针变量c,因此此空的答案为*c。
    第(2)空、第(3)空和第(4)空应该结合起来看,它们都是条件判断语句的条件,这个条件判断语句下面的程序是将一个小写字母改变成一个大写字母,根据题目要求,此条件判断语句的条件应该是判断当前取到的字母是一个单词的第一个字母且是一个小写字母,再结合主函数来看,我们不难发现单词的第一个字母用一个标记变量flag标识,如果是第一个字母,这个标记变量flag的值为1,否则为0。要判断一个字母是否是小写字母,应该判断其ASCⅡ码值是否在a与z的ASCⅡ码值之间。所以这3个空的答案应该分别为status、*c='z'、*c>='a'。
    第(5)空是在上面条件成立的情况下执行的一条语句,条件成立我们在上面已经分析过了,表明当前取到的字符是一个单词的第一个字母且是小写字母,此空所在语句的任务是将小写字母变成大写字母,根据上面的分析,因此可以得到此空答案为*c+。

  • 第5题:

    阅读下列程序说明和C程序,将应填入(n)处的字句写在对应栏内。

    [函数2.1说明]

    下面程序的功能是计算x和y的最小公倍数。

    [函数2.1]

    main()

    { int m,n,d,r;

    seanf("%d %d",&m,&n);

    if(m<n) {r=m;m=n;n=r;}

    (1);

    while (d%n! =0) (2);

    printf("%d\n",d);

    }

    [函数2.2说明]

    下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。

    [函数2.2]

    include <stdio.h>

    main()

    { char c,preChar='\0';

    c = getchar();

    while(c! = '.'){

    if((3)) putchar(c);

    else if(preChar! =' ') putchar(c);

    (4);

    c=(5);

    }

    }


    正确答案:(1)d=m (2) d+=m或d=d+m (3) c!=‘’ (4) preChar=c (5) getchar()
    (1)d=m (2) d+=m或d=d+m (3) c!=‘’ (4) preChar=c (5) getchar() 解析:(1)下文使用了变量d,因此需在此初始化,由下面循环的条件“d%n!=0”知初值不能是n,因此必为m;
    (2)此处while循环生成最小公倍数d,其终止条件是n整除d,因此循环过程中需要保证m整除d并且d尽可能地小,于是d应以m为增量递增;
    (3)当输入的字符非空格时,原样输出;
    (4)程序中变量preChar用于记录上一次读入的字符,循环过程中应不断更新其值;
    (5)接收下一个输入。