C语言程序设计实训报告-071003227班1第一部分课程设计题目与要求..................................................................................21.问题描述..............................................................................................................22.功能要求..............................................................................................................23.大致任务分工......................................................................................................2第二部分《电子生词库软件》的设计与功能实现..................................................31.总体设计:..........................................................................................................32.数据结构..............................................................................................................43.算法设计..............................................................................................................54.程序代码设计....................................................................................................125.测试与调试.......................................................................................................14第三部分课程设计总结.....................................................................................201.个人总结............................................................................................................202.结束语................................................................................................................29附录Ⅰ程序清单........................................................................................................30附录Ⅱ用户使用说明书............................................................................................46参考文献......................................................................................................................47C语言程序设计实训报告-071003227班2第一部分课程设计题目与要求1.问题描述题目名称:电子生词库软件主要用途:解决学生查找单词的问题,提高查找单词的速度。2.功能要求功能:(1)创建生词库。用文件创建一个单词库,中英文单词均有,对于英语单词,给出中文解释,对于英文单词给出中文解释。(2)显示词库。显示所有单词和单词数、所有中文单词和单词数、所有英文单词和单词数,显示英文单词是按字母小到大的顺序排列。(3)编辑词库。首先确认密码后才允许添加新词、删除旧词、修改旧词。(4)查找生祠。显示所要查找的单词和其含义。(5)实现创新功能。此项功能学生自由发挥,根据本组爱好增加与本题目相关的新功能。3.大致任务分工彭霜辰:4查找生词、3编辑词库、5创建新功能、0退出系统。刘轩:1创建生词库、2显示词库。张鑫:1创建生词库、编辑实训报告。C语言程序设计实训报告-071003227班3第二部分《电子生词库软件》的设计与功能实现1.总体设计:出菜单创建生词库显示词库编辑词库查找生词创新功能显示所有单词显示中文单词显示英文单词添加新词修改旧词显示主菜单删除旧词主菜单C语言程序设计实训报告-071003227班42.数据结构1.结构体变量structword{charch[30];charen[30];};定义一个词库的结构体。structwordpers[N];各个单词信息的输入。structword*pword;structwordtempword;structwordword_list[N]2.无参数的函数:intmainmenu();主菜单名称。intshowmenu();显示菜单函数。inteditmenu();显示词库内容,功能是全部显示,显示中文或英文。intcreatefile();创建生词库函数。intwordadd();编辑词库中的添加,功能是添加新词。intworddel();编辑词库中的删除,功能是删除旧词。intwordfind();查找单词的函数,功能是便于查找单词。3.利用文件作为参数完成值与值的互相传递。C语言程序设计实训报告-071003227班53.算法设计主函数及各模块流程图开始调用myprint函数choose=?调用wordedit调用createfile调用wordadd调用editmenu调用worddel调用showmenu调用wordfindyes-no=n或N或y或Yyes-no=y或Y结束输入choose的值输入yes_no非法选项主函数模块流程图C语言程序设计实训报告-071003227班6入口打开文件打开成功?合法记录?将记录写入文件记录数增1输入编号结束关闭文件出口输入英文单词输入中文解释输入编号输入英文单词输入中文解释假假Createfile()函数流程图C语言程序设计实训报告-071003227班7入口打开文件?成功打开文件?结束输出表头文件结束?读文件输出所有记录计数器=0?输出有几个记录输出无记录计数器加1关闭文件出口NYNYNYShowall()函数流程图C语言程序设计实训报告-071003227班8入口打开文件?成功打开文件?结束输出表头文件结束?读文件输出英文记录计数器=0?输出有几个记录输出无记录计数器加1关闭文件出口NYNYNYShowen()函数流程图C语言程序设计实训报告-071003227班9入口打开文件?成功打开文件?结束输出表头文件结束?读文件输出中文记录计数器=0?输出有几个记录输出无记录计数器加1关闭文件出口NYNYNYShowch()函数流程图C语言程序设计实训报告-071003227班10入口打开文件?成功打开文件?结束输出表头文件结束?读文件输出中文记录计数器=0?输出一个新记录输出无记录计数器加1关闭文件出口NYNYNY重新排序单词写入文件wordadd()函数流程图C语言程序设计实训报告-071003227班11入口打开文件?成功打开文件?结束输出表头文件结束?读文件输出中文记录计数器=0?输出一个记录输出无记录计数器加1关闭文件出口NYNYNY重新排序单词删除该词写入文件Worddel()函数流程图C语言程序设计实训报告-071003227班12入口打开文件?成功打开文件?结束输出表头关闭文件出口NY输入单词是否找到?输出该单词输出没有找到Wordfind()函数流程图4.程序代码设计举例:switch(function){caseW_MAINMENU:function=mainmenu();break;caseW_SHOWMENU:function=showmenu();C语言程序设计实训报告-071003227班13break;caseW_EDITMENU:function=editmenu();break;caseW_CREATEFILE:function=createfile();break;caseW_SHOWALL:function=editmenu();break;caseW_SHOWCH:function=editmenu();break;caseW_SHOWEN:function=editmenu();break;caseW_WORDADD:function=wordadd();break;caseW_WORDDEL:function=worddel();break;caseW_WORDEDIT:function=wordedit();break;caseW_WORDFIND:function=wordfind();break;default:printf(Error!\n);function=W_EXIT;}以上编码是主函数中的switch语句,根据输入数据不同,进入不同的函数,实行相应的功能。C语言程序设计实训报告-071003227班145.测试与调试主菜单显示创建生词库C语言程序设计实训报告-071003227班15显示子菜单显示所有C语言程序设计实训报告-071003227班16显示中文显示英文C语言程序设计实训报告-071003227班17编辑子菜单添加新词C语言程序设计实训报告-071003227班18删除单词修改单词C语言程序设计实训报告-071003227班19查找单词C语言程序设计实训报告-071003227班20第三部分课程设计总结1.个人总结C语言程序设计报告总结这个学期,最让我感到获益匪浅的就是C语言实训这门课程了。这是再学习完C语言这门课程后,对其知识的巩固与拓展。这次实训的目的就是为了巩固C语言所学基本课程;提高C语言编程的综合应用能力;以及C语言程序的编译、调试方法。这次我们组的实训内容就是电子生词库的编程。内容要求就是掌握C语言中的基本数据输入、输出;熟练掌握C语言中的三种基本结构的使用;熟练使用C语言中的函数;熟练使用C语言中的结构体;和熟练掌握C语言中的文件使用。在当今社会的发展中,科技的不断精化占据社会发展中的主要地位。当今的IT人才的急切需要也促使编程方面的软件不断更新,以至于C语言的使用变得少了,更多简洁方便的软件层出不穷。可是C语言是这些新发编程的基础,所以要想更好的融入社会,更好的使用计算机,学习好这门特殊的语言是很有必要的。出于专业的选择,和对电脑的热爱,我一直对这学期的C语言课程用心的学习。所以刚开始接触实训的时候,以为会很容易。可是开始的第一天后,我就见识到了它的难度。由于对文件知识的接触较少,练习较少,以至于刚开始操作时没有思路,不知道如何下手。在这次分组中,我和一位我们班的电脑尤其在编程方面的高手分C语言程序设计实训报告-071003227班21在了同一组,这让我感到很幸运,我一定能从他那儿学到更多的东西。这次的编辑任务是“电子生词库软件”,主要分为五个大部分