1、C语言毕业课程设计报告范例(此文档为word格式,下载后您可任意编辑修改!)一个好的打字员也必须经过指法练习的磨练才能成才,同样,一个好的指法练习系统对一个打字员也是必不可少的工具。以下是用C语言编写的指法练习系统软件的设计报告。一系统功能本程序完成简单的指法练习全程,实现测试打字过程中返回正确错误个数的功能,能记录用户的最高成绩。部分功能通过类似window界面的下拉式菜单实现,通过键盘能实现各项功能的设置。完全符合课程设计的要求。二系统总框图及函数定义及说明系统总框图: file help setting Uesr recore bgcolor chrcolor time 自定义函数和系统
2、函数: 自定义函数 系统函数welcome()实现欢迎界面textbackground()Textcolor()gotoxy()Window()sleep()randomize()clock()time(NULL)getch()putchar()sound()delay()nosound()kbhit()random()difftime(int,int)exit()cputs()wherex()wherex()menu()画window的窗口界面Selectitem()定义菜单DrawSelectitem()显示主单名RedText(int x,int y,char *z)正常显示菜单Blac
3、kText(int x,int y,char *z)显示选中菜单DrawFrame(int l,int u,int r,int d,int tcolor,int bcolor)画边框函数DrawMl(int n)显示具体下拉选择项目MoveMl(int n,int x)菜单选项的控制,n决定水平项,x决定下拉的选项Enter(int m,int n)菜单选项的具体功能run()按键操作过程Start()开始打字User()输入名字,模式,字数Bgcolor()背景颜色Ccolor()字体颜色Time()设定时间Recore()用户记录Help()系统帮助About()系统信息Exit()退出系
4、统三设计分析程序主要以函数为模块,一个函数实现一个功能或一个设置项,为了阅读的方便,函数里又包含了自定义函数,最后主函数调用自定义的函数,整个过程清晰,各个函数独立性强。算法方面主要是产生随机字符这块要研究一下,其他的大概也没什么好研究的,基本都是输入输出操作。随机字符的产生我利用了数组的下标和random()函数,数组先给赋值了,三个数组就三种情况,达到了设计的要求。还有就是倒计时的实现,因为C语言不能同时执行两条语句,故在打字的过程中和倒计时不能同时实现,为了解决这个问题,我用了kbhit()如果键盘没输入就退出这次输入循环,让倒计时继续执行,当有键盘的输入这次的输入循环也就结束,也是让倒
5、计时继续执行,问题解决。四程序存在的问题由于本人水平有限,本程序存在一些问题,主要有以下几个方面:1 在打字过程中,当打错了字时不能删掉重新输入,只能继续打下去,因为这个过程用的是循环输入,当每入一字就结束了这个字的输入不能修改。2 部分界面的输入没考虑用户各种输入的情况,当用户非正常输入时,系统可能会中止。3 没有考虑当用户选择背景字体颜色都一样时的情况(这种情况导致界面没有东西显示,主要就是背景和字体用了一样的颜色),只是用提示语句提醒用户。五心得体会经过两周的课程设计,对C语言有了更深刻的了解,学到了很多以前没了解过的函数和算法。一直以来就认为C语言就是学编程的基础但用不上场,现在觉得它
6、的确也能用上场了,可以编写软件。虽然只有短短的两周时间,却让我感悟很多。只要肯用心去做每件事情,最终的结果都会让人满意的。六程序源代码#include bios.);*菜单选项的具体功能*void DrawFrame(int left,int up,int right,int down,int textcolor,int backgroundcolor);*画边框*void DrawSelectitem();*显示主菜单*void BlackText(int x,int y,char *z);*选中菜单*void MoveMl(int n,int x);*菜单选项的控制*void run();
7、*具体操作*void Start();char choosec1;int x,y;int first,second;void User();char uname15=quan;int zz=300;void Bgcolor();char bgcol1=1,;void Ccolor();char ccol1=7,;void Time();int m=60;void Recore();FILE *fp;char ; ml3; *选项数*int key; *按键变量*int i,j; char save4096; *保存文本区域空间*char c4096; *清屏专用空间*主函数* main() w
8、elcome(); menu(); run();void welcome()textbackground(BLUE);textcolor(7);window();clrscr();gotoxy(20,8);printf(11111111111111111111111111111111111111111);gotoxy(20,9);printf(11111111111111111111111111111111111111111);gotoxy(20,10);printf(111 111);gotoxy(20,11);printf(111 111);gotoxy(20,12);printf(111
9、 WELCOME TO MY TYPE SYSTEM! 111);gotoxy(20,13);printf(111 Copyright(c)2004 by Quan 111);gotoxy(20,14);printf(111 111);gotoxy(20,15);printf(111 111);gotoxy(20,16);printf(111 111);gotoxy(20,17);printf(11111111111111111111111111111111111111111);gotoxy(20,18);printf(1111111111111111111111111111111111111
10、1111);gotoxy(3,19);printf( Press any key to contine.);getch();*画window的界面*void menu() textbackground(BLUE); window(); clrscr(); gotoxy(1,2); printf(%c,218); *画左上角* for(i=0;i78;i+) printf(%c,196); *画水平直线* printf(%c,191); *画右上角* for(i=3;i=23;i+) gotoxy(1,i); printf(%c,179); *画垂直线* gotoxy(80,i); printf
11、(%c,179); printf(%c,192); *画左下角* for(i=0;i78;i+) printf(%c,196); printf(%c,217); *画右下角* gotoxy(1,1); textcolor(7); for(i=0;i80;i+) cprintf(%c,219); *用符号实现画主菜单的灰色背景区* Selectitem(); *调用选项函数* DrawSelectitem(); *画选项* gettext(c); *保存当前文本区域* gotoxy(3,5); printf(name rightrate); if(fp=fopen(recore.txt,r)=N
12、ULL) gotoxy(3,6); printf(cannot open file); return; fread(&=2; *保存菜单的项数*strcpy(ml1.name,setting(F2);strcpy(ml1.str0,User );strcpy(ml1.str1,Bgcolor );strcpy(ml1.str2,Charcolor );strcpy(ml1.str3,Time );strcpy(ml1.str4,Recore );ml1.n=5;strcpy(ml2.name,Help(F3); *系统帮助* strcpy(ml2.str0,Help topic ); strc
13、py(ml2.str1,About ); ml2.n=2;*显示主单名*void DrawSelectitem() for(i=0;i3;i+) RedText(i,1,mli.name); *显示主菜单名,且首字母为红色*正常显示菜单* RedText(int x,int y,char *z) textbackground(7); *设置背景颜色为浅灰色* gotoxy(3+x*20,y); for(j=0;zj;j+) if(j=0) textcolor(RED); *第一个字母显示红色* else textcolor(BLACK); cprintf(%c,zj); *输出菜单名* *显示选中菜单*void BlackText(int x,int y,char *z) textbackground(14); textcolor(15); gotoxy(3+20*x,y); *定位坐标* cputs(z); *输出菜单名字符串*画边框函数*void DrawFrame(int l,int u,int r,int d,int tcolor,int bcolor) textbackground(b
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1