打印

程序出现错了,麻烦给我看看是什么原因?

[复制链接]
1311|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
开始的梦想|  楼主 | 2010-7-18 14:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下是一段密码锁程序,要求密码输入正确时显示正确,当密码连续3次错误时报警,现程序在连续3次输入错误后,不是立马报警,而是液晶显示“密码出错”并连续闪动7~8下后才报警,不知是什么原因,还请各位给我看看!

void k_s() //开锁程序
{
  uchar i;
  uchar key_count=0;//密码错误计数
lp:
  dis_inputpsw();// 开锁初始界面,显示“输入密码”
  getpsw();  //读取键盘值

  for (i=0;i<8;i++ )
{
  if (psw[i]!=psw_mem[i])  //密码比较
    {
       key_count++;
       dis_pswwrong();//显示 “密码出错”
       delay1(10);  //此句不能少,不然不会显示密码出错,而是显示输入密码

     if(key_count>2)  
         {
          dis_changepsw();//相当于报警程序,临时代替使用
         }
  else
        {
          goto lp;
        }
   }

   else
     dis_ok();//密码正确
  }
}


}

相关帖子

沙发
aresc| | 2010-7-18 18:44 | 只看该作者
本帖最后由 aresc 于 2010-7-18 18:46 编辑

1. 你的密码是几个数字?8个还是1个?如果是8个,那也应该是8个数字全对才显示dis_ok().
2. 这段程序实现不了要求的“连续3次输入错误”的情况。
3. 没必要这么用goto,可以用while循环结合continue来实现。

使用特权

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

本版积分规则

0

主题

58

帖子

1

粉丝