节目与广告市场分析:C语言编程问题,高手请进,急问!

来源:百度文库 编辑:中科新闻网 时间:2024/04/26 13:22:47
先判断是否有键按下,如果被按下再判断按下的是什么键
如果没有被按下就继续执行其它的语句
这个要怎么做的啊,好像两个要求只能满足一个
这个过程是瞬间完成的,意思就是说在这一时刻判断是否有键落下,如果没有就执行其它操作,如果有就判断一下刚才按下的是什么键(是键,不是字母,要用的bioskey好像才行),这是一个循环过程,其实我是想做一个游戏带秒表的,就是说没有键落下的时候,秒表在一步一步走,当有键落下就去执行游戏,执行完游戏又没有键落下了,这时再回到秒表,总而言之,就是有键的时候运行游戏,没键的时候运行秒表,我就是想找个方法既能判断有键落下,又能判断是什么键
刚才下面第一个人的答案好像是能判断是否有键落下,但是他判断是什么键的时候判断的是下一个按键,而不是前一个落下的那个键,所以好像不对,我试过了

do{
while(bioskey(1)==0){要执行其他的语句;}
key=bioskey(0);
function(key);/*function为按下键后相应处理的函数,以按键为参数*/
}while(k!=ESC);/*按esc时跳出*/

当然,要有头文件

char c;
if(kbhit())
{
c=getch();
printf("%c",c);
}
else {.....}

我觉得你这题目描述有问题,判断有没有键被按下,到底是在多少的时间内有没有键被按下???比如在1秒内没有按键,但不能保证下1秒还是没有按键,难道就一直的等下去?
如果是在一些开发环境中,可以将判断按键是不是为回车写在OnKeyPress事件上。
下面只给出一个输出按的什么键的程序
int getkey()
{
int c;
c = getchar();
putchar(c);
return c;
}

conio.h 中的kbhit()