打印本文 打印本文  关闭窗口 关闭窗口  
一个简单的打字练习程序
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:59:46  文章录入:杜斌  责任编辑:杜斌

类似于学习机上的指法练习程序,简单而实用 
#include<time.h> 
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\n",kb[0]); 
gotoxy(20,3); 
printf("%s\n",kb[1]); 
gotoxy(22,5); 
printf("%s\n",kb[2]); 
gotoxy(11,25); 
for(i=0;i<60;i++) 

printf("="); 

gotoxy(1,1); 
printf("AllCh: %ld\nRight: %ld\nFalse: %ld",AllCounter,RightCounter,FalseCounter); 
printf("\n\n"); 
printf("Esc to exit"); 
printf("\n"); 
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==’\r’) 

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\nRight: %ld\nFalse: %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; 


} 
打印本文 打印本文  关闭窗口 关闭窗口