在c语言环境中,系统输出密码时如何用*代替屏幕上显示的密码?应该用怎样的程序段?

 我来答
山水阿锐
2015-06-27 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.1亿
展开全部
C语言的太没挑战性了
汇编语言的的
.486
DATA SEGMENT USE16
SECRET1 DB '12345'
SECRET2 DB 7 DUP(?)
MESG1 DB 'Please enter the secret!You have $'
NUM DB 33H
DB ' times!',0DH,0AH,'$'
MESG2 DB 0DH,0AH,'The secret is wrong!',0DH,0AH,'$'
MESG3 DB 0DH,0AH,'Welcome!',0DH,0AH,'$'
DATA ENDS

CODE SEGMENT USE16
ASSUME CS:CODE,DS:DATA,ES:DATA
BEG: MOV AX,DATA
MOV DS,AX
MOV ES,AX
AGAIN:
CMP NUM,30H
JE EXIT
MOV AH,9
MOV DX,OFFSET MESG1
INT 21H
MOV AH,9
MOV DX,OFFSET NUM
INT 21H
MOV BX,OFFSET SECRET2
NEXT1: MOV AH,7
INT 21H
MOV [BX],AL
INC BX
CMP AL,0DH
JE NEXT2
MOV AH,2
MOV DL,'*'
INT 21H
CALL NEXT1
NEXT2: MOV SI,OFFSET SECRET1
MOV DI,OFFSET SECRET2
MOV CX,5
CLD
REPE CMPSB
JNZ WRONG
JMP RIGHT
WRONG: MOV AH,9
MOV DX,OFFSET MESG2
INT 21H
DEC NUM
CALL AGAIN
RIGHT: MOV AH,9
MOV DX,OFFSET MESG3
INT 21H
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END BEG
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百事牛
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点... 点击进入详情页
本回答由百事牛提供
卿韩馀畅r3
2015-06-27 · TA获得超过3727个赞
知道大有可为答主
回答量:7415
采纳率:33%
帮助的人:2689万
展开全部
网上搜的,你试试
更多追问追答
追答
int main()  
{
int n,p;
char ch,acnt[256],pwd[256];
scanf("%d",&n);
while(n--)
{
system("cls");//清屏
p=0;
puts("请输入账号:");
scanf("%s%*c",acnt);
puts("请输入密码:");
while((ch=getch())!='\r')//判断是否是回车
{
if(ch==8)//实现backspace键的功能,其中backspace键的ascii码是8
{
putchar('\b');
putchar(' ');
putchar('\b');
if(p>0)//最多只能删到没有字符
p--;
}
if(!isdigit(ch)&&!isalpha(ch))//判断是否是数字或字符
continue;
putchar('*');//在屏幕上打印星号
pwd[p++]=ch;//保存密码
}
pwd[p]=0;//结束字符串
printf("\n账号:\n%s\n密码:\n%s\n",acnt,pwd);
p=0;
system("pause");
}
return 0;
}
#include
#include
#define MAX_PSD_LEN 20
void main()
{
char PassWord[MAX_PSD_LEN],*p=PassWord,ch;
int count=0;
printf("请输入登陆密码:");
ch=getch();
while(ch!=13&&count='A')||(ch='a')||(ch=' '))
{
printf("*");
count++;
*p=ch;
p++;

}
ch=getch();
}
PassWord[count]=0;
printf("\n%s\n",PassWord);

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式