IT资讯/综合软件下载站!┆ 最新软件 最新文章 最新手机 UFO外星人 网站分类

您当前的位置→图文中心软件教程C语言之打字通完整版

C语言之打字通完整版


2017/3/5 14:39:17 编辑:admin 来源:本站整理 
今天给大家分享C语言之打字通完整版软件教程文章。喜欢的可以分享C语言之打字通完整版给你的好友。

教育学习 金山打字通2015下载开始下载

喜欢软件教程的网友不妨去看看下面的文章:
  • //包含头文件
    #include <stdio.h>
    #include <time.h>
    #include <conio.h>
    #include <Windows.h>

    #pragma warning(disable:4996)

    //全局变量
    char g_ch;//屏幕上出现的字符
    int g_row, g_col;//行和列的坐标
    int correct, error;//输入正确的和错误的字符的数量
    int redraw = 0;//是否要重写信息, 计算正确率
    int running = 1;//运行状态
    int pause = 0;//是否暂停状态, 1是 2否
    HANDLE hout;

    //产生一个新的字符, 并设置其出现的位置
    void GetRandomChar()
    {
    g_ch = rand() % 26 + 'a';//能够得到从a到z之间的一个随机字符
    g_row = 0;//出现在最上面的一行
    g_col = rand() % 80;//横坐标的位置随机
    }

    //线程处理函数
    DWORD CALLBACK Proc(LPVOID lpParam)
    {
    int r, c;
    COORD pos = { 0, 0 };//坐标, 初始为0, 0, 表示左上角位置
    while (running)
    {
    if (pause)
    continue;
    SetConsoleCursorPosition(hout, pos);//把控制台光标位置定位到左上角00的位置
    for (r = 0; r < 12; ++r)//共12行
    {
    for (c = 0; c < 80; ++c)//共80列
    {
    if (r == 10)//第11行
    {
    printf("-");
    }
    else if (r == 11)//第12行
    {
    if (redraw)
    {
    printf("  正确:%d  错误:%d  正确率:%6.2lf%%", correct, error,
    (double)correct / (correct + error) * 100);
    redraw = 0;
    }

    }
    else if (r == g_row && c == g_col)
    {
    printf("%c", g_ch);
    }
    else
    {
    printf(" ");
    }
    }
    }
    if (g_row++ == 10)
    {
    ++error;//错误的数量加1
    GetRandomChar();// 重新产生字符
    redraw = 1;//需要重新计算正确率
    }
    Sleep(300);
    }
    return 0;
    }

    int main()
    {
    int ch;//保存用户输入的按键
    HANDLE hThread;//线程的句柄
    system("color E0");
    hout = GetStdHandle(STD_OUTPUT_HANDLE);
    GetRandomChar();
    //创建一个线程
    hThread = CreateThread(NULL, 0, Proc, NULL, 0, NULL);

    while (running)
    {
    if (ch = getch())
    {
    if (ch == 27)//按下了键盘上的ESC键
    {
    running = 0;
    }
    else if (ch == 13)//按下了键盘上的回车键
    {
    pause = !pause;
    }
    else if (ch == g_ch)
    {
    if (pause == 0)
    {
    //输入了正确的字符
    ++correct;//正确的数量加1
    GetRandomChar();
    redraw = 1;//需要重新计算正确率
    }
    }
    else
    {
    if (pause == 0)
    {
    //输入了不正确的字符
    ++error; //错误数量加1
    redraw = 1;//需要重新计算正确率
    }
    }
    }
    }

    return 0;
    }

    12下一页

    相关文章
  • C语言之打字通完整版
  • C语言 编程思维特征 黑客入侵
  • 网易CC语音 3.11 官网官方版
  • 相关推荐
  • C2B转换助手(C语言转换工具) v1.0 官方版
  • 学通c语言的24堂课 完整版 最新版
  • c语言函数大全 完整版 最新版
  • 全国计算机二级C语言全真模拟考试软件 v2017 年下半年版
  • 全国计算机二级C语言全真模拟考试软件 v2016 年下半年版 最新版
  • Windows开机密码清除器(C语言版) 1.0
  • wintc(C语言编译器) v2.0
  • 网易CC语音客户端 v3.19.59 官网官方版
  • 发表评论
    栏目列表
    阅读排行
    网站帮助 - 广告合作 - 下载声明 - 网站地图