欢迎来到天天文库
浏览记录
ID:55738113
大小:28.00 KB
页数:2页
时间:2020-06-03
《同步实训指导参考答案同步实训指导参考答案8.4.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、同步实训指导参考答案序号:8.4任务1:/*利用位操作与共用体的组合来检测键盘,如果用户按下上下左右键就在屏幕上显示↑↓←→标志,这些标志的ASCII码分别是:↑(24)↓(25)←(27)→(26)*/#include"stdio.h"#include"conio.h"#include"bios.h"#defineLEFT75#defineRIGHT77#defineUPPER72#defineDOWN80#defineESC27/*左、右、上、下、ESC键的ASCII码值的十进制表示分别为75、77、72、80、27*/unionkeyboard{u
2、nsignedintiKeyInfo;charcKeyBit[2];};/*定义共用体类型*/intfnGetKey(void);/*检测按键的函数*/intfnGetKey(void){unionkeyboarduniKey1;/*定义共用体变量*/while(bioskey(1)==0);/*检测用户有无按键*/uniKey1.iKeyInfo=bioskey(0);/*读取按键信息*/return(uniKey1.cKeyBit[0]==0?uniKey1.cKeyBit[1]:uniKey1.cKeyBit[0]);/*返回ASCII码或扩充码*
3、/}main(){intiKey;printf("pleasepressdirectionkey");while(1){iKey=fnGetKey();/*调用自定义的按键检测函数*/switch(iKey){/*根据用户输入打印不同符号*/caseLEFT:clrscr();printf("%c",027);break;caseRIGHT:clrscr();printf("%c",026);break;caseUPPER:clrscr();printf("%c",024);break;caseDOWN:clrscr();printf("%c",02
4、5);break;default:clrscr();break;}if(iKey==ESC)break;/*执行编辑命令操作*/}}
此文档下载收益归作者所有