C语言课程设计电子生词库软件.docx
- 文档编号:12278708
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:24
- 大小:290.93KB
C语言课程设计电子生词库软件.docx
《C语言课程设计电子生词库软件.docx》由会员分享,可在线阅读,更多相关《C语言课程设计电子生词库软件.docx(24页珍藏版)》请在冰豆网上搜索。
C语言课程设计电子生词库软件
程序设计基础实训任务书
题目:
电子生词库软件
学生姓名:
学号:
班级:
题目类型:
软件工程(R)指导教师:
一、设计目的
1.进一步掌握和利用C语言进行程序设计的能力;
2.进一步理解和运用结构化程序设计的思想和方法;
3.初步掌握开发一个小型实用系统的基本方法;
4.学会调试一个较长程序的基本方法;
5.学会利用流程图或N-S图表示算法;
6.掌握书写实训开发文档的能力(书写实训报告);
二、设计任务及内容
根据需要,建立属于自己的生词库,这样使用起来很方便。
生词选自本人经常需要的单词,对于英文单词,给出中文含义,对于中文单词给出英文含义。
功能要求:
(1)创建生词库。
用文件建立一个单词库,中英文单词均有,对于英文单词,给出中文含义,对于中文单词给出英文含义。
(2)显示词库。
显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词时按字母从小到大顺序排列。
(3)编辑词库。
首先确认密码后允许添加新词、删除旧词和修改旧词。
(4)查找生词。
显示所要查找的单词其及含义
主菜单和子菜单能够循环出现,每一项菜单执行之后,询问用户是否继续进行。
从子菜单可以返回主菜单。
三、设计要求
1.用C语言实现系统;
2.系统具有统计、查询、排序等基本功能;
3.系统的各个功能模块要求用函数的形式实现;
4.文档:
实训说明书每个学生一份,并装在统一的资料盒中;
5.光盘:
每个学生文档和程序资料分别建在一个以自己学号和姓名命名的文件夹下,并要求每班负责人汇总每个学生的文件放在以班级姓名命名的文件夹下,刻录成一张光盘,放在一个专门的资料袋中。
四、提交的成果
1.设计任务书一份(学校统一格式)
2.设计说明书一份,内容包括:
1)中文摘要100字,关键词3-5个。
2)实训题目、内容、要求。
3)总体设计(包含几大功能模块)。
4)详细设计(各功能模块的具体实现算法——流程图)
5)数据结构设计描述,各模块(函数)的功能介绍,参数说明等。
6)调试分析(包含各模块的测试用例,及测试结果。
)
7)总结(实训完成了哪些功能,还有哪些地方需要改进,及通过实训有何收获,调试程序的体会等)
8)参考文献、致谢等。
五、主要参考资料
1.王连相《C/C++程序设计》武汉大学出版社
2.谭浩强《C语言程序设计(第2版)学习指导》清华大学出版社
3.杨莉,龚义建《C语言程序设计实训指导教程》华中科技大学出版社
4.张小东,郑宏珍《C语言程序设计与应用》人民邮电出版社
5.郭翠英《C语言课程设计案例精编》中国水利水电出版社
6.郭有强《C语言程序设计》清华大学出版社
7.李丹程,刘莹,那俊《C语言程序设计案例实践》清华大学出版社
8.李丽娟《C语言程序设计教程》人民邮电出版社
9.武雅丽,王永玲,解亚利《C语言程序设计》清华大学出版社
六、各阶段时间安排(共1周)
日期
内容
地点
完成情况
教师签字
星期一
教师讲解设计要求,准备参考资料
实验室
按期完成
星期二
分析系统,方案设计
实验室
按期完成
星期三
方案设计,编程
实验室
按期完成
星期四
调试程序,书写实训说明书
实验室
按期完成
星期五
完成实训说明书,答辩
实验室
按期完成
摘要
C语言是一种计算机程序设计语言。
它既有高级语言的特点,又具有汇编语言的特点。
它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛。
根据课程设计要求使用C语言设计了此电子生词库软件,使用较为简单方便。
该软件生词库为使用者本人创建,软件使用过程中可以进行词库的编辑维护。
生词库包含中英文单词,软件具有查找单词功能可以进行中英文单词的查找。
对于英文单词,给出中文解释,对于中文单词给出英文解释。
关键词:
生词库;编辑;查找
Abstract
C languageisa computerprogramminglanguage. It hasboththecharacteristicsofhigh-levellanguage, butalsohasthecharacteristicsof assemblylanguage. Itcanbeusedas systemdesignlanguage, preparationofsystemapplications, butalsocanbeusedasa programminglanguage, theapplication writingdoesnotrelyoncomputerhardware. Therefore, itsapplicationrangeisextensive. Accordingtothe designrequirementsfor theuseofClanguage todesign the electronic machine software, theuse issimpleandconvenient. The software for theuser lexiconcreation,software processcanbe thesaurus editandmaintenance.Students inthe English lexicon contains words, softwarehas tofindwords tosearch for words in english. For English words, giventheChinese explanation, for Chinese wordgiven Englishinterpretation.
Keywords:
edit; lookup; dictionary
致谢28
1概述
题目内容
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
它由美国贝尔研究所的于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
运用C语言,设计编写一个电子生词库软件。
该生词库软件可根据使用者需要,建立属于使用者自己的生词库,生词库软件使用过程中应简单易用。
生词库中生词选自本人经常需要使用的单词。
在生词库软件中对于英语单词,给出中文含义,对于中文单词给出英文含义。
要求
(1)创建生词库。
用文件建立一个单词库,中英文单词均有,对于英语单词,给出中文含义,对于中文单词给出英文含义。
(2)显示词库。
显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词时按字母从小到大的顺序排列。
(3)编辑词库。
首先确认密码,后允许添加新词,删除旧词和修改旧词。
(4)查找生词。
显示所要查找的单词及其含义。
主菜单和子菜单能够循环出现,每一项菜单执行后,询问用户是否继续进行。
从子菜单可以返回主菜单。
在主菜单中选择0:
显示结束信息。
按任意键后退出主序。
设计目的
1.进一步掌握和利用c语言进行程序设计的能力;
2.进一步理解和运用结构化程序设计的思想和方法;
3.初步掌握开发一个小型实用系统的基本方法;
4.学会调试一个较长程序的基本方法;
5.学会利用流程图或N-S图表示算法;
6.掌握书写实训开发文档的能力(书写实训报告);
C语言是一种结构化语言。
它层次清晰,便于按模块化方式组织程序,易于调试和维护。
C语言的表现能力和处理能力极强。
它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。
它还可以直接访问内存的物理地址,进行位(bit)一级的操作。
C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX、windows98.windowsNT;也适用于多种机型。
C语言具有强大的绘图能力,可移植性好,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。
C语言具有很多特点,如简洁紧凑、灵活方便:
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。
把高级语言的基本结构和语句与低级语言的实用性结合起来。
C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单位。
运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符。
C语言把括号、赋值、强制类型转换等都作为运算符处理。
从而使C语言的运算类型极其丰富,表达式类型多样化。
灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
通过上机训练,更加深刻的理解C语言中的知识点,加深对课堂讲授内容的理解更好的了解了一些关于C语言的知识,理解巩固了C语言的理论知识。
学习上机调试程序熟悉程序开发环境、学习计算机系统的操作方法。
2总体设计
该程序采用模块化设计,主要分为主模块,创建生词库模块,编辑词库模块,显示词库模块,查找生词模块。
用户通过主模块对其余各模块进行调用,实现软件功能。
图程序模块关系图
主模块具备显示主菜单功能,用户对主菜单提供的功能进行选择后,主模块调用所需功能模块,实现相应功能,如图所示。
开始
显示主菜单
输入choose的值
choose=
程序结束
调用
CJ
调用CZCC
调用XG
调用XSCK
调用SC
调用BJCK
调用TJ
非法选项
继续吗yesno
yesno=n或y或Y或N
yesno=y或Y
结束束
真
假
其他
图主模块函数调用图
voidmain()
{
intchoose;
while
(1)
{
printf("|------------------------------------|\n");
printf("|请输入选项编号(0--4)|\n");
printf("|------------------------------------|\n");
printf("|1--创建生词库|\n");
printf("|2--显示词库|\n");
printf("|3--编辑词库|\n");
printf("|4--查找生词|\n");
printf("|0--退出系统|\n");
printf("|------------------------------------|\n");
printf("请输入选项\n");
scanf("%d",&choose);
if(choose>5||choose<0)
{
printf("输入错误,请重新输入");
continue;
}
switch(choose)
{case1:
CJ();;break;
case2:
XSCK();break;
case3:
BJCK();;break;
case4:
CZCC();break;
case0:
exit(0);
default:
printf("非法输入!
");}
}
3详细设计
主函数主要功能为调用各功能模块,功能模块共四个,分别为创建生词库模块,编辑词库模块,显示词库模块及查找生词模块。
创建函数
创建函数功能为为用户创建生词库,并对存入单词进行存记录处理。
存入单词按英汉单词及汉英单词进行保存。
入口
输入1
输入E或C
进入文件
创建单词
存记录
出口
真
假
图创建函数图
voidCJ()ord);
printf("请输入中文的解释:
\n");
scanf("%s",EH[i].explain);
fprintf(fp,"%10s%10s",EH[i].word,EH[i].explain);
printf("操作成功!
你要继续吗(Y/N)\n");
fflush(stdin);
yn=getchar();
if(yn=='n'||yn=='N')
{fclose(fp);
return;}
if(yn=='y'||yn=='Y')
{while
(1)
{
i++;
printf("请输入英文单词:
\n");
scanf("%s",EH[i].word);
printf("请输入中文的解释:
\n");
scanf("%s",EH[i].explain);
fprintf(fp,"%10s%10s",EH[i].word,EH[i].explain);
printf("操作成功!
你要继续吗(Y/N)\n");
fflush(stdin);
yn=getchar();
if(yn=='n'||yn=='N')
break;
}
}
fclose(fp);
return;
}
显示函数
显示函数主要功能为显示词库中单词,包含显示所有单词功能,显示英文单词功能,显示中文单词功能。
图显示函数图
voidXSCK()
入口
输入查询方式
按英文查找
按中文查找
调用cze
调用czc
出口
提示非法
E
c
假
ord,dc[n].explain);
++n;}
fclose(fp);
do
{
printf("请输入你想要查找的单词!
\n");
fflush(stdin);
gets(word);
for(i=0;i { if(strcmp(word,dc[i].word)==0) { printf("该单词的英文释义是: %s\n",dc[i].explain); k=1; break; } } if(k<0) printf("没有该单词\n"); printf("你想继续继续吗(Y/N)\n"); fflush(stdin); yn=getchar(); while(yn! ='y'&&yn! ='Y'&&yn! ='N'&&yn! ='n') { printf("要继续查找吗请重新输入! \n"); fflush(stdin); yn=getchar(); }; }while(yn=='Y'||yn=='y'); fflush(stdin); fclose(fp); } voidczc()ord,dc[n].explain); ++n;} fclose(fp); do { printf("请输入你想要查找的单词! \n"); fflush(stdin); gets(word); for(i=0;i { if(strcmp(word,dc[i].word)==0) { printf("该单词的英文释义是: %s\n",dc[i].explain); k=1; break; } } if(k<0) printf("没有该单词\n"); printf("你想继续继续吗(Y/N)\n"); fflush(stdin); yn=getchar(); while(yn! ='y'&&yn! ='Y'&&yn! ='N'&&yn! ='n') { printf("要继续查找吗请重新输入! \n"); fflush(stdin); yn=getchar(); }; }while(yn=='Y'||yn=='y'); fflush(stdin); fclose(fp); } 4调试与测试 对生词库软件所有功能进行测试,以检验生词库软件是否可靠,是否可以良好运行。 创建英文词库 运行程序后使用建立生词库功能,以英文单词“applecat”为例创建英文词库 图创建创建英文词库图 创建中文词库 使用建立生词库功能,以中文单词“狗”为例创建中文词库 图创建中文词库图 显示所有单词 运行显示词库功能中显示所有单词功能 图显示所有单词图 显示中文单词 运行显示词库功能中显示所有中文功能 图显示中文单词图 显示英文单词 运行显示词库功能中显示所有英文功能 图显示英文单词图 查找英文单词 运行查找生词功能,查找英文单词“apple” 图查找英文单词图 查找中文单词 运行查找生词功能,查找中文单词“狗” 图查找中文单词图 退出程序 在主界面执行退出系统功能 图退出程序图 5结论 忙碌了一个星期,在大家的共同努力下,我们总算将此程序设计出来。 尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可待。 另外平时扎实的基础也很关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。 为了解决此类问题,最好就是多向同学,老师请教,不要怕难为情。 尤其是老师,评他们多年的编写程序的经验,要解决我们的问题,对他们来说只是smallcase。 在设计这个程序时,也遇到过很多问题,但在大家的共同努力下,问题最终都得以解决。 从这一个多星期的设计过程中,我看到了大家的拼搏与努力,也让我知道团队精神得难能可贵,尽管一年下来大家不怎么有多大接触,但是彼此之间的友谊已经在我们心里扎根生底,在遇到问题时,我们会共同进退,每个人都很慷慨不会因为是通过自己艰辛劳动设计出来的东西而不准他人剽窃了。 总之,这次设计程序让我受益良多,我会好好珍惜像这种难得的机会。 参考文献 [1]薛小龙.深入体验C语言项目开发.清华大学出版社,2011 [2]刘立君.C语言程序设计习题集.科学出版社,2011 [3]黎明志.乐在C语言.人民邮电出版社,2013 [4]高文才.C语言程序开发范例宝典.人民邮电出版社,2012 [5]袁薄佳.C语言程序设计.华中科技大学出版社,2007 [6]王立柱.C语言程序设计.机械工业出版社,2011 [7]李丹程.C语言程序设计案例实践.清华大学出版社,2009 [8]李丽娟.C语言程序设计教程(第二版).人民邮电出版社,2009 [9]曹飞飞.C语言开发宝典.机械工业出版社,2012 [10]郭有强.C语言程序设计.清华大学出版社,2009 致谢 为期一个星期的课程设计结束了,在课程设计过程中,遇到了很多或难或易的问题。 首先感谢XXX老师,感谢她一学年来对我们学习的悉心教导,同时也感谢同学们在程序设计过程中给予我们的无私帮助。 通过本次课程设计,我们获益匪浅。 一星期的课程设计,让我们利用c语言进行程序设计的能力得到大幅提高,使个人能力编程能力得到极大改善,团队合作能力得到大大提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 电子 生词 软件