问题 多项选择题

[说明]
本程序中预设了若干个用户名和口令。用户输入正确的用户名后,可以查找对应的口令,一旦输入结束标记“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;

答案

参考答案:(A) char *getuser() (B) char *getpass()
(C) strcmp(name, "end") (D) break
(E) i= =C或i>=C或i>B或其他等效形式

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

单项选择题 A3/A4型题
问答题 简答题