Board logo

标题: 麻烦大家帮我完善以下C语言密码程序 [打印本页]

作者: BAT     时间: 2006-10-22 10:57    标题: 麻烦大家帮我完善以下C语言密码程序

大家好,以上为转自http://www.cstudyhome.com的源程序,是否能烦请兄弟帮我完善一下,加上密码输入次数限制,以及加上密码输入错误判断(做一个死循环,且屏蔽Ctrl+C,且次数超过三次让系统挂起不让其再输入。)谢谢大家了。

/*愿我的编程路上有你  作者:孤峰*/
#include "stdio.h"
#include "string.h"
#include "stdlib.h"

void password(char *pass)
{ char password[20],inletter=NULL;
int i=0;
clrscr();
gotoxy(17,6);
printf("\n\t\tInput your password:");
while((i<20)&&(inletter!='\r'))
{ inletter=getch();    /*无回显输入*/
     if(inletter==8)
        {      if(i>0)
   {password[--i]=NULL;
    putchar(8);   /*退格键*/
    putchar(' ');       /*以空格代替*/
    putchar(8);
   }
        else putchar(7);  /*没有任何字符的退格,响铃警告*/
        }
  else if(inletter!='\r')
  { password[i++]=inletter;  /*只要不是退格和回车就接受*/
    putchar('*');
  }
       else
     {password=NULL; break;  /*密码输入完了,记得加个NULL到后面*/
     }
}
  if(strcmp(password,pass)!=0)
{clrscr();
  gotoxy(17,8);
  printf("\n\t\tPassword is mistake Tow seconds to exit!");
  sleep(2);exit(0);
}
  else  {printf("\n\t\tPassword is OK! Welcome to come!"); sleep(3);
}
}

void main(void)
{char *pass="lingdlz";    /*初始密码可以改为其它的*/
password(pass);    /*调用*/
}