用C语言实现输入密码以星号显示并判断密码是否正确

/*
程序简介:用C语言实现输入密码以星号显示并判断密码是否正确
程序设计者:calm
程序设计时间:2007-12-06 21:22
*/

#include<stdio.h>
#include<string.h>
#include<conio.h>
#define N 20
#define BACKSPACE 8

void GetPassWord(char *p)
{
 printf("password:");
 int i=0;
 while((*(p+i)=getch())!='\r')
 {
  if(*(p+i)==BACKSPACE&&i>0)
  {
   i--;
   putchar('\b');
   putchar(' ');
   putchar('\b');
  }
  else
  {
   putchar('*');
   i++;
  }
 }
 putchar('\n');
}
int Check(char *p,char *m,int n)
{
 for(int i=0;*(p+i)!='\r';i++)
 {
  if(*(p+i)!=*(m+i))return 0;
 }
 return 1;
}

void main()
{
     char a[N];
  char b[]={'1','2','3','4'};
     GetPassWord(a);
  if(Check(a,b,N))
  {
   printf("the password is right!");
  }
  else
  {
   printf("the password is wrong!");
  }
     getch();
}

posted @ 2008-04-14 00:01  calm  阅读(4527)  评论(0编辑  收藏  举报