打印

哪位仁兄能帮我修改下程序实现我的功能?

[复制链接]
1651|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
开始的梦想|  楼主 | 2010-7-15 23:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我编写了个密码锁程序,要求输入密码正确后,液晶显示密码正确,当密码输入错误后,液晶显示密码错误,并连续输入3次错误后,蜂鸣器报警并锁定键盘一定时间,并跳转到初始界面,等待操作。主程序如下:
  void main()
{  
uchar jj;
uchar count_wrong;  //错误次数
  
key_flag=0;   //蜂鸣器关闭信号
init();
delay1(3);
lcd_rest();
while (1)
{
  start:
dis_inputpsw(); //lcd上电显示“输入密码”
switch (getpsw()) //矩阵键盘键值输入,并判断功能
{
case 0:  //键值等于 开锁
{
start1:
   if (psw_check()) //验证密码
     {
dis_ok();  //密码正确显示
key_open(); //按任意键可重新输入
     }
   else   //密码不正确
     { dis_pswwrong();  液晶显示错误
   
       for(count_wrong=0;count_wrong>3;count_wrong++) //判断错误是否等于3次
     {
   
   goto  start1;  //没达到3次,重新输入并判断
     }
                       {   //3次输入错误后,蜂鸣器报警,并锁定键盘一定时间
     
       for(jj=0;jj<120;jj++)
    {
     if(!Beep_End)
        {beep_beep();//蜂鸣器报警
     }
      else   BEEP = 1; //关闭蜂鸣器
    }
                while (keynum>=0 && keynum<=15)//键盘锁定功能
                        {
      if(key_flag)
         {
           goto start ; 跳回初始画面,等待操作
                               }
    }
     }
     break;
case 1:break;  //按E号键直接退出,并能清除输入的密码
case 2:psw_change();break; 键值等于 “更改密码”,跳转到修改密码
}
}
}
}
}

现程序运行时出现以下错误:
当第一次密码输入错误后,蜂鸣器就报警并锁定键盘,而不是3次错误后才报警锁定
另外,上面程序为何当第二次密码错误后,显示错误并锁定键盘,但蜂鸣器不报警了。

麻烦大家帮帮我看看程序哪里有需要修改的地方,谢谢了!

相关帖子

沙发
tcc8073| | 2010-7-15 23:30 | 只看该作者
养成良好的编程序习惯,人家找你的{}对的时候要容易找,你写{}套那么多{},人家怎么找啊

使用特权

评论回复
板凳
szshawn2010| | 2010-7-16 00:12 | 只看该作者
for(count_wrong=0;count_wrong>3;count_wrong++) //判断错误是否等于3次

改为:count_wrong <=3

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

58

帖子

1

粉丝