数字小键盘指法练习

时间:2017-07-07 05:20:13
染雾
分享
WORD下载 PDF下载 投诉
小键盘指法练习是用来练习指法的一个小软件,当初我之所以编写这个软件是因为我要参加今年夏天四川省的高考通分工作,我的指法太烂,速度太慢了,而且还因为不满学校给我们提供的用来练习指法的软件,是这样的,在高考的通分中,大部分分数就不带小数点, 带小数点也是只有.5小数点,而学校给我们的那个软件在产生数据的时候全部带有小数点如:52.1、68.3、69.4等,这个还可以忍受,更让人感觉不好的居然那个软件有时间限制,我们在打开它的时候它就自动关闭了,而老师给我们的提示是叫我们改变系统时间来进行指法练习,我当然不满这种做法了,于是自己写了这个软件,好了下面我就来介绍一下我是如何实现的,先还是来介绍一下它的功能吧,然后在介绍是如何进行编码的:

  该软件具有如下功能:

  1、具有数字键指法练习的一般功能即能够进行指法练习

  2、具有“选项”参数设置功能,选项参数如下:

  A: 输入数据:数据是否带有小数点,是否部分数据带有.5小数点等

  B: 测试速度:击键速度和单词速度

  C: 其它属性:测试时间、显示输入错误的信息的延迟时间、是否屏蔽非数字键

  3、具有“选项”参数记忆功能,它能够记住用户上一次的选项设置,它会按照用户上一次的设置来初始化程序

  数据的产生:

既然是数字键指法练习,那练习时的数据来源肯定是重中之重了,我是通过一个函数来实现的,它根据接受的整型参数来产生满足要求的数据,其中用到了random()这个函数来产生随机数,通过该函数代码如下:

  AnsiString __fastcall TfrmMain::RandNum(int Flag)

  {

//TODO: Add your source code here

double RandNum;

switch (Flag)

{

case 1: //全部数字不带有小数点

RandNum=random (100);

break;

case 2: //部分数字带有小数点

RandNum=random (100);

if (rand()%2)

{

RandNum=RandNum+(rand()%10)/double(10);

}

break;

case 3:

RandNum=random (100);

RandNum=RandNum+(rand()%10)/double(10);

break;

case 4:

RandNum=random (100);

RandNum=RandNum+0.5;

break;

case 5:

RandNum=random (100);

if(rand()%2)

{

RandNum=RandNum+0.5;

}

break;

default: //全部数字不带有小数点

RandNum=random (100);

}

return AnsiString(RandNum);

  }

  测试速度:

该软件的速度测试分两种:击键速度和单词速度,击键速度表示用户每分钟用户的击键书,而单词速度则表示用户每分钟用户所输入的数字个数,测试速度的取得我也是通过一个函数来实现的,该函数代码如下:

  void __fastcall TfrmMain::Stat(int flagSpeed)

  {

//TODO: Add your source code here

dwTimeElapse=timeGetTime()-dwTimeStart;

stTime->Caption="剩余时间:"+AnsiString(tmTest-dwTimeElapse/1000)+" 秒";

switch (flagSpeed)

{

case 1: //击键速度

if (dwTimeElapse>0)

{

long int temp1=(60*1000*(NumCount)/dwTimeElapse);

stSpeed->Caption="击键速度:"+AnsiString(temp1)+"/分";

//纪录速度

recSpeed=temp1;

}

stWordNum->Caption="击键数:"+AnsiString(NumCount);

break;

case 2: //单词速度

if (dwTimeElapse>0)

{

long int temp2=(60*1000*(NumCount)/dwTimeElapse);

stSpeed->Caption="单词速度:"+AnsiString(temp2)+"/分";

数字小键盘指法练习

手机扫码分享

Top