中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 麻烦大家帮我完善以下C语言密码程序
作者:
标题: 麻烦大家帮我完善以下C语言密码程序 上一主题 | 下一主题
BAT
初级用户




积分 177
发帖 52
注册 2006-6-4
状态 离线
『楼 主』:  麻烦大家帮我完善以下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);    /*调用*/
}

2006-10-22 10:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: