精品推荐
阅读排行
· 查看svchost.exe进程· PRO/E 十种技巧
· [组图] 3ds Max 高级长篇人
· [组图] PRO/E的曲面设计
· 怎样学好PRO/E软件?
· 路由技术介绍
· Pro/ENGINEER 学习资
· [组图] Photoshop制作珠宝文
· xml的应用是什么?x
· [组图] flash人物绘画教程
| 作者:佚名 来源:www.pccode.net 整理 发布时间:2006-3-7 16:41:41 发布人:wongrs | ||||||||||
| 大家自己设三个或一个文本文件,内含1000个字符就行了,英文字母或其他字符都可以。谢谢指教!!主函数在下面!介绍一下自定义函数的功能吧。
特点:而主函数则非常简单,只包含这四个要调用的函数。 这四个函数功能单一,且每个函数不超过50行,较好地满足设计风格。 #include <stdio.h> #include <graphics.h> #include <conio.h> #include <dos.h> #include <time.h> char string[101]; void Background() { int driver=DETECT,mode; /*定义变量*/ int x1=20,y1=20,r=10,num; int x2=20,y2=450; int color1=10,color2=10; /*在此设置颜色,一改全改*/ initgraph(&driver,&mode,"a:\\bgi "); /*初始化图形模式*/ setcolor(color1); /*步骤一、设置当前颜色用于绘图*/ for(num=0;num<30;num++) { circle(x1,y1,r); /*步骤二、使用当前颜色绘制一个闭合图形*/ setfillstyle(num%12,color1); /*步骤三、设置填充方式*/ floodfill(x1,y1,color1); /*步骤四、对闭合图形进行填充*/ x1+=20; delay(100); } setcolor(color2); for(num=0;num<30;num++) { circle(x2,y2,r); setfillstyle(num%12,color2); floodfill(x2,y2,color2); x2+=20; delay(100); } setcolor(YELLOW); /*改变当前颜色,输出友好话*/ settextstyle(0,0,2); outtextxy(50,150,"WELCOME TO THE TYPING WORLD!"); setcolor(LIGHTMAGENTA); outtextxy(200,350,"DESIGED BY HE ZHANG HONG"); sleep(3); /*延时二秒观看结果*/ closegraph(); /*关闭图形*/ } void DEMO() /*设置菜单函数*/ { printf("_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_**_*\n”
"\t\t\t" "THE DEMO DISPLAY FOR THE FILE SYSTEM\n" "\n" "\t\t" "1:PRATICE ONLY ENGLISH Characters.\n" "\t\t" "2:PRATICE OTHER Charcters.\n" "\t\t" "3:PRATICE ALL Charcters.\n" "\t\t" "4:QUIT AT ONCE!\n" "\n"); } void Get_character(void) /*设置得到字符函数*/ { void Typing(); /*声明typing()函数*/ FILE *in; int i,t,choice; char ch; t=abs(time(0))%700; /*获取随机数来指定下面指针的位*/ printf("\nPLEASE ENTER YOUR CHOICE:"); choice=getch(); clrscr(); /*清屏*/ switch(choice) /*选择不同打开文件来打不同的字符*/ { case '1': in=fopen("english.txt","r"); break; case '2': in=fopen("others.txt","r"); break; case '3': in=fopen("type all.txt","r"); break; case '4': exit(1);break; } fseek(in,t*1l,0); fgets(string,101,in); printf("\n"); printf("********************************************************************"); for(i=0;i<100;i++) putchar(string[i]); printf("\n"); printf("********************************************************************"); fclose(in); printf("LET'S BEGIN TYPING,OK?[Y/N]"); printf("\n"); ch=getch(); if(ch=='n'||ch=='N') /*判断是否练习打字*/ exit(0); else if(ch=='y'||ch=='Y') Typing(); } void Typing(void) /*设置打字(包括计算其他结果)函数*/ { int i,j,Right_char=0,Wrong_char=0,Sum_char=0; float Speed,Timeused,Right_rate; char absorb_char,ch_1,ch_2,ch_3; time_t star,stop; /*定义time变量,获取系统时间并显示在屏幕上*/ time(&star); printf("\n"); printf("time begin:%s",ctime(&star)); i=0; absorb_char=getchar(); /*接受键盘输入的字符并在下面的while语句判断正 错和计算结果*/ while(absorb_char!='\n'&&i<100) { if(absorb_char==string[i]) { Right_char++; Sum_char++; } else { Wrong_char++; Sum_char++; } i++; absorb_char=getchar(); } time(&stop); Timeused=difftime(stop,star); /*利用difftime()函数输出所用时间*/ Right_rate=(float)Right_char/(float)Sum_char*100; Speed=(Sum_char/Timeused)*60; printf("time end:%s",ctime(&stop)); /*下面显示分数*/ printf("****#################~~~~~~~~~~~~~YOUR SCORE!!~~~~~~~~~~~~~~################****"); printf(" 1: TOTAL TIME USED:%.3f\n",Timeused); printf(" 2: YOU HAVE TYPED:%d\n",Sum_char); printf(" 3: Typing Right_Characters are:%d\n",Right_char); printf(" 4: Typing Wrong_Characters are:%d\n",Wrong_char); printf(" 5: YOUR TYPING SPEED IS :%.2f\\min\n",Speed); printf(" 6: YOUR TYPING RIGHT_RATE IS :%.2f%%\n",Right_rate); printf("****#################~~~~~~~~~~~~~YOUR SCORE!!~~~~~~~~~~~~~~################****"); if(Speed<=50||Right_rate<=80) /*询问用户是否重来一遍*/ { printf(" NOT VERY GOOD!\n TRY IT AGAIN,OK?[Y/N]\n"); ch_2=getch(); if(ch_2=='n'||ch_2=='N') exit(0); else if(ch_2=='y'||ch_2=='Y') { clrscr(); DEMO(); /*分别调用函数重来一遍*/ Get_character(); Typing(); } exit(0); } else printf(" WELL DONE!!\n ONE MORE TIME?[Y/N]\n"); /*询问用户是否重来一遍*/ ch_3=getch(); if(ch_3=='n'||ch_3=='N') exit(0); else if(ch_3=='y'||ch_3=='Y') { clrscr(); DEMO(); /*分别调用函数重来一遍*/ Get_character(); Typing(); } exit(0); } main(void) /*主函数包含四个要调用的函数*/ { Background(); DEMO(); Get_character(); Typing(); } |
||||||||||
| [ ] [返回上一页] [打 印] [收 藏] | ||||||||||
上一篇文章:2人五子棋游戏(1)
下一篇文章:骑士旅行之迷宫算法 |
