用C语言编的用户登录系统

请问谁有用C语言编的用户登录系统的源代码,并且输入密码时显示*

int shuru() //正确返回1,错误返回0
{
char mi[10];
int i;
FILE *fp;
ATMSYTEM at;
char zhang[9]; fp = fopen( "atmsy.dat", "rb" );
flag = 0;
printf("\n\t ================欢迎进入用户登陆系统===============\n");
while(1) //循环录入用户信息
{
printf("\n请输入账号(0_退出):");
scanf("%s",zhang); if(zhang[0] == '0')
{
return 0; //退出系统,不进入主菜单
}
while(fread(&at,sizeof(ATMSYTEM),1,fp) != 0) //查找用户账号是否存在
{
if(strcmp(zhang,at.zhanghao) == 0) //该用户存在
{
flag = 1;
break;
}
}
rewind(fp); //文件指针回到开头 if(flag) //若是该用户存在,那么输入密码
{
for( i = 0; i < 3; i++) //3次机会输入密码
{
printf("\n请输入密码:");
scanf("%s",mi);
while(fread(&at,sizeof(ATMSYTEM),1,fp) != 0) //核对密码
{
if(strcmp(mi,at.password) == 0) //该密码存在
{
return 1;
}
}
rewind(fp); //不停返回文件开头,核对密码
}
printf("密码输错3次!无法登陆系统!\n");
getch();
return 0;
} if(flag == 0)
{
printf("输入账号错误,请重新输入\n");
getch();
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-03-17
输入密码时显示*的效果可以用下面这个程序得到:#include<stdio.h>
main(){
int i=0;
char password[50];
printf("Input Password:");
while((password[i++]=getch())!=13)putchar('*'); //主代码
password[i]='\0';
printf("\n\npassword is :%s\n",password);
}本回答被网友采纳
第2个回答  2013-06-01
用getch()获取字符,再打印一个*就行了 #include<stdio.h>
int inputchar(char a[11],int x,int y)
{
int i,j;
textcolor(10);
textbackground(10);
again: i=0;
gotoxy(x,y);
a[i]=getch();
while(a[i]!=13&&i<10)
{
if(a[i]==8)
{
gotoxy(x,y);
cprintf(" ");
gotoxy(x,y);
if(i>0) i--;
else gotoxy(x,y);
for(j=0;j<i;j++)
cprintf("*",i);
}
else
{
i++;
cprintf("*");
}
a[i]=getch();
}
if(a[i]==13)
{
a[i+1]='\0';
textcolor(0);
textbackground(0);
return 1;
}
else{
gotoxy(x,y) ;
cprintf(" ");
goto again;
}
}
void main()
{
char a[11];
inputchar(a,2,3);
getch();
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网