大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我完善了答案,已经测试过,可以运行的
成都创新互联公司专注于企业营销型网站建设、网站重做改版、禹城网站定制设计、自适应品牌网站建设、H5场景定制、商城网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为禹城等各大城市提供网站开发制作服务。
#include stdio.h
#include stdlib.h
#include conio.h
void main()
{
int i=0,k;
char s,a[6];
for(k=3;k0;k--)
{
printf("\n\n\n\t你还有%d次输入机会\n",k);
printf("\n\n\n\n\t\t请输入登录密码:\n\t\t\t\t");
while((s=getch())!='\r')
{
if(s=='\b')
{
a[--i]=s;
printf("\b \b");
}
else
{
a[i++]=s;
printf("*");
}
}
if(a[0]=='9'a[1]=='1'a[2]=='0'a[3]=='8'a[4]=='0'a[5]=='5')
{
printf("\n密码正确!\n");
break;
}
system("cls");
}
if(k==0(a[0]!='9'a[1]!='1'a[2]!='0'a[3]!='8'a[4]!='0'a[5]!='5'))
{
printf("\n\n\n\t\t\t你的登陆失败,请稍后再试......\n");
system("pause");
}
}
/*楼主程序我已经完善了,关于那个退格,我再说说思路吧,getch();是可以接收退格,ESC键的,就是说特殊转义字符,常规字符都可以接收而且是回显的,
如果你按了退格,编译器会当做是一个字符处理,所以要真正实现退格功能实际上是需要空格的帮助,pritnf(\b \b);的意思就是当读入退格之后,将前一个字符
换成退格键(替换你输入的字符),光标在第一个\b作用下退了一格(注意这里不需要用空格完成退格作用,因为退格占了一个字符位置,其实什么也没有的,可以说是一个空字符,
通过空格将需要删除的字符换成空格,因为空格也是一个字符,所以在用一个退格将光标定在空格前面,再输入字符的时候就将空格覆盖了,现在实质已经出来了
其实退格实质就是字符的覆盖而已,还有,完全退格是将printf("请输入密码:");也删掉,这个功能我调试了一个下也没有完成,小弟学艺未精,楼主你来补充一下吧*/
k=k0xff?0x00ff:k8;其实就是
if(k0xff) {
k=0x00ff;
}else {
k=k8;
}的简写。
其实0xff和0x00ff是一样的,都表示同一个十六进制的值。
书上这么写,没有错;至于为什么,就不好说了。
可能是让你多学点知识,也可能是现在很多书其实在编写时并不是很认真的。毕竟尽信书不如无书!
后面的k8是把0xff的值右移8位,达到计算的目的(具体什么目的要看具体内容)
这个程序应该满足你的要求吧。
#include stdio.h
#include conio.h
int main(void)
{
while (1)
{
if (!kbhit())
printf("1");
else
{
char c = getch();
if (c == 'a')
{
putchar('2');
getch();
}
}
}
return 0;
}
我估计你分数给的在高也没人回答。来个这样的代码太麻烦了。而且百度金币用处也不大。
不过,我可以写几个鼠标函数给你参考一下。
首先了解一下鼠标的中断。
_ax=0x01
表示显示光标
_ax=0x02
停止显示光标
_ax=0x03
读取光标位置与案件
_ax=0x04
设置光标位置
所以啊。根据这四个中断,有以下几个函数
----------------------------------------------------
void
mouseon(void)//鼠标光标显示
{
_ax
=
0x01;
geninterrupt(0x33);
}
----------------------------------------------------
void
mouseoff(void)//鼠标光标隐藏
{
_ax
=
0x02;
geninterrupt(0x33);
}
---------------------------------------------------
void
mousesetxy(int
x,int
y)//设置当前位置
{
_cx
=
x,
_cd
=
y;
_ax
=
0x04;
geninterrupt(0x33);
}
---------------------------------------------------
int
leftpress(void)//鼠标左键按下
{
_ax
=
0x33;
geninterrupt(0x33);
return(_bx1);
}
-----------------------------------------------------
鼠标右键的应该也会了吧。不过要return(_bx2);
-----------------------------------------------------
void
mousegetxy(void)//得到当前位置
{
_ax
=
0x33;
geninterrupt(0x33);
mousex
=
_cx;
mousey
=
_dx;
}
---------------------------------------------------------------
最好要复制粘贴,打字打得手疼。
scanf函数
scanf("%d",a); 输入一个整数赋值给a;
scanf("%f",a); 输入一个浮点数赋值给a;
scanf("%c",a); 输入一个字符赋值给a;
scanf("%s",%a); 输入一个字符串赋值给a;