1、电子英汉词典设计1一、课程设计的内容电子英汉词典设计一、问题描述:英汉词典作为一个常用的学习工具,是我们经常要使用的。该系统能完成一个简单的电子英汉词典的功能,如:单词的查找、增词、删除、修改和维护等工作。二、功能描述:1、在计算机中建立有限规模的电子英汉词典文件,利用程序实现电子英汉词典的查找、增词、删除、修改和维护工作。2、词典的内容为:每行对应一个词条,每个词条由两个字符串组成,字符串用假如干空格符分开;前一个是单词字符串英文,后一个是释义字符串中文,使用分号作为多个释义的分隔符无空格。3、对单词和释义字符串长度的限定分别为不少于20个与40个字符,词条数限定为不多于200条。4、采用菜
2、单工作方式。在一个操作执行之后,程序询问是否继续执行该操作。如输入Y或y,如此重复同一操作,不退回到菜单;如输入其它信息,如此回到菜单等待另一次选择。仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。5、要求整个设计以人为本,用户界面友好。二、课程设计的要求与数据1、进一步掌握和利用C语言进展程设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的根本方法;4、学会调试一个较长程序的根本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程序设计开发文档的能力。三、课程设计应完成的工作1、编写完成相应题目的程序
3、;2、编写课程设计报告,课程设计报告的内容应包括以下6个局部:1) 需求分析:包括设计题目、设计要求以与系统功能需求分析;2) 总体设计:包括系统总体设计框架和系统功能模块图;3) 详细设计:包括主要功能模块的算法设计思路以与对应的工作流程图;4) 调试分析过程描述:包括测试数据、测试输出结果,以与对程序调试过程中存在问题的思考列出主要问题的出错现象、出错原因、解决方法与效果等,适当的包含结果截图;5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改进?课程设计过程中的学习体会与收获、对本次课程设计的认识以与自己的建等内容;6) 附录:主要源程序代码,含必要的注释。3、辩
4、论:在实验室建立程序运行的环境,并在指导教师的监视下,独立解决问题、运行程序和回答教师提出的问题四、课程设计进程安排序号设计各阶段内容地点起止日期1下达任务书,说明设计要求;收集资料实验3#5172总体方案设计、详细设计实验3#5173编写程序,调试分析实验3#5174撰写报告并上交,辩论实验3#517五、应收集的资料与主要参考文献1谭浩强.C程序设计(第三版)M2谭浩强. C程序设计题解与上机指导第三版M3 李春葆 曾平 X斌。C+语言程序设计题典第一版 清华大学 2003年4月5 X振安 X燕君 C+程序设计课程设计第一版 机械工业 2004年8月发出任务书日期:2007年 6 月 18
5、日 指导教师签名:计划完成日期: 2007年 6 月 22 日 基层教学单位责任人签章:主管院长签章:1设计目的与要求1页码2总体设计2页码3详细设计 23页码 2-3页码查询单词功能模块 2 页码添加单词功能模块 3页码删除单词功能模块 3 页码 3页码4调试分析 4-5页码5总结 6页码6 附录6-10页码6辩论记录正文处请留出适当空白 11页码7指导教师意见正文处请留出十行空白 11页码1目的与要求课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进展有机结合,锻炼学生分析、解决实际问题的能力,提高学生项目开发与程序调试能力。课程设计为学生提供了一个既
6、动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进展有机结合,锻炼学生分析、解决实际问题的能力,提高学生项目开发与程序调试能力。1总体要求对系统进展功能模块分析、控制模块分析正确;系统设计要实用;编程简练,可用,功能全面,具有较好的健壮性;说明书、流程图要清楚。(2)课程设计报告要求需求和规格说明:问题描述:题目要解决的问题是什么?设计设计思路:主要算法思想。总体设计:程序设计组成框图、N-S流程图。详细设计:模块功能说明如函数功能、入口与出口参数说明,函数调用关系描 述等。调试与测试:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论 和分析;改良设想;经验和体会等。
7、附录:源程序清单和结果。如果题目规定了测试数据,如此结果要包含这些测试数据和 运行输出,当然还可以含其他测试数据和运行输出;清单中应有足够的注释。 页码12 总体设计3 详细设计内容可以适当调整,清晰的有条理的把你的设计思路表达出来查询单词功能模块页码2添加单词功能模块删除单词功能模块1建立单词数据库包含英文单词、中文意思解释2用fopen函数访问单词数据库文件。3还用到标准的输出输入函数,按需输出输入或删除数据。页码34 调试分析查询单词: 输入:preciatian屏幕显示:输出结果:sorry do not find what you want 二添加单词:选择2功能输入你想添加的单词:
8、Hello输入它的意思:你好屏幕显示: 页码4输出结果是:add word success三:删除单词:输入你想要删除的单词:Hello屏幕显示:输出结果是:delete word success 页码55 总结虽然这次的课程设计有些功能实现的不是很好,总的来说这次课程设计效果还是可以的,在短短的两天时间内,我们看的书的数量是非常多的,很多没见过的函数都学了,但是自学确实是很难,很多函数虽然用的语法没错,但是不能应用自如,为自己所用。这只能说明自己还需加把努力,希望在以后的学习中得到大的进步。通过课程设计使握进一步掌握和利用C语言进展程设计的能力;进一步理解和运用结构化程序设计的思想和方法;初
9、步掌握开发一个小型实用系统的根本方法;学会调试一个较长程序的根本方法;而且通过这次课程设计让我学会了认真的精神态度是多么的重要,认真思考对学习的重要性。 这个程序完全是个人所做,望教师给以批评和建议!#include #include #include #include #include void Search() /*查找单词*/ FILE *fp; char insert20; char word40; printf(Please input the word you want:n); ges(insert); fp=fopen(wordcage,r); if(fp=NULL);/*没有找
10、到文件*/ printf(nnSorry do not find what you want.nn); fclose(fp); return ;while (!feof(fp)/*查询单词词库*/fread(&wordcage,sizeof( wordcage),1,fp); printf(%s,word); 页码6 fclose(fp); void addword()/*添加单词*/ FILE *fp; fp=fopen(wordcage,r);/*以读方式打开文件*/ if(fp=NULL) fp=fopen(wordcage,w);/*以写方式打开文件*/ else /*如果有单词添加*
11、/ fclose(fp); fp=fopen(wordcage,a);/*以追加方式打开文件*/ char insert20; printf(Inser the new word:n); gets(insert);printf(Givinig the meaning:n); scanf(%s,word); fclose(fp);printf(nnadd word success.nn); void worddel(); FILE *fp; Word *head,*p,*q; char word20; fp=fopen(Wordcage,rb);/*读方式打开文件*/ if(fp=NULL) p
12、rintf(Error!); 页码7 fclose(fp); return; head=p=q=(Word*)malloc(sizeof(Word);/*将文件内容放入链表*/ while(!feof(fp) q=p; p=(Word*)malloc(sizeof(Word); fread(p,sizeof(Word),1,fp); /*读记录*/ q-next=p;/*新记录插入到链表的尾*/ p-next=NULL;/*最后一个结点的后继为空*/ fclose(fp); clrscr(); printf(Input the word: );/*输入要删除的单词*/ gets(word);
13、/*输入单词*/ p=head; while(p!=NULL)/*按名字查找要删除的图书*/if(strcmp(p-name,word)=0)/*找到要删除的单词*/ if(p=head) /*如果是第一个结点*/ head=head-next; else q-next=p-next;/*不是第一个结点*/ break; q=p; /*指针后移*/ p=p-next; 页码 8 fp=fopen(Word.txt,wb);/*删除后从链表的头开始重新保存*/ while(head!=NULL) fwrite(head,sizeof(Word),1,fp);/*块写*/ head=head-ne
14、xt; fclose(fp); clrscr(); void cleanscrean() printf(nnnnnnnnnnnnnnnnnnnnnnnn); int main() int numble; MENU: printf(*MENU*nn); /*显示主菜单*/ printf(nn); printf(nn); printf( nn); printf(nn); printf(nn);printf(nn);printf(nn); printf(*n); do printf(Please choice form 1 to 7:n); /*选择你所要的功能*/ scanf(%d,&numble); 页码9while(numble8); switch(numble) case 1: Search(); goto MENU; case 2: addword(); goto MENU; case 3: worddel(); goto MENU; case 4: cleanscrean();return 0; case 5: break;case 6: goto MENU;break;case 7:break; return 0; 页码107 辩论记录序号问 题回 答123458 指导教师意见指导教师签名: 页码 11
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1