C++如何模拟实现键盘打字程序
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下C++如何模拟实现键盘打字程序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!程序演示:程序代码:#inc
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
互联网科技
互联网通讯科技
远拓互联网科技
狮子座互联网科技有限公司
互联网科技素材视频竖屏
甘肃拓世互联网科技有限公司
北京三清互联网科技
互联网之后的科技是什么
互联网经济与金融科技
港股科技和互联网
互联网公司科技股
畅思互联网科技
南博望互联网科技有限公司
国大互联网教育科技有限公司薪资
小米互联网科技园入驻
启辰互联网科技
互联网硬科技公司
西安有哪些互联网高科技企业
互联网科技创业计划的风险分析
武汉亿视互联网科技有限公司
互联网科技活动banner
互联网与未来科技
深圳期待互联网科技
科技赋能互联网健康
花神(南京)互联网科技有限公司
辽宁互联网新科技
工业互联网科技创业
互联网科技新闻
科技互联网经济论坛
互联网的黑科技实验室