帮我编写这个功能的C语言程序,简单

输入用户名:abc,输入密码:123就能看到以下内容:百度一下,你就知道。
要求:输入的密码字符在0.5秒后自动变成*,在0.5秒内输入下一个字符时前一个字符也会变成*,不像输入QQ登陆密码那样,全部都变成*的。

#include "stdio.h"
#include "conio.h"
#include "windows.h"
#include "string.h"

int main(void)
{
char szUser[20] = {0};
char *PUser="abc";
char *Pword="123";
char chPwd[4];
int flag_u=0,i=0,flag_p=0;
printf("Enter user name:");
gets(szUser);
//printf("szUser=%s\n",szUser);
if(strcmp(szUser,PUser)==0)
flag_u=1;
else
flag_u=0;
printf("Enter passwd:");

while (i<3)
{
chPwd[i]=getch();
if(chPwd[i]==13)
break;
printf("%c", chPwd[i]);
Sleep(500);
printf("\b*");
i++;
}
getch();
chPwd[3]='\0';
//printf("chPwd=%s\n",chPwd);
printf("\n");
if(strcmp(chPwd,Pword)==0)
flag_p=1;
else
flag_p=0;
if((flag_u==1)&&(flag_p==1))
printf("百度一下,你就知道!");
else
printf("您输入的账号或密码错误!");
getch();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-01
在vc6下面编的

#include <stdio.h>
#include <conio.h>
#include <windows.h>

int main(void)
{
char szUser[20] = {0};
char chPwd = 0;
printf("Enter user name:");
fgets(szUser, sizeof(szUser), stdin);

printf("Enter passwd:");

chPwd = getch();
while (13 != chPwd)
{
printf("%c", chPwd);
Sleep(500);
printf("\b*");
chPwd = getch();
}
printf("\n");

return 0;
}
第2个回答  2011-09-01
#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include<string.h>

int main(void)
{
char user[100];
char pwd[100];
memset(user, 0x00, 100);
memset(pwd, 0x00, 100);
char charPwd;
int i = 0 ;
printf("user name:");
fgets(user, 100, stdin);

printf("passwd:");

charPwd = getch();
while (13 != charPwd)
{
pwd[i] = charPwd;
i++;
printf("%c", charPwd);
Sleep(500);
printf("\b*");
charPwd = getch();
}
if(strcmp("abc\n", user) == 0 && strcmp("123", pwd) == 0){
printf("\n百度一下,你就知道。");
}
printf("\n");

return 0;
}
相似回答