C++如何模拟实现键盘打字程序
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,小编给大家分享一下C++如何模拟实现键盘打字程序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!程序演示:程序代码:#inc
千家信息网最后更新 2025年11月14日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安全错误
数据库的锁怎样保障安全
福州猎团网络技术有限公司
方舟生存怎么转服务器
网吧服务器管理全部机
勤哲excel服务器开发特点
岳西县网络安全
数据库任务管理器关闭
conda配置代理服务器
嵌入式软件开发项目简历
软件开发一月工资多少
澳洲网络安全专业就业方向
卷包车间网络安全工作计划
team怎么连接远程服务器
东南亚服务器加速器
计算机软件开发内容
api 服务器如何做负载均衡
嘉定区专业网络技术防水施工
国内免费云服务器
南京系统软件开发中心
服务器特效
支付宝网络安全系统
从事软件开发需要的能力
kk 网络安全大赛
网络安全管理专业是学什么
MySQL无法新建数据库
网络安全查询对方ip地址
我的世界爱玩宝可梦服务器
网络安全涉及的方面包括政策法规
定制化软件开发成本核算专题
陇南市网络安全培训班
河北交友软件开发要多少钱