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