在C++里如何使密码星号显示并且实现删除功能

程序如下:voidmain(){chara[100],ch,*p=a;cout<<"请输入密码:";ch=getch();while(ch!='\n'){printf("... 程序如下:
void main()
{
char a[100],ch,*p=a;
cout<<"请输入密码:";
ch=getch();
while(ch!='\n')
{
printf("*");
*p=ch;
p++;
ch=getch();
}
}
展开
 我来答
乐羽化
2010-06-15
知道答主
回答量:29
采纳率:0%
帮助的人:21.1万
展开全部
这个程序的功能是:
连续输入两次密码,相同则设置密码成功,否则,重新输入;
在输入密码时,可以用backspace键删除;
可以是数字和字母均可;
最多密码设置为20位;

#include<iostream>
#include<conio.h>
using namespace std;

//double i;i=2e4;cout<<i<<endl;

int main()
{
char a[20],b[20]; //a[20]装初始的密码数据
//b[20]装验证是否与a[20]相等的密码数据
int i,j; //循环变量
aa:
cout<<"请输入密码:";
for(i=0;i<=20;i++)
{
//cin>>a[i];
a[i]=getch();//不显示输入的信息
if(a[i]!=13&&a[i]!=8)//当输入的不是回车键和退格键的时候,输出*号
cout<<'*';//用*号代替输入的信息
if(a[i]==8)//使用退格键消除错误输入,重新输入
{
cout<<"\b";
i--;
cout<<" ";
cout<<"\b";
i--;
}

if(a[i]==13)
break; //使输入的密码数值不被他人看见
}
a[i]=0;//字符串结束标志为0或'\0'
cout<<"\n重新输入密码:";

for(j=0;j<=20;j++)
{
//cin>>b[i];
b[j]=getch();//不显示输入的信息
if(b[j]!=13&&b[j]!=8)//当输入的不是回车键和退格键的时候,输出*号
cout<<'*';//用*号代替输入的信息
if(b[j]==8)//使用退格键消除错误输入,重新输入
{
cout<<"\b";
j--;
cout<<" ";
cout<<"\b";
j--;
}

if(b[j]==13)
break; //使输入的密码数值不被他人看见
}
b[j]=0;//字符串结束标志为0或'\0'
while(strcmp(a,b)!=0)
{
cout<<"\a\a\a\a\a\n两次输入的密码不相同,重新设置一下吧!\n";
goto aa;//两次输入的密码不相同,重新设置一下吧
}
cout<<"\n设置密码成功!";
system("pause");
return 0;
}
糖糖寳寳
推荐于2016-03-30 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3822万
展开全部
具体实现的代码如下:
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
char password[100];
int index=0;
while(1)
{
char ch;
ch=getch();
if(ch==8) //退格键
{
if(index!=0)
{
cout<<char(8)<<" "<<char(8);
index--;
}
}
else if(ch=='\r') //回车键
{
password[index]='\0';
cout<<endl;
break;
}
else
{
cout<<"*";
password[index++]=ch;
}
}
cout<<"password:"<<password<<endl;
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友52aeb54
推荐于2016-12-06 · TA获得超过2995个赞
知道小有建树答主
回答量:1261
采纳率:0%
帮助的人:1150万
展开全部
#include<iostream>
#include<conio.h>

using namespace std;
void main()
{
char a[100],ch,*p=a;
cout<<"请输入密码:";
//ch=getch();
while((ch=getch())!=13)
{ ;
printf("*");
*p=ch;
p++;

}
}
来自:求助得到的回答
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式