【发布时间】:2018-04-23 15:06:51
【问题描述】:
我编写了一个程序,它从用户那里获取输入以输入他的用户名和密码,但我想要的是当用户输入他的密码时,它显示为 ***** 而不是英文,就像我们在输入密码时一样邮箱。
我在互联网上研究并设法编写了这个程序,但我无法在密码中输入任何内容。而且我不完全理解我编写的代码。
class user
{
private:
string name;
string pass;
public:
void mask()
{
char c;
for(int i=0;i<100;i++)
{
c=getch();
if(c=='\r')
break;
std::cout<<"*";
pass=pass+c;
}
}
void getdata()
{
int flag=0;
do
{
cout<<"Enter username: ";std::getline(std::cin,name);
cout<<endl;
cout<<"Enter password: ";mask();
cout<<endl;
if((name=="myname")&&(pass=="tiger"))
{
cout<<"\n\nLogin successful"<<endl;
flag=1;
}
else
cout<<"\n\nInvalid username or password\n\nHint:Your username and password is myname and tiger"<<endl<<endl;
}while(flag==0);
}
};
【问题讨论】:
-
抱歉,我已经看到了那个链接。我正在为学校做这个项目,所以我既不能使用外部库,也不能使用冲洗的东西。
-
您是在 Windows 还是 Unix/Linux 环境下工作?
-
windows 和使用代码块
-
也许这会有所帮助? cplusplus.com/articles/E6vU7k9E