C++如何模拟实现键盘打字程序
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,小编给大家分享一下C++如何模拟实现键盘打字程序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!程序演示:程序代码:#inc
千家信息网最后更新 2025年01月21日C++如何模拟实现键盘打字程序
小编给大家分享一下C++如何模拟实现键盘打字程序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
程序演示:
程序代码:
#include#include #include #include using namespace std; class KeyBoard{public: KeyBoard(); ~KeyBoard(); int randomKeys();//产生1~26的随机值 void showBoard();//画键盘 void showText();//显示键值 void acceptAction();//获取响应private: int randomKey;//随机值 int Struct;//支撑体 int keySize;//键块大小 int x1, y1;//第一行的第一个键块左上角坐标 int x2, y2;//第二行的第一个键块左上角坐标 int x3, y3;//第三行的第一个键块左上角坐标}; KeyBoard::KeyBoard(){ Struct = 10; keySize = 50; x1 = 50, y1 = 50; x2 = 70, y2 = 110; x3 = 90, y3 = 170; initgraph(1000, 400); showBoard(); _getch();} KeyBoard::~KeyBoard(){ } void KeyBoard::showText(){ settextcolor(WHITE); TCHAR firstRowKeys[100] = _T("Q W E R T Y U I O P");//定义字符数组 settextstyle(20, 0, _T("楷体")); outtextxy(65, 60, firstRowKeys); TCHAR secondRowKeys[100] = _T("A S D F G H J K L");//定义字符数组 settextstyle(20, 0, _T("楷体")); outtextxy(85, 125, secondRowKeys); TCHAR thirdRowKeys[100] = _T("Z X C V B N M");//定义字符数组 settextstyle(20, 0, _T("楷体")); outtextxy(105, 190, thirdRowKeys);} void KeyBoard::showBoard(){ int tx1 = x1,tx2 = x2,tx3 = x3; showText(); for (int i = 0; i < 10; i++) { rectangle(x1, y1, x1 + keySize, y1 + keySize); x1 = x1 + keySize + Struct; } x1 = tx1; for (int i = 0; i < 9; i++) { rectangle(x2, y2, x2 + keySize, y2 + keySize); x2 = x2 + keySize + Struct; } x2 = tx2; for (int i = 0; i < 7; i++) { rectangle(x3, y3, x3 + keySize, y3 + keySize); x3 = x3 + keySize + Struct; } x3 = tx3;} int KeyBoard::randomKeys(){ srand((unsigned)time(NULL)); randomKey = rand() % 26 + 1;//1到26 return randomKey;} void KeyBoard::acceptAction(){ int tx1 = x1, tx2 = x2, tx3 = x3; int flag = randomKeys(); char input; switch (flag) { case 1: setlinecolor(GREEN); rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'Q' || input == 'q') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'Q' || input == 'q') { setlinecolor(WHITE); break; } } } break; case 2: setlinecolor(GREEN); x1 = x1 + keySize + Struct; rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'W' || input == 'w') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'W' || input == 'w') { setlinecolor(WHITE); break; } } } x1 = tx1; break; case 3: setlinecolor(GREEN); x1 = x1 + 2 * (keySize + Struct); rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'E' || input == 'e') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'E' || input == 'e') { setlinecolor(WHITE); break; } } } x1 = tx1; break; case 4: setlinecolor(GREEN); x1 = x1 + 3 * (keySize + Struct); rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'R' || input == 'r') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'R' || input == 'r') { setlinecolor(WHITE); break; } } } x1 = tx1; break; case 5: setlinecolor(GREEN); x1 = x1 + 4 * (keySize + Struct); rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'T' || input == 't') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'T' || input == 't') { setlinecolor(WHITE); break; } } } x1 = tx1; break; case 6: setlinecolor(GREEN); x1 = x1 + 5 * (keySize + Struct); rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'Y' || input == 'y') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'Y' || input == 'y') { setlinecolor(WHITE); break; } } } x1 = tx1; break; case 7: setlinecolor(GREEN); x1 = x1 + 6 * (keySize + Struct); rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'U' || input == 'u') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'U' || input == 'u') { setlinecolor(WHITE); break; } } } x1 = tx1; break; case 8: setlinecolor(GREEN); x1 = x1 + 7 * (keySize + Struct); rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'I' || input == 'i') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'I' || input == 'i') { setlinecolor(WHITE); break; } } } x1 = tx1; break; case 9: setlinecolor(GREEN); x1 = x1 + 8 * (keySize + Struct); rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'O' || input == 'o') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'O' || input == 'o') { setlinecolor(WHITE); break; } } } x1 = tx1; break; case 10: setlinecolor(GREEN); x1 = x1 + 9 * (keySize + Struct); rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'P' || input == 'p') { setlinecolor(WHITE); } else { while (1) { rectangle(x1, y1, x1 + keySize, y1 + keySize); input = _getch(); if (input == 'P' || input == 'p') { setlinecolor(WHITE); break; } } } x1 = tx1; break; case 11: setlinecolor(GREEN); rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'A' || input == 'a') { setlinecolor(WHITE); } else { while (1) { rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'A' || input == 'a') { setlinecolor(WHITE); break; } } } x2 = tx2; break; case 12: setlinecolor(GREEN); x2 = x2 + keySize + Struct; rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'S' || input == 's') { setlinecolor(WHITE); } else { while (1) { rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'S' || input == 's') { setlinecolor(WHITE); break; } } } x2 = tx2; break; case 13: setlinecolor(GREEN); x2 = x2 + 2 * (keySize + Struct); rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'D' || input == 'd') { setlinecolor(WHITE); } else { while (1) { rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'D' || input == 'd') { setlinecolor(WHITE); break; } } } x2 = tx2; break; case 14: setlinecolor(GREEN); x2 = x2 + 3 * (keySize + Struct); rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'F' || input == 'f') { setlinecolor(WHITE); } else { while (1) { rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'F' || input == 'f') { setlinecolor(WHITE); break; } } } x2 = tx2; break; case 15: setlinecolor(GREEN); x2 = x2 + 4 * (keySize + Struct); rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'G' || input == 'g') { setlinecolor(WHITE); } else { while (1) { rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'G' || input == 'g') { setlinecolor(WHITE); break; } } } x2 = tx2; break; case 16: setlinecolor(GREEN); x2 = x2 + 5 * (keySize + Struct); rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'H' || input == 'h') { setlinecolor(WHITE); } else { while (1) { rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'H' || input == 'h') { setlinecolor(WHITE); break; } } } x2 = tx2; break; case 17: setlinecolor(GREEN); x2 = x2 + 6 * (keySize + Struct); rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'J' || input == 'j') { setlinecolor(WHITE); } else { while (1) { rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'J' || input == 'j') { setlinecolor(WHITE); break; } } } x2 = tx2; break; case 18: setlinecolor(GREEN); x2 = x2 + 7 * (keySize + Struct); rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'K' || input == 'k') { setlinecolor(WHITE); } else { while (1) { rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'K' || input == 'k') { setlinecolor(WHITE); break; } } } x2 = tx2; break; case 19: setlinecolor(GREEN); x2 = x2 + 8 * (keySize + Struct); rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'L' || input == 'l') { setlinecolor(WHITE); } else { while (1) { rectangle(x2, y2, x2 + keySize, y2 + keySize); input = _getch(); if (input == 'L' || input == 'l') { setlinecolor(WHITE); break; } } } x2 = tx2; break; case 20: setlinecolor(GREEN); rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'Z' || input == 'z') { setlinecolor(WHITE); } else { rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'Z' || input == 'z') { setlinecolor(WHITE); break; } } x3 = tx3; break; case 21: setlinecolor(GREEN); x3 = x3 + keySize + Struct; rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'X' || input == 'x') { setlinecolor(WHITE); } else { while (1) { rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'X' || input == 'x') { setlinecolor(WHITE); break; } } } x3 = tx3; break; case 22: setlinecolor(GREEN); x3 = x3 + 2 * (keySize + Struct); rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'C' || input == 'c') { setlinecolor(WHITE); } else { while (1) { rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'C' || input == 'c') { setlinecolor(WHITE); break; } } } x3 = tx3; break; case 23: setlinecolor(GREEN); x3 = x3 + 3 * (keySize + Struct); rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'V' || input == 'v') { setlinecolor(WHITE); } else { while (1) { rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'V' || input == 'v') { setlinecolor(WHITE); break; } } } x3 = tx3; break; case 24: setlinecolor(GREEN); x3 = x3 + 4 * (keySize + Struct); rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'B' || input == 'b') { setlinecolor(WHITE); } else { while (1) { rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'B' || input == 'b') { setlinecolor(WHITE); break; } } } x3 = tx3; break; case 25: setlinecolor(GREEN); x3 = x3 + 5 * (keySize + Struct); rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'N' || input == 'n') { setlinecolor(WHITE); } else { while (1) { rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'N' || input == 'n') { setlinecolor(WHITE); break; } } } x3 = tx3; break; case 26: setlinecolor(GREEN); x3 = x3 + 6 * (keySize + Struct); rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'M' || input == 'm') { setlinecolor(WHITE); } else { while (1) { rectangle(x3, y3, x3 + keySize, y3 + keySize); input = _getch(); if (input == 'M' || input == 'm') { setlinecolor(WHITE); break; } } } x3 = tx3; break; }} int main(){ KeyBoard KB; while (1) { KB.showBoard(); KB.acceptAction(); } return 0;}
以上是"C++如何模拟实现键盘打字程序"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
程序
键盘
坐标
字符
左上角
数组
楷体
篇文章
C++
打字
内容
一行
不怎么
代码
大小
大部分
更多
知识
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器能启动但检测不到磁盘
vs读取db数据库
学数控可以做软件开发吗
男孩学网络技术与执法好吗
服务器及安全管理
恩施民宿软件开发
怎样攻击问道私服服务器
菲律宾坐软件开发
博维网络安全
湖北网络技术转让厂家批发价
武汉网络安全员考试
未成年人网络安全教育刻不容缓
浩顺考勤机如何导入数据库
技术数据库的表数量是否有限
金蝶软件不能读取数据库
山西智慧团建软件开发公司
臻品易麦网络技术有限公司
服务器参数如何解读
端口安全 服务器
两会网络安全视频
深圳商城系统软件开发
国内外网络安全现状的图片
互联网普惠金融科技迅速展
奉贤市网络安全课堂
网络安全与隐私保护咨询
软件开发 原型模型
网络安全竞赛的目标
湛江卫星软件开发销售厂
服务器3306端口
邯郸克莱锐富软件开发