您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C课设报告-电子词典hnie
课程设计报告课程名称《C语言程序设计》课题名称电子英汉词典设计专业计算机科学与技术班级学号姓名指导教师2011年7月8日湖南工程学院课程设计报告-2-课程设计任务书课程名称《C语言程序设计》课题电子英汉词典设计专业班级计算机科学与技术学生姓名学号2130指导老师审批任务书下达日期2011年6月8日任务完成日期2011年7月8日湖南工程学院课程设计报告-3-一、设计内容与设计要求1.课程设计目的:全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计打下较扎实的基础。2.课题题目⑸电子英汉词典设计3.设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。具体要求如下:⑴设计课题题目:每位同学根据自己学号除以8所得的余数加一选择相应题号的课题。原则上不予换提,私自换题者不记成绩。⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求;输入输出的要求。②完成系统概要设计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。③完成系统详细设计:包括采用C语言定义相关的数据类型;写出各模块的类C码算法;画出函数的调用关系图。④调试分析、设计体会、测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。⑤关键源程序(带注释)⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。湖南工程学院课程设计报告-4-二、进度安排第20周星期日8:30——11:30星期一8:30——11:30星期二14:30——17:30星期三8:30——11:30设计课题五:电子英汉词典设计一、问题描述:英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子英汉词典的功能,如:单词的查找、增词、删除、修改和维护等工作。二、功能描述:1、在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英汉词典的查找、增词、删除、修改和维护工作。2、词典的内容为:每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。3、对单词和释义字符串长度的限定分别为不少于20个与40个字符,词条数限定为不多于200条。4、采用菜单工作方式。在一个操作执行之后,程序询问是否继续执行该操作。如输入Y或y,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一次选择。仅当选择退出操作时,程序应询问湖南工程学院课程设计报告-5-是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。5、要求整个设计以人为本,用户界面友好。三、算法提示:1、数据结构:结构体数组2、简单的程序设计3、友好的窗口菜单的设计四、测试数据:要求被选用的词条有200个左右,以中学的单词为主。五、其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。湖南工程学院课程设计报告-6-目录1.系统需求分析...............................................................................................................72.总体设计.......................................................................................................................13.详细设计.......................................................................................................................14.系统调试.......................................................................................................................15.结果分析.......................................................................................................................16.总结...............................................................................................................................1湖南工程学院课程设计报告11系统需求分析(1)程序的功能英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子英汉词典的功能,如:单词的查找、增词、删除、修改和维护等工作。在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英汉词典的查找、增词、删除、修改和维护工作。词典的内容为:每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。对单词和释义字符串长度的限定分别为不少于10个与15个字符,词条数限定为不多于1000条。(2)输入输出的要求。采用菜单工作方式。在一个操作执行之后,程序询问是否继续执行该操作。如输入Y或y,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一次选择。仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。整个设计以人为本,用户界面友好美观。湖南工程学院课程设计报告21.总体设计一、程序共有五个子函数和一个主函数。1.search是查找函数,用户通过系统提示输入要查找的单词,只要单词库中含有此单词便能找到相应的中文解释。这个查找函数使用的是从头到尾的线性查找发,虽然查找效率在数据很大上午时候无法容忍的。但是因为这里涉及的数据量很小,使用线性查找对系统性能没有很大的损害。2.add是增加函数,用户可通过此函数来增加单词库单词的数量。3.modify是修改函数,程序提示用户输入要修改的单词,还是用线性查找的方法查找相应的纪录,如果找到,则提示输入新单词及中文解释。4.delete是删除函数,程序提示用户输入要删除的单词,使用线性查找的方法找到相应的纪录,如果找到,提示用户确认删除才做。在得到确认后,删除这个单词的纪录。5.主程序通过无限循环来接收输入的命令,并且根据命令调用相应的函数处理。二、课题中涉及到的数字主要是英文单词,和数据1-4,它们都属于字符型数据,它们的结果还应该是字符型。湖南工程学院课程设计报告32.详细设计NYNY开始显示主菜单输入数字选项命令设置字典查询词条新增词条编辑词条删除词条退出字典修改文件存储目录输入单词输出找到的单词和释意字典内存在修改成功输出不存在输入单词和意思保存修改词意保存删除特定的单词结束湖南工程学院课程设计报告43.系统调试调试此程序花了很大的时间和精力!其中发现一个并独立解决一个关于操作系统的问题,开始在实验室编写调试,把程序编译好后,拿回来在寝室笔记本上运行老提示出错如图3.1图3.1程序出错界面这个问题困扰了我很久,也傻傻的在笔记本上安装了一个虚拟机软件装了一个XP花一个多小时,可最后发现在虚拟机中的XP并不能像想象中的那么工作,没办法只能另外想办法,冷静下来后,想到WIN7和XP的新变化,出现这个错误很可能是操作系统的问题,开始以为是要读写的那个数据文件没有成功创建,所以人为的新建了一个TXT文件,可是在C盘目录下,不允许新建任何文件,只能新建文件夹如图3.2可以看到没有新建文本文件这个选项。湖南工程学院课程设计报告5图3.2WIN7下对C盘的文件操作截图到这里我还没有发现问题的关键,直到我复制在别的盘新建的那个TXT到C盘时提示了这个对话框,如图3.3图3.3复制文件提示的对话框突然像被雷打了一眼意识到WIN7的操作系统保护机制很高,不允许对C盘有绝对的访问权限需要管理员权限,我的这个小程序当然没权限访问C盘,所以才会有如图3.1的出错提示!按照这个思路我再次运行程序,选择0,设置字典。如图3.4设置程序的数据文件在e盘奇迹发生了!字典可以正常运行完美的运行了!这让我意识到,盲目的解决问题是不可取的!湖南工程学院课程设计报告6图3.4设置程序的数据文件在e盘在编写初期,没有重视头文件的重要性程序开始时如下#includeconio.h//基本的库函数#includestdio.h#includestdlib.h#includestring.h//此行被忽略#defineszWORD32#defineszSTRN224#defineszITEMsizeof(structTItem)charfileDict[szSTRN];结果提示如下F:\作业\C语言\课程设计调试缓存\maobo.cpp(31):errorC2065:'strcmp':undeclaredidentifierF:\作业\C语言\课程设计调试缓存\maobo.cpp(32):errorC2065:'strcpy':undeclaredidentifierF:\作业\C语言\课程设计调试缓存\maobo.cpp(45):errorC2065:'memset':undeclaredidentifier湖南工程学院课程设计报告7F:\作业\C语言\课程设计调试缓存\maobo.cpp(105):errorC2065:'strstr':undeclaredidentifierErrorexecutingcl.exe.maobo.exe-4error(s),0warning(s)确实是很低级的错误!应当避免的!其中还有很多逻辑错误比方说添加单词的时候对文件的写入会出错,因为对文件的打开权限不对!遇到了很多前所谓见的问题,极大的考验了耐心,毅力!当一次次编译提示有错,一次次报警!确实很不是滋味!但是当最终那悦耳的一声无错提示,真的很开心!几乎什么话都不要说了!很满足!、湖南工程学院课程设计报告84.结果分析对此次的程序改了又改,追求精益求精,本来刚开始时计划是编写成一个windows应用程序,也就是可是化的,不是这种黑底白字的类似DOS的程序,但担心不予通过,加之学习windows编程不很熟练,很多关键性的技术难题还得不到解决,(课余时间学习过杨中科老师的C语言也能干大事,是一门挺不错的课程,是在如鹏网上的教学资源,讲述的就用C语言编写实际应用的可视化应用程序,类似计算器,音乐播放器,网页论坛……)此次设计参考了很多前辈的精华,其中涉及到很多文件的操作,老师只简单的讲过真正用起来困难还是很大的,只能借鉴前辈的思路和用法,关于数据的存储和读取,关于系统细节的设计,此次设计让我最满意的是人性化得界面和使用体验,我通过QQ总计发送了12份程序给我12个不同的同学,除个别女生对计算机不敏感,其他同学反馈的意见都是好用和夸奖!这证明设计是成功的!唯
本文标题:C课设报告-电子词典hnie
链接地址:https://www.777doc.com/doc-3942773 .html