草庐IT

英语打字练习软件-c语言编写

Brinshy 2023-03-28 原文
学习c语言的时候编写的英语打字练习软件,已经上传github

自取 https://github.com/grey-wood-wolf/typing-software

 

软件实际效果如下

在下载的压缩包里,运行exe文件就可使用,源码为ConsoleApplication1这个文件

 

 

 部分代码如下:

void welcom()//介绍  
{  
    int musicopen = 0;//用于判断bgm是否开启的数  
    mciSendString("open .\\新建文件夹\\登录.mp3", NULL, 0, NULL);  
    mciSendString("play .\\新建文件夹\\登录.mp3 ", NULL, 0, NULL);  
loop://使返回后能够再次显示界面  
    setbkmode(TRANSPARENT);//使背景窗口透明  
    IMAGE img;  
    loadimage(&img, ".\\新建文件夹\\background.jpg");  
    putimage(0, 0, &img);  
    settextcolor(RED);  
    settextstyle(32, 0, "宋体");//设置字体大小和字体样式(字号 风格 字体)  
    outtextxy(200, 250, "欢迎进入该打字软件");  
    settextstyle(32, 0, "华文行楷");  
    outtextxy(750, 40, "输入1~9选择BGM");  
    outtextxy(750, 90, "输入Tab关闭BGM");  
    outtextxy(200, 350, "该软件开发用于练习打字速度,想来玩玩吗来吧!");  
    settextstyle(26, 0, "华文行楷");  
    outtextxy(200, 460, "按enter进入");  
    outtextxy(200, 500, "输入eas退出");  
    char a;  
    int color = 255;  
    settextstyle(26, 0, "华文行楷");  
    while (true)  
    {  
        setcolor(RGB(color, 0, 0));  
        color -= 10;//颜色越来越暗 出现闪烁效果  
        if (color < 0)  
            color = 255;//红色  
        outtextxy(200, 460, "按enter进入");  
        outtextxy(200, 500, "输入eas退出");  
        Sleep(50);  
        if (_kbhit())//有按键  
        {  
            a = _getch();  
            if (a == '\r')  
            {  
                cleardevice();//清屏 准备进入游戏界面  
                mciSendString("close .\\新建文件夹\\登录.mp3 ", NULL, 0, NULL);  
                start();  
                goto loop;  
            }  
            else if (a=='1'||a=='2'||a=='3'||a=='4'||a=='5'||a=='6'||a=='7'||a=='8'||a=='9')//打开bgm  
            {  
                if(musicopen==0)  
                musicopen=backmusic(a);  
            }  
            else if (a == 9)//关闭bgm  
            {  
                if(musicopen==1)  
                musicopen=closemusic();  
            }  
            else if(a==27)//退出  
            {  
                cleardevice();  
                mciSendString("close .\\新建文件夹\\登录.mp3 ", NULL, 0, NULL);  
                return;  
            }  
        }  
    }  
}

使用了easyx设计了个基本的运行界面。

有关英语打字练习软件-c语言编写的更多相关文章

  1. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  2. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  3. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

  4. ruby - 用 Ruby 编写一个简单的网络服务器 - 2

    我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b

  5. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  6. 7个大一C语言必学的程序 / C语言经典代码大全 - 2

    嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来

  7. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  8. 牛客网专项练习30天Pytnon篇第02天 - 2

    1.在Python3中,下列关于数学运算结果正确的是:(B)a=10b=3print(a//b)print(a%b)print(a/b)A.3,3,3.3333...B.3,1,3.3333...C.3.3333...,3.3333...,3D.3.3333...,1,3.3333...解析:    在Python中,//表示地板除(向下取整),%表示取余,/表示除(Python2向下取整返回3)2.如下程序Python2会打印多少个数:(D)k=1000whilek>1:    print(k)k=k/2A.1000 B.10C.11D.9解析:    按照题意每次循环K/2,直到K值小于等

  9. Python 刷Leetcode题库,顺带学英语单词(31) - 2

    ValidPalindromeGivenastring,determineifitisapalindrome,consideringonlyalphanumericcharactersandignoringcases. [#125]Example:"Aman,aplan,acanal:Panama"isapalindrome."raceacar"isnotapalindrome.Haveyouconsiderthatthestringmightbeempty?Thisisagoodquestiontoaskduringaninterview.Forthepurposeofthisproblem

  10. ruby-on-rails - 如何为空白字段编写 rspec? [Rails3.1] - 2

    我使用rails3.1+rspec和factorygirl。我对必填字段(validates_presence_of)的验证工作正常。我如何让测试将该事实用作“成功”而不是“失败”规范是:describe"Addanindustrywithnoname"docontext"Unabletocreatearecordwhenthenameisblank"dosubjectdoind=Factory.create(:industry_name_blank)endit{shouldbe_invalid}endend但是我失败了:Failures:1)Addanindustrywithnona

随机推荐