1、1课 程 设 计 报 告课程名称 C 语言课程设计 课题名称 电子英汉词典 专 业 纺织服装学院 班 级 纺工 1203 学 号 姓 名 指导教师 田 媛 2014年 01 月 06 日2湖南工程学院课 程 设 计 任 务 书课程名称 C 语言课程设计 课 题 电子英汉词典 专业班级 纺工工程 学生姓名 学 号 指导老师 田媛 审 批 任务书下达日期 2013 年 12 月 26 日任 务 完 成 日 期 2014 年 01 月 06 日3一 、 设 计 内 容 与 设 计 要 求1设计内容:课题一:电子英汉词典。具体内容见附录。2设计要求:1)设计正确,方案合理。2)界面友好,使用方便。3)
2、程序精炼,结构清晰。4)上机演示。3设计报告要求:课程设计报告格式如下:1)正文的格式:一级标题用 3号黑体,二级标题用四号宋体加粗,正文用小四号宋体,行距为 22。 2)正文的内容:课题的主要功能、课题的功能模块的划分、主要功能的实现、程序调试、总结、附件(所有程序的源代码,要求对程序写出必要的注释),课程设计报告需 5000字左右(不含附件)。3)课程设计报告装订顺序:封面、任务书、目录、正文、评分、程序清单附件。二 、 进 度 安 排星期日(17 周)星期一(18 周)星期四(18 周)星期五(18 周)星期日(18周)14:00-17:00 18:00-21:00 18:00-21:0
3、0 18:00-21:00 交报告上课时间另外安排上课时间另外安排。4附录:设计课题三:电子英汉词典一、问题描述:该设计实现简单电子英汉词典的功能,具体管理操作包括单词的添加、显示、查找、删除、修改和保存等。二、功能描述:1、本设计采用结构体数组,每个数据的结构应当包括:单词的英文拼写,单词的中文释义。2、系统功能:a.词条录入:即添加单词记录。b.信息显示:将所有的单词按字母顺序显示。c.词条修改:对已经输入的单词信息进行修改。d. 词条删除:删除某个单词记录。e.单词查询: 输入单词英文拼写,输出该单词的中文释义。f.信息保存:将单词信息保存到文件。g.退出系统3、系统使用说明:执行一个具
4、体的功能之后,程序将重新显示功能菜单。系统的功能并不限于上述,可以对其进行扩充完善,如在对信息进行修改和删除时,可以考虑系统的安全性,在执行前若输入正确密码,才可进行操作。三、测试数据:要求被选用的词条有 30个左右,简单单词为主。5目录1.封面-12.任务书-22.1设计内容与设计要求-32.2附录-43.目录-54.课题的主要功能4.1 各函数的主要功能-64.2 课题功能模块的划分-7 4.3 主要功能的实现-74.3.1各被调用功能函数实现-85.程序调试-96.总结与体会-107.附件(源代码及程序运行截图)-118.评分表-206(一) 、课题的主要功能电子英汉词典设计系统能完成一
5、个简单的电子英汉词典的功能,这个系统有七个功能,如:查找、增加、删除、修改、浏览、维护、结束 。把这七功能编该成七个子函数。在主函数当中对这七个子数调用,来实现对整个系统的操作。本词典采用一个包含 50个数据结构数,每个数据的结构当包括,英文单词、中文意思。、各函数的主要功能1)程序的模块组成:主 函 数: main()初始化函数: init()输入函数 : scanf()输出函数: printf()删除函数: memset()查找函数 find()增加函数 add()删除函数 del()修改函数 modify()浏览函数 view()维护函数 store()结束函数 return()2) 各
6、个函数的主要功能:输入函数: 随时输入数据。菜单函数:显示系统主菜单。查找函数:能够随时查找某个单词增加函数:能够随时增加想要增加的单词删除函数:能够删除某单词信息修改函数:能随时修改单词信息浏览函数:能够浏览所有单词7(二) 、课题功能的模块的划分(三)、 主要功能的实现整个系统除了主函数外,另外还有 12个函数,实现七个功能:查找功能、增加功能、删除功能、修改功能、浏览功能、维护功能、结束功能。各个函数的详细设计说明如下:1、 主函数 main()通过 getch函数显示菜单,利用 switch语句实现各函数的调用,根据系统提示输入的数字选项来调用相应的函数。菜单界面find函数add函数
7、del函数 modify函数view函数store函数 return函数输出结果82、 查找函数()首先利用清屏函数对屏幕清屏,利用输入函数输入要查找的单词,如果找到则显示出所找的单词,再利用 getch()函数显示,按任意键返回主菜单,如果没有找到则显示出 not found,按任意键返回。3、增加函数 add()首先清除屏幕,找到一个空位利用输入函数输入要增加的单词,再判断该单词是否存在,如果存在,则显示“the word is already store”,不存在则输入该单词的意思进行存储,按任意键返回主菜单。4、删除函数 del()首先输入要删除的单词,如果找到则利用 memset函数
8、对它进行0覆盖,按任意键返回主菜单,如果没有找到,则显示 not found。5、修改函数 modify()首先清屏,输入要修改的单词,如果找到单词,则显示 found,并输入单词新的意思,存储之后再返回主菜单,如果没有找到则显示 not found,按任意键返回。6、保存函数 store()利用 fscanf函数将结构体数组中的数据保存到指定文件中。7、浏览函数 view()首先清屏,分页显示,每页显示 20个,读出结构体数组中的数据直至结束。9四、调试程序老实说本程序的代码我是借鉴别人的,虽然我过了二级 C,但我没把握自己完全原创,即使借鉴但用的时候难免出现这样那样的错误。如开始设计出来的
9、菜单不是预想的那样,而是总出现混乱,解决的这个问题的办法是调试。最后还是老师帮我找到了问题的所在,在这次的课程设计中,我们遇到了如下问题:有的不能加分号的加了分号,该加的又没有加,在 TC下的程序有些函数不能在 VC下运行,这些问题通过同学们的分析讨论都一一解决了,而遇到的最大的问题是:运行结果不正确,后来经过老师的指点,后来自己调试终于运行出结果,经过美化界面修改整理代码终于完工!如:clrscr()函数(清屏函数)只能在 TC下运行,而源代码中有大量 clrscr()函数,在 VC下的的清屏函数是 system(“cls”)这时就可以用宏定义来解决:define clrscr() syst
10、em(“cls”)一个系统的菜单和提示信息非常重要。如果没有这些用户根本不知道怎么用你设计的这个系统。在设计的调试过程中也无法顺利的完成调试工作。有了一个清晰简单的菜单和一些提示信息这后,调试过程完成的非常顺利。10五、总结课程设计是培养学生综合运用所学知识,发现, 提出 ,分析和解决实际问题,锻炼实践能力的重要环节, 是对学生实际工作能力的具体训练和考察过程. 随着科学技术发展的日新月异,当今计算机应用在生活中可以说是无处不在。因此,作为二十一世纪的大学生来说掌握计算机开发技术是十分重要的。回顾起此次课程设计,至今我仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,经过一周的课程设计
11、,虽然甚是辛苦,但我却学到了许多东西,不仅巩固了以前所学过的知识,而且学到了很多在书上所没有学到过的知识,使我自己对 C 语言又有了重新的认识,觉得它十分的重要,但掌握它又不是一件容易的事。只有通过自己不停的思考,不断的上机实践。才能够比较熟练的掌握好,在其中我们遇到了比较多的困难,因为其中有些知识我们并没有学到过,要自己去查找资料来完成。在设计过程中遇到问题,可以说是困难重重,因为毕竟是第一次做的,难免会遇到各种各样的问题,同时在设计过程中发现了自己的不足之处,对以前的所学过的知识理解的不够深刻,掌握的不够牢固。通过这次课程设计之后,觉得以前学过的知识要重新温习才能够达到查漏补缺的效果。刚开
12、始听说我们要设计英汉电子词典时心里真的是没有一点底,毫无思绪,无从下手,毕竟 C 语言才刚学一年就要编写如此复杂的应用程序。但参考了一些资料和与几个有经验的学长们讨论后,编写思路才漫漫清楚,开始了解它的基本方式和操作方法。在不太熟悉的部分,我们能够充分利用自己的自学能力,发挥它,以及在设计过程中的团队作用,提高自己解决问题的能力。在设计程序是也增加了自己的实践能力,通过翻阅有关文献获得了些自己原来不了解的知识。从接触 C 语言到了解 C 语言是一个过程,是自身学习的过程更是一段由量变到质变的过程。俗话说师傅领进门,修行靠个人。在编写过程中遇到的不解和麻烦都基本上是通过自身的反复琢磨和学长的帮助
13、而解决的。通过这段时间的课程设计,我认识到 C 语言是一门比较难的课程。需要多花时间上机练习,这次的程序训练培养了我的实际分析问题的能力,实际编程能力。随着程序的逐渐完善,自己也在慢慢进步,达到了预期目的。这次课程设计终于完成了,在设计中遇到了许多的问题,但在老师的指导下,终于迎刃而解,同时,对给过我帮助的所有同学和各位指导老师再次感谢。 11六、程序代码#include “stdio.h“ #include “conio.h“ #include “string.h“#include “stdlib.h“#define clrscr() system(“cls“) /*将 TC下的清屏函数替换
14、为 VC下的清屏函数*/typedef struct char a20; char b40;XYZ; XYZ xyz50; void init() /*初始化函数*/int i;FILE *fp; for (i=0;inn“); printf(“ *“);printf(“ * 1、单词查询 * n“); printf(“ * 2、词条录入 * n“);printf(“ * 3、词条删除 * n“);printf(“ * 4、词条修改 * n“);printf(“ * 5、信息显示 * n“);printf(“ * 6、信息保存 * n“);printf(“ * 7、退出系统 * n“);pri
15、ntf(“ *“);printf(“nnn 非本人授权严禁分享!“);key=getch();switch(key) case 1:find();break;case 2:add();break;case 3:del();break;case 4:modify();break;case 5:view();break;case 6:store();break;case 7: return 0; 16return 0;功能显示:0主菜单171 单词查询2词条录入183词条删除19成功失败4 词条修改205信息显示216 信息保存计算机科学与技术系课程设计评分表课程名称: C 语言程序设计 项 目 评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩22教师签名: 日 期: 2014.01.10