千家信息网

C++如何模拟实现键盘打字程序

发表于:2024-10-19 作者:千家信息网编辑
千家信息网最后更新 2024年10月19日,小编给大家分享一下C++如何模拟实现键盘打字程序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!程序演示:程序代码:#inc
千家信息网最后更新 2024年10月19日C++如何模拟实现键盘打字程序

小编给大家分享一下C++如何模拟实现键盘打字程序,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

程序演示:

程序代码:

#include#include#include#includeusing 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++如何模拟实现键盘打字程序"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0