我现在用c在做学生信息管理系统
我想登陆的密码问题
就是我任意输入一个字符,马上在出现对应的*出现
跟我门平时输入密码的情况是一样的
还有就是当我知道自己的密码输入有错误,
我想退一格在输入
该怎么做啊~!
希望大家指点
我的QQ
再提供一个不清屏效果的!
#include
#include
main()
{
int i,j=0,k=0,p=23,q; /*声明循环变量,计数器变量*/
char a[100]; /*声明PASSWORD数组*/
printf("Please Input PassWord:"); /*提示输入*/
while(1) /*循环处理*/
{
i = getch(); /*得到不回显键盘输入*/
if(i != 13 && i != 8) /*如果不是回车和退格键*/
{
a[j++] = i; ...全部
再提供一个不清屏效果的!
#include
#include
main()
{
int i,j=0,k=0,p=23,q; /*声明循环变量,计数器变量*/
char a[100]; /*声明PASSWORD数组*/
printf("Please Input PassWord:"); /*提示输入*/
while(1) /*循环处理*/
{
i = getch(); /*得到不回显键盘输入*/
if(i != 13 && i != 8) /*如果不是回车和退格键*/
{
a[j++] = i; /*保存口令字符*/
putchar('*'); /*显示一个星号*/
}
else if (i == 13) /*如果回车,结束循环*/
break;
else if (i == 8) /*进行退格键处理*/
{
k++; /*计算退格次数*/
a[j-k] = '\0'; /*删除最后一个字符*/
j--; k--; /*数组下标减1,计数器减1*/
if(j>0) /*如果存在有效的口令字符*/
{
p+=j-k; /*得到退格次数*/
for(q=1;q<=p;q++)
printf("\b");
printf("Please Input PsaaWord:"); /*原位显示提示信息*/
for(q=1;q<=j-k;q++) /*显示有效的*号*/
printf("*");
}
}
}
a[j-k]='\0'; /*得到最终的口令数组*/
printf("\n%s\n",a); /*输出*/
}
/*这段小程序主要有不清屏的效果,但是退格后屏幕会显示多余*号,好在不是大问题,还有优化的余地,和楼上的各有优缺点吧*/
。
收起