龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

一个简单的打字练习程序

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
类似于学习机上的指法练习程序,简单而实用 #include main() { int x,y,i,j; unsigned int Timer; char ch; char key; char *kb[]={"Q W E R T Y U I O P [ ]","A S D F G H J K L ; '","Z X C V B N M , . /"}; long AllCounter=0,Right

  类似于学习机上的指法练习程序,简单而实用

#include

  

main()

  

{

  

int x,y,i,j;

  

unsigned int Timer;

  

char ch;

  

char key;

  

char *kb[]={"Q W E R T Y U I O P [ ]","A S D F G H J K L ; '","Z X C V B N M , . /"};

  

long AllCounter=0,RightCounter=0,FalseCounter=0;

  

time_t t;

  

int fun_Esc();

srand((unsigned)time(&t));

  

clrscr();

  

gotoxy(18,1);

  

printf("%s

",kb[0]);

  

gotoxy(20,3);

  

printf("%s

",kb[1]);

  

gotoxy(22,5);

  

printf("%s

",kb[2]);

  

gotoxy(11,25);

  

for(i=0;i<60;i++)

  

{

  

printf("=");

  

}

  

gotoxy(1,1);

  

printf("AllCh: %ld

Right: %ld

False: %ld",AllCounter,RightCounter,FalseCounter);

  

printf("

");

  

printf("Esc to exit");

  

printf("

");

  

printf("Enter to pause");

  

gotoxy(26,12);

  

printf("* * * * * * * * * * * * * * *");

  

gotoxy(26,13);

  

printf("* Press any key to start! *");

  

gotoxy(26,14);

  

printf("* * * * * * * * * * * * * * *");

  

gotoxy(51,13);

  

if(getch()==27)

  

{

  

if(fun_Esc()==1)

  

{

  

clrscr();

  

exit(0);

  

}

  

}

  

gotoxy(23,12);

  

printf(" ");

  

gotoxy(23,13);

  

printf(" ");

  

gotoxy(23,14);

  

printf(" ");

  

lab_start:

  

y = 6;

  

Timer = 100000;

  

i = rand()%3;

  

j = rand()%(12-i);

  

ch = kb[i][j*4];

  

x = 18+i*2+j*4;

  

while(y<=24)

  

{

  

if(kbhit())

  

{

  

key = getch();

  

if(key==ch key==ch+32)

  

{

  

ch = '*'; Timer = 1000;

  

}

  

else if(key==27)

  

{

  

if(fun_Esc()==1)

  

{

  

clrscr();

  

exit(0);

  

}

  

}

  

else if(key=='

')

  

{

  

gotoxy(x,y-1);

  

printf(" ");

  

gotoxy(28,13);

  

printf("Press any key to continue");

  

getch();

  

gotoxy(28,13);

  

printf(" ");

  

}

  

else

  

{

  

FalseCounter++;

  

}

  

}

  

if(y>6)

  

{

  

gotoxy(x,y-1);

  

printf(" ");

  

}

  

gotoxy(x,y);

  

printf("%c",ch);

  

gotoxy(1,1);

  

printf("AllCh: %ld

Right: %ld

False: %ld",AllCounter,RightCounter,FalseCounter);

  

delay(Timer);

  

y++;

  

}

  

AllCounter++;

  

if(ch == '*')

  

{

  

RightCounter++;

  

}

  

goto lab_start;

  

}

int fun_Esc()

  

{

  

int key = '#';

  

gotoxy(24,12);

  

printf("* * * * * * * * * * * * * * * * *");

  

gotoxy(24,13);

  

printf("* Are you sure to exit? (Y/N) *");

  

gotoxy(24,14);

  

printf("* * * * * * * * * * * * * * * * *");

  

gotoxy(51,13);

  

while(key!='Y' && key!='y' && key!='N' && key!='n')

  

{

  

key = getch();

  

if(key=='Y' key=='y')

  

{

  

return 1;

  

}

  

if(key=='N' key=='n')

  

{

  

gotoxy(24,12);

  

printf(" ");

  

gotoxy(24,13);

  

printf(" ");

  

gotoxy(24,14);

  

printf(" ");

  

return 0;

  

}

  

}

  

}

  

精彩图集

赞助商链接