西文下拉菜单课程设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1课程设计题目:西文下拉菜单的设计主要功能:1、完成一个类似TC集成系统菜单的西文下拉菜单的设计2、不要求实现各子菜单的功能要求:可以通过光标键的移动来选择不同的菜单项,被选择的菜单项反相显示,当选定某个菜单项后,按回车键可以实现一个简单的动作。设计目的:设计西文下拉菜单,运用所学的函数编程一个简单的西文下拉菜单。通过课程设计,加深对C语言的理解,锻炼查找资料、获取信息的能力,了解简单的数据结构和接口技术,增强大家的团队精神和凝聚力,了解初步的面向对象和软件工程知识。由一个简单的程序改编成一个复杂的程序是一件很不简单的事情。通过编程实践和实际应用,进一步熟悉和巩固C语言语法知识和程序设计的基本方法;利用适当形式的命题,了解结构化程序设计的方法,培养自顶而下、逐步细化的编程思维方式;通过一定的文档要求,培养学生良好的程序设计风格,包括程序结构形式,行文格式和程序正文格式等。C语言程序课程设计是我们在学习完C语言课程后集中安排的2周的实践技能训练环节。它的目的是通过实践环节的训练,使我们进一步加深对C语言知识的综合理解,提高C语言应用技能,并结合专业特点培养我们计算机程序的应用能力。总设计:(程序设计组成框图、流程图)程序设计组成框图2主函数system(color16);KK()vMainMenu()File_PrintFileMenu()Edit_PrintFileMenu()Help_PrintFileMenu()our()Yy()Yy1()Yy2()File_a_PrintFileMenu()le_ab_FiPrintFileMenu()File_abc_PrintFileMenu()Edit_a_PrintFileMenu()Edit_ab_PrintFileMenu()Edit_abc_PrintFileMenu()Help_a_PrintFileMenu()Help_ab_PrintFileMenu()Pp()Help_abc_PrintFileMenu()Pp()3调用函数同(1)(1)调用函数开始主函数System()KK()VmainMune菜单F1菜单F2菜单F3F菜单F4yy()Pp()调用函数File_abFile_abc调用上移fF4Our()退出YN调用函数getch()=13YN跳出同(1)同(1)File_aFile_abFile_abc调用函数调用函数yy1()yy2()①②输出功能同(1)同(1)下移switch(getch(80)switch(getch(72)File_a流程图4详细设计:(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)整个系统除了主函数外,另外还有将近十个函数,实现五大功能:输入功能、显示功能、输出功能、以及光标键的上下移动功能、跳出选项功能。各个函数的详细设计说明分别如下:1、主函数main()利用无限次循环for(;;)和system()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。2、命名函数void….Menu()用void命名我们要做的菜单函数,如voidFile_PrintFileMenu();voidEdit_PrintFileMenu();voidHelp_PrintFileMenu();等等,使接下来的函数调用能调用处我们制作的下拉菜单。下移Pp()getch()=13Pp()getch()=13①②上移下移上移Edit_aEdit_abEdit_abcEdit_aEdit_abEdit_abcHelp_aHelp_ab.Help_abcHelp_aHelp_abHelp_abc调用函数YN输出功能跳出(2)同(2)同(2)同(2)同(2)同(2)调用函数(3)同(3)同(3)同(3)同(3)同(3)输出功能跳出switch(getch(80)switch(getch(72)switch(getch(80)switch(getch(72)53、按键函数GetAsyncKeyState利用按键函数GetAsyncKeyState来控制程序,它组要负责对按键的识别和识别后的函数调用功能。4、颜色调用函数system(cls)利用system(cls)的颜色调用函数,我们能从颜色库中调用各种颜色来制作我们的下拉菜单,使我们的下拉菜单更为简单化。5、Ifelse语句在我们的程序中我们用到了if…else语句来做判断作用,还用到了if语句的嵌套。应当注意if与else得配对关系。Else总是与它上面的最近的未配对的if配对。6、Switch语句Switch语句是多分支选择语句。Switch后面括号内的“表达式”,ANSI标准允许它为任何类型;当表达式的值与某一个case后面的常量表达式的值相等时,就执行case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句;每一个case的常量表达式的值必须互不相同;否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案);各个case和default得出现次序不影响执行结果;执行完一个case后面的语句后,流程控制转移到下一个case继续执行;总的说来,我们的程序就是用一些基本的函数语句制作成的,而我饿美女程序中的下拉菜单的边框本应该也使应函数语句来调用的,后来为方便找想,更使在网上看到一些C语言高手直接在程序上画出,我们就引用了他们的方法。但这个直接换出来的方法也不见得不是个很好的放法,简单还明了。接下来我就来说明这个程序中我扶着的模块吧。我们采用分模块设计程序,我们的这个西文下拉菜单程序分为三个模块,每个模块的功能基本相同,只是执行的途径不同而已,下面我介绍一下模块三的功能。程序开始执行时,调用库函数里的函数system(color16),用命令来执行平面的颜色。接着,继续执行,调用函数kk(),一开始执行函数kk(),就调用主菜单函数vmainmune(),执行时输出主菜单(FileF1EditF2HelpF3OurF4),模块二的功能就是执行主菜单中的EditF1的任务,输出Edit的下拉子菜单,并执行其子菜单的简单的功能。输出主菜单后,系统将调用库函数中的另一个函数GetAsyncKeyState(VK_F1),选择按键F3,又调用函数Help_PrintFileMenu(),输出Help的下拉菜单。之后,返回kk()函数,接着继续执行,调用函数yy()1,yy()1函数的功能就是对Help菜单的选项进行上下选择。在这里,同样调用了库函数中的函数GetAsyncKeyState(VK_F9),按一下下光标键键,调用函数Help_a_PrintFileMenu(),既输出对Edit第一个选项的选择,再调用函数PP(),如需要输出其功能,按一下Enter键,将输出其简单的功能,如不需输出其功能,调用PP()函数后,将不执行任何操作跳出PP()。对Edit菜单进行选择了一次,下光标键和上光标键将自加一,每按一下下光标键,菜单将向下选择一次。上光标键是向上选择键,其实现过程与向下选择的过程相同,每完成一次向上选择,下光标键和上光标键将自减一,在你进行操作是出错时,按一下F11键,将调用库函数system(cls),其功能是对屏幕进行清屏,再调用kk()函数,回到显示主菜单的状态,继续你所需的操作。调试与测试:(调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施。)调试方法,首先进行人工检查,在写好一个程序以后,而应对程序进行人工检查;接着在人工检查无误后,再上机调试,在编译时会给出语法错误的信息,调试时可以根据提示信息具体找出程序中出错之处并改正;第三在改正语法错误(包括“错误(error)”和“警告(warning)”)6后,程序经过连接(link)就得到可执行的目标程序,有时,数据比较复杂,难以立即判断结果是否正确。可以事先考虑好一批“试验数据”,输入这些数据可以很容易判断结果正确与否。大多数错误都是逻辑上的错误,所以对这样的错误我们都会很仔细的检查和分析可以采用以下办法:1.将程序与流程图仔细对照,如果流程图是正确的,程序写错了,是很容易发现的。例如,复合语句忘记写花括弧,只要一对照流程图就能很快发现。2.如果实在找不到错误,可以采用“分段检查”的方法。在程序不同的位置设几个printf函数语句,输出有关变量的值,逐段往下检查。直到找到在某一段中数据不对为止。这时就已经把错误局限在这一段中了。不断减小“查错区”,就能发现错误所在。3.也可以用“条件编译”命令进行程序调试(在程序调试阶段,若干printf函数语句就要进行编译并执行。当调试完毕,这些语句不用再编译了,也不再被执行了)。这种方法可以不必一一去掉printf函数语句,以提高效率。4.如果在程序中没有发现问题,就要检查流程图有无错误,即算法有无问题。如有则改正之,接着修改程序。5.有的系统还提供debug(调试)工具,跟踪程序并给出相应信息在制作过称中,我们碰到很多问题。刚开始我们做的时候只是做出了一个而简单的下拉菜单,而且只能用F1控制第一个菜单的出现,而后面的菜单无论我们怎么改都弄不出F2的下拉菜单,那时候就郁闷了一天,终于在第二天农畜来下了菜单F2,F3等等都能控制的下拉菜单。在这个制作过程中,我们遇到了函数命名不清楚还有逻辑上的错误。在经过我们严密的检查,一层层的逻辑检查,终于检查出了错误。通过课本上以及一些资料上的说明,我们把我们的程序改好了。虽然这个程序做出来不是最好的,但经过我们一段时间的努力还是做出了一些效果,相信只要再给我们一些时间,我们能把这个程序能得更加完美。软件使用说明:西文下拉菜单:这是一个简单的西文下拉菜单的软件,能输出一个主菜单,对应的菜单能输出子菜单,选中对应的选项后能执行简单的功能。在这个软件的设计中,一共采用了八个按键对它进行控制,每个按键都有对应的功能,下面对每个按键的功能进行说明:F1:按一下F1键,能弹出文件(file)的菜单。F2:按一下F2键,能弹出编辑(edit)的菜单。F3:按一下F3键,能弹出帮助(help)的菜单。F4:按一下F4键,能弹出开发成员的名字。下光标键:按一下下光标键,光标下移。上光标:按一下上光标键,光标上移。F11:挨一下F11键,返回主菜单。回车键:按一下回车键键,执行当前所选功能。课程设计心得与体会:做了两周的课程设计,有很多的心得体会,有关于C语言方面的,更多的是关于人与人之间关系方面的。7我们组一共有三个人,我得到了另外两个同学以及其他同学的帮助。我想没有他们我可能都要放弃了,因为我本人对C语言也并不是很熟悉,学的东西好像它是它,我是我似的,理论联系不了实际。经过一个多星期的C语言课程设计,感觉自己收获不少!首先是:链表本来上课是没有上的,但这个课程设计里面主要都是用链表,因为要达到这样的功能,使用链表相当方便,但不容易理解,所以在这方面我很了很多的时间看课本和参考课外书,使C语言的知识强化了不少。其次,在做课程设计的过程中,发现了平时很多没有注意到的问题,例如:返回值函数和不返回值函数两者在主函数中的调用是不同的…………更重要的是,这次课程设计虽然花了我不少时间,但正是这些时间,让我见识到了C语言的重要性。这个学生成绩管理系统都是在自己知识范围内完成的,所以界面清晰简单,可能不是很好看,但绝对实用!从这里我也得到一个体会,做一个程序,或者开发一个软件,应该着重从它的后台制作入手,不能做出一个中看不中用的程序或者软件。相信这次的课程设计为我以后继续从事计算机工作打了一个小小的开头。由于这是第一次进行设计,写文档,难免会写得不好!通过此次C语言程序设计实践,本人实在是获益不浅!C语言是这个学期开的课程,但这个学期并没怎么看过,当要开始设计的时候,还真不知从哪下手!结果,第一次的上机,我傻坐着不知道该做什么,后来就写了几个预处理命令。回去以后,我想,这样不行,这样下去还得了!我就重新复习了一遍我们这个学期学习的内容,发觉自已有许多都

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功