C语言电子词典程序设计.docx
《C语言电子词典程序设计.docx》由会员分享,可在线阅读,更多相关《C语言电子词典程序设计.docx(46页珍藏版)》请在冰豆网上搜索。
C语言电子词典程序设计
C语言电子词典程序设计
课程设计
设计题目:
电子词典
系别信息工程系班级计本083
学生姓名学号22
指导教师姜柳、吕海华职称讲师、讲师
起止日期:
2018年6月15日起——2018年6月26日止
沈阳工程学院
课程设计任务书
课程设计题目:
电子词典(第1组)
系别信息工程系班级计本075
学生姓名于满盛学号2018412322
指导教师姜柳、吕海华职称讲师、讲师
课程设计进行地点:
实训F
任务下达时间:
2018年6月15日
起止日期:
2018年6月15日起——2018年6月26日止
教研室主任姜柳2018年6月15日批准
一、课程设计的原始资料及依据
在运算机中建立有限规模的电子英汉词典,利用程序实现电子英汉词典的查找、增加、删除、修改等功能。
查阅有关资料,进一步明白得程序设计模块化的思想,并利用此思想编写一个简单的电子词典。
通过本设计能够加深明白得利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力。
二、课程设计要紧内容及要求
1.认真阅读资料,把握程序设计模块化的思想。
2.要求在设计的过程中,建立清晰的层次结构。
3.画出要紧的功能结构图和要紧模块的流程图。
4.实现功能:
⑴查找单词。
⑵增加单词。
⑶万年历
⑷修改单词。
⑸显示单词。
⑹储存单词。
⑺返回
⑻关心
⑼退出
5.要求操作简单,用户界面友好。
6.运行程序,检查结果是否和理论值一致。
7.环境使用Windows,TurboC环境。
三、对课程设计说明书撰写内容、格式、字数的要求
1.课程设计说明书是表达和总结课程设计成果的载体,要紧内容包括:
设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。
一样不应少于3000字。
2.在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.设计总结部分要紧写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的方法以及今后的目标。
4.课程设计说明书手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采纳A4纸,页边距均为20mm,正文采纳宋体小四号字,行间距18磅。
文中大标题采纳黑体小三号字,一级节标题采纳黑体四号字,二级节标题采纳黑体小四号字,表题与图题采纳宋体五号字。
5.课程设计说明书装订顺序为:
封面、任务书、成绩评定表、名目、正文、参考文献。
四、设计完成后应提交成果的种类、数量、质量等方面的要求
1.完成“任务书”中指定的功能,运行结果正确。
2.课程设计说明书。
五、时刻进度安排
顺序
时期日期
计划完成内容
备注
1
2007.06.18~19
阅读资料及系统分析设计
2
2007.06.20~22
程序编制
3
2007.06.25~28
程序编制、调试及运行
4
2007.06.28
成绩评定
5
2007.06.29
书写课程设计说明书
六、要紧参考资料(文献)
[1]谭浩强编著《C程序设计》(第二版)。
北京:
清华大学出版社,2005
[2]吴文虎编著《程序设计基础》(第3版)。
北京:
清华大学出版社,2005
[3]谭浩强编著《C程序设计》(第三版)。
北京:
清华大学出版社,2006
[4]C编写组常用C语言用法速查手册。
北京:
龙门书局,1995
[5]HerbertSchildt著王曦若、李沛译ANSIC标准详解。
北京:
电子工业出版社,1994
[6]郑莉董渊张瑞丰编著《C++语言程序设计》(第3版)。
北京:
清华大学出版社,2006
沈阳工程学院
程序设计基础课程设计成绩评定表
系(部):
信息工程系班级:
计本083学生姓名:
于满盛
指导教师评审意见
评判内容
具体要求
权重
评分
加权分
调研
论证
能独立查阅文献,收集资料;能制定课程设计方案和日程安排。
0.1
5
4
3
2
工作能力
态度
工作态度认真,遵守纪律,出勤情形是否良好,能够独立完成设计工作,
0.2
5
4
3
2
工作量
按期圆满完成规定的设计任务,工作量饱满,难度适宜。
0.2
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.5
5
4
3
2
指导教师评审成绩
(加权分合计乘以8)
分
加权分合计
指导教师签名:
年月日
评阅教师评审意见
评判内容
具体要求
权重
评分
加权分
查阅
文献
查阅文献有一定广泛性;有综合归纳资料的能力
0.2
5
4
3
2
工作量
工作量饱满,难度适中。
0.5
5
4
3
2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。
0.3
5
4
3
2
评阅教师评审成绩
(加权分合计乘以4)
分
加权分合计
评阅教师签名:
年月日
答辩小组评审意见
评判内容
具体要求
权重
评分
加权分
学生汇报
汇报预备充分,思路清晰;语言表达准确,概念清晰,论点正确,有层次,有重点,差不多上反映了所完成任务的全部内容;时刻符合要求。
0.5
5
4
3
2
答辩
思路清晰;回答问题有理论依据,差不多概念清晰;要紧问题回答准确,深入,有说服力。
0.5
5
4
3
2
答辩小组评审成绩
(加权分合计乘以8)
分
加权分合计
答辩小组教师签名:
年月日
课程设计总评成绩
分
摘要
运算机科学与技术是一门有用性专门强、进展极其迅速的面向宽敞社会的技术学科,它建立在数学、电子学(专门是微电子学)、磁学、光学、周密机械等多门学科的基础之上。
然而,它并不是简单地应用某些学科的知识,而是通过高度综合形成一整套有关信息表示、变换、储备、处理、操纵和利用的理论、方法和技术。
作为新世纪的大学生,应当站在时代进展的前列,把握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会进展的要求。
新世纪需要具有丰富的现代科学知识,能够独立解决面临的任务,充满活力,有创新意识的新型人才。
C语言是一种运算机程序设计语言。
它既有高级语言的特点,又具有汇编语言的特点。
它能够作为系统设计语言,编写工作系统应用程序,也能够作为应用程序设计语言,编写不依靠运算机硬件的应用程序。
因此,它的应用范畴广泛。
C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它说明型高级语言,有一些大型应用软件也是用C语言编写的。
C语言具有绘图能力强,可移植性,并具备专门强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。
它是数值运算的高级语言。
现在大多数的高校都把C语言作为第一门运算机语言进行教学,这是可行的,学生是能够学习好的。
在学习中,先要学习程序设计课程的目的把握设计程序的思路,学习会用运算机语言编写程序,以实现所需要处理的任务。
要正确处理算法与语法的关系,算法是程序的核心、是灵魂,语法是外壳、是工具。
不应把学习重点放在语法规则上,语法是重要的,不把握语法规则就无法编写出正确的程序。
一定要把重点放在解题的思路上,通过摸索,和大量的阅读,来构造一个完整的程序。
请记住:
重要的是学会编程,而不是背语法。
其次,要紧是学习程序设计的方法,进行程序设计的差不多训练,大多数的学生应该把精力放在最差不多,最常用的内容上,学好差不多功。
大学生是社会的一个专门群体,是指同意过大学教育的人,作为社会新技术、新思想的前沿群体、国家培养的高级专门人才,大学生代表年轻有活力一族。
我们当今大学生更应学好每一个学科,来迎接每依次挑战,面对改日,承担改日。
关键词电子词典,算法,结构体
摘要……………………………………………….….…………………...……………………I
第一章引言……………………………………………….….………………………………1
1.1题目背景……………………………………….…………….…………..……..………1
1.2题目目的......................…………….………………………..………………………....1
1.3解决问题......................…………….………………………..………………………....1
第二章使用工具…………..….………..….………………………………….…..….……….3
第三章系统分析与设置…………..….…………………………………….…..….………..4
3.1系统功能………………………………………………………………………………...4
3.2功能设计………..…………………………….…………………………...…………….4
3.2.1主控函数………..…………………………….…………………………...………..4
3.2.2修改单词………..…………………………….…………………………...………..8
3.3总流程图………………………………………………………………………………...10
第四章系统功能实现……………………………………………………………………….23
4.1主控函数……………………………………………………………………….……....25
4.2修改单词………..……………………….…………………………...………………..…26
总结………………………………………………………………………………..……..…….29
致谢…………………………………………………………………………..……..……..…..30
参考文献…………………………………………………………………………..……..…….31
第一章引言
1.1设计背景
随着现代科学技术的迅猛进展,运算机技术差不多渗透到各各领域,成为各行各业必不可少的工具,专门是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中更加显示出其专门的优势,步入信息化时代,有庞大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。
当今社会中,随着外语的全面普及,学习外语在每个国家差不多上专门流行的,学习外语的语种专门多,但最多人学习的依旧英语,明显,越来越多的关于学习英语的电子设备也随之产生。
因此,电子词典是必不可少的设备之一。
在系统设计过程中,我们尽量采纳易明白易读的人机界面,使用户能够在短期内完全把握英语词义。
而我们又始终把系统的正确性放在首位,力求数据的完整和处理的正确性。
在此基础上优化程序代码,加速系统运行和减少对系统资源的占用。
1.2设计目的
这次设计要紧是应用了C程序设计中的一些算法,还有一些函数的调用,结构体的应用等,依照他们的差不多思想来编写程序。
程序要紧包括的内容能够对单词进行查找、添加、修改、关心等操作。
通过本设计能够加深明白得利用程序设计思想开发一个系统的整个流程,从而提高分析问题、解决问题和实际动手的能力。
通过本设计能够加深明白得利用程序设计思想开发一个系统的整个流程,提高分析问题、解决问题和实际动手的能力为了人们能够更快的纪录其他人的联系方式,使人们不再因为记不住其他人的联系方式而苦恼。
1.3解决问题
电子词典系统是市场上常用的系统之一,它要紧包含以下几个模块:
查找,增加,删除,修改,扫瞄,爱护几大模块。
从而,实现对电子词典的全面使用。
从中又增加了万年历的功能。
这次课设,使我们对C语言的把握更加熟练,也解决了一些问题:
1、解决相关函数的使用。
2、解决储备文件的使用。
3、解决函数间的链接关系,使函数的调用更加方便灵活以及相关函数的使用。
4、解决对单个函数如何操作和各种按键的功能设置以及相关函数的使用。
5、解决对程序显示窗口的设置及对各种相关函数的使用。
第二章使用工具
C语言是在国内广泛使用的一种运算机语言。
C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此专门适合于编写编写软件。
C语言产生后,许多原先用汇编语言编写的软件,现在能够用C语言编写了,而学习和使用C语言要比学习和使用汇编语言容易得多。
近年来,C语言不仅为运算机专业工作者所使用,而且为宽敞运算机应用人员所喜爱和使用。
许多高校不仅在运算机专业开设了C语言课程,而且在非运算机专业也开设了C语言课程。
全国运算机等级考试、全国运算机应用技术认证书考试和全国各地区组织的大学生运算机统一考试都将C语言列入了考试范畴。
许多人用它编写应用软件。
学习C语言差不多成为宽敞运算机应用人员和宽敞青年学生的迫切要求。
由于C语言牵涉的要领比较复杂,规则繁多,使用灵活,容易出错,许多初学者感到困难,迫切期望学会、学明白、学精。
而在学校中,学习程序设计课程的目的是为了把握设计程序的思路,学会用运算机语言编写程序,以实现所需处理的任务。
要正确处理算法与语法的关系,算法是程序的核心、是灵魂,语法是外壳、是工具。
不应把学习重点放在语法规则上,语法是重要的,不把握语法规则就无法编写出正确的程序,然而只学会语法,甚至能把语法背得滚瓜烂熟,也不可能编写出好的程序。
一定要把重点放在解题的思路上,通过大量的题学习如何样设计一个算法,构造一个程序。
在学习开始时更我要在语法细节上死抠。
重要的是学会编写程序,而不是背语法。
学会看明白程序是关键。
程序设计是一门实践性专门强的课程,既要把握概念,又要动手编程,还要上机调试,要衡量这门课学习的好坏,不是看我们“知我明白”,而是看我们“会可不能干”。
要从学习的过程中积存体会,学会举一反三。
目前C语言集成开发环境有:
TurboC2.0(Dos平台上的C编译器)、gcc(GUNCCompile,UNIX以及Linux平台上的C/C++编译器)、DeveloperStudio(Windows平台上的C/C++编译器)。
下面要紧介绍TurboC2.0。
Borland公司在1981年推出C语言程序设计集成开发环境“TurboC2.0”年推出C,由于事实上用稳固的性能,一直长期工作应用在社会不同领域,得到社会各界的好评。
Borland公司在1981年推出C语言程序设计集成开发环境“TurboC2.0”有如下特点:
集编辑、编译、链接、调试、运行为一体;提供了一个菜单式界面,其初始界面。
不支持鼠标,光标的移动键以及一些编辑命令进行。
如图2-1所示。
图2-1主界面
这时,用上下移动光标将光标移向“New”处,按回车键,系统就进入编辑状态,光标停在编辑窗口的左上角。
这时就能够开始编辑一个新的源程序文件了。
如图2-2所示。
图2-2源程序编辑窗口
这时,能够按F10(或Alt+F)键,使光标回到菜单栏,再选择File菜单中的Save,就能够储存那个源程序文件了。
这时,系统将弹出。
如图2-3所示。
要求编辑者为个这源程序命名(给上述程序命名为ex101),并确定存放位置。
假如编辑者不生重命名,系统就以一个隐含的文件名“noname.c”来储存它,同时隐含地储存在TURBOC2文件夹中。
图2-3命名文件对话框
1.编辑(修改)一个原先的源程序文件
要编辑(修改)一个原先差不多有的源程序文件时,要在File菜单中选择Loac命令。
这时,系统就会弹出。
如图2-4所示。
要求用户在其中输入要编辑的源程序文件名。
输入后,按Enter键,系统就会将要重新编辑的源程序文件调入到编辑区内。
图2-4装入要编辑的源程序文件
为了方便用户,系统也承诺用户不为方便命名。
只要在要装入文件的对话框内按一下回车键,系统就会显示出储存在TURBOC2中的所有C语言源程序文件的列表。
如图2-5所示。
同时列出上一级名目“..\”和同级的其它名目,供用户从中选择。
图2-5供用户选择的源程序文件列表
2.程序的编译、链接与执行
在Turboc2.0环境下,编辑、链接和执行一个C程序,能够有如下几种方式。
使用Compile菜单(快捷键Alt+C)中的命令。
如图2-6所示。
图2-6Compile菜单
要紧有两种方式:
⑴选择CompiletoOBJ命令,得到目标文件;再在选择菜单中选择LinkEXEfilc命令,得到可执行文件。
⑵选择MakeEXEfilc命令,同时完成编译和链接两个过程,直截了当得到可执行文件。
只要在操作系统环境下单击空上文件即可执行。
使用Run菜单中的Run命令(或用Ctrl+F9快捷键),能够直截了当完成编译,链接和执行3个过程。
3.编辑窗口和输出窗口之间的切换
取用Alt+F5快捷键在编辑窗口和输出窗口之间切换。
为执行ex101.exe后的输出窗口。
如图2-7所示。
图2-7程序输出窗口
第三章系统分析与设置
3.1系统功能
本程序为通讯录,能够完成一样的人物资料的录入,能够显示录入的资料。
利用结构体和链表对数据进行输入,删除和查询等功能。
输入的信息通过链表存入所对应的文件中,通过使用定义的各种指针添加,读取和删除信息。
程序功能通过下拉菜单实现,其功能描述如图3-1所示。
图3-1程序模块流程图
3.2功能设计
在程序设计中,我编制了主函数、修改单词的两个函数,主函数是利用一维数组的形式来实现的,采纳菜单工作方式,要紧程序用switch语句来完成。
修改单词则是用了用两个一维数组temp与temp1,来实现修改功能。
将输入的单词用字符串的形式存入temp中,在通过循环语句来实现查找单词。
3.2.1主控函数
1.全局变量
⑴对单词和释义字符串长度的限定分别为不超过20个与40个字符,词条数限定为不超过800条。
⑵单词数组ci,字符串数组。
释义数组yi,字符串数组。
词典中词条总数dict,整型变量。
以上变量定义为全局变量。
⑶命令序号key,整型。
在main()函数中用于散转执行对应操作。
⑷一维字符数组(字符串)temp在find()函数中为待查单词,在add()函数中为temp1待插入单词,在modify()函数中为待修改单词,在view()函数中为待显示单词。
2.算法分析
⑴执行该程序要求在磁盘上有一个词典文件,可使用任何中文编辑软件生成。
其内容是每行对应一个词条,每词条包括用回车符号“\n”分开两个字符串,前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。
事实上,即使该文件内无一词条,也可用本程序在线生成所需词典,但必须有一个已存在的合乎上述格式的,哪怕是空白的文件。
⑵采纳菜单工作方式。
在一个操作命令执行之后,程序询问是否执行下一个命令。
如:
输入7“return”,则回到菜单等待另一次选择。
并依照用户的选择存盘或不存盘退出。
3.函数的概括
从文件file中读入词典各词条的单词和释义分别到字串数组ci和yi中。
main(void):
显示操纵菜单。
find():
查询一个单词的释义。
add():
在词典中适当位置插入一个给定词条的单词和释义。
date():
除了使用词典的功能以外,同时能够使用万年历的功能,要紧查询年、月、日。
modify():
修改词典中给定单词的释义。
view():
显示词典中在给定单词前后的部分词条的单词和释义。
store():
在询问是否要存盘。
return():
询问用户是否返回查询、插入、删除、修改、显示均调用该函数。
bye():
要紧为界面美观与关闭程序而设计,使系统更加人性化。
系统流程图如图3-2所示。
图3-2操纵菜单
3.2.2修改单词
修改单词必须建立在已有单词的前提下,只有系统的“lnlh.dat”文件里存在单词以后,才能对其修改。
它能够在扫瞄单词后找到想要修改的单词输入:
5view(),用两个一维数组temp与temp1,来实现修改功能。
将输入的单词用字符串的形式存入temp中,在通过循环语句来实现查找单词。
假如temp与单词dict[].ci比较等于0时,则说明差不多单词找到,将所要修改的释义存在temp1中,再将其复制到dict[i].yi。
当所存入的单词释义有误时,就能够利用修改功能就其单词释义进行修改。
第一运行函数,再输入4回车,确认后系统会提示修改单词,之后输入要修改的单词,然后系统会提示修改其单词释义。
如图3-3所示。
图3-3修改单词
3.3系统总流程图
no
yes
no
图3-4操纵菜单
No
图3-5查找单词
图3-6增加单词
图3-7万年历
图3-8储存单词
图3-9扫瞄单词
图3-10单词与意思全部清零
第四章系统功能实现
4.1主控函数
1.全局变量
⑴对单词和释义字符串长度的限定分别为不超过20个与40个字符,词条数限定为不超过800条。
⑵单词数组ci,字符串数组。
释义数组yi,字符串数组。
词典中词条总数dict,整型变量。
以上变量定义为全局变量。
⑶命令序号key,整型。
在main()函数中用于散转执行对应操作。
⑷一维字符数组(字符串)temp在find()函数中为待查单词,在add()函数中为temp1待插入单词,在modify()函数中为待修改单词,在view()函数中为待显示单词。
2.算法分析
⑴执行该程序要求在磁盘上有一个词典文件,可使用任何中文编辑软件生成。
其内容是每行对应一个词条,每词条包括用回车符号“\n”分开两个字符串,前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。
事实上,即使该文件内无一词条,也可用本程序在线生成所需词典,但必须有一个已存在的合乎上述格式的,哪怕是空白的文件。
⑵采纳菜单工作方式。
在一个操作命令执行之后,程序询问是否执行下一个命令。
如:
输入7“return”,则回到菜单等待另一次选择。
并依照用户的选择存盘或不存盘退出。
3.函数的概括
从文