C语言电子词典.docx
- 文档编号:19069948
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:50
- 大小:375.21KB
C语言电子词典.docx
《C语言电子词典.docx》由会员分享,可在线阅读,更多相关《C语言电子词典.docx(50页珍藏版)》请在冰豆网上搜索。
C语言电子词典
C语言电子词典
2.功能要求2
3.大致任务分工2
第二部分《电子生词库软件》的设计与功能实现3
1.总体设计:
3
2.数据结构4
3.算法设计5
4.程序代码设计12
5.测试与调试14
第三部分课程设计总结20
1.个人总结20
2.终止语29
附录Ⅰ程序清单30
附录Ⅱ用户使用讲明书46
参考文献47
1.咨询题描述
题目名称:
电子生词库软件
要紧用途:
解决学生查找单词的咨询题,提高查找单词的速度。
2.功能要求
功能:
(1)创建生词库。
用文件创建一个单词库,中英文单词均有,关于英语单词,给出中文讲明,关于英文单词给出中文讲明。
(2)显示词库。
显示所有单词和单词数、所有中文单词和单词数、所
有英文单词和单词数,显示英文单词是按字母小到大的顺序排列。
(3)编辑词库。
第一确认密码后才承诺添加新词、删除旧词、修改旧词。
(4)查找生祠。
显示所要查找的单词和其含义。
(5)实现创新功能。
此项功能学生自由发挥,依照本组爱好增加与本题目相关的新功能。
3.大致任务分工
彭霜辰:
4查找生词、3编辑词库、5创建新功能、0退出系统。
刘轩:
1创建生词库、2显示词库。
张鑫:
1创建生词库、编辑实训报告。
第二部分《电子生词库软件》的设计与功能实现
1.总体设计:
主菜单
2.数据结构
1.结构体变量
structword{charch[30];charen[30];};定义一个词库的结构体。
structwordpers[N];各个单词信息的输入。
structword*pword;
structwordtempword;
structwordword_list[N]
2.无参数的函数:
intmainmenu();主菜单名称。
intshowmenu();显示菜单函数。
inteditmenu();显示词库内容,功能是全部显示,显示中文或英文。
intcreatefile();创建生词库函数。
intwordadd();编辑词库中的添加,功能是添加新词。
intworddel();编辑词库中的删除,功能是删除旧词。
intwordfind();查找单词的函数,功能是便于查找单词。
3.利用文件作为参数完成值与值的互相传递。
3.算法设计
主函数及各模块流程图
主函数模块流程图
Createfile()函数流程图
Showall()函数流程图
Showen()函数流程图
Showch()函数流程图
wordadd()函数流程图
Worddel()函数流程图
Wordfind()函数流程图
4.程序代码设计
举例:
switch(function)
{
caseW_MAINMENU:
function=mainmenu();
break;
caseW_SHOWMENU:
function=showmenu();
break;
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语句,依照输入数据不同,进入不同的函数,实行相应的功能。
5.测试与调试
主菜单显示
创建生词库
显示子菜单
显示所有
显示中文
显示英文
编辑子菜单
添加新词
删除单词
修改单词
查找单词
第三部分课程设计总结
1.个人总结
C语言程序设计报告总结
那个学期,最让我感到获益匪浅的确实是C语言实训这门课程了。
这是再学习完C语言这门课程后,对其知识的巩固与拓展。
这次实训的目的确实是为了巩固C语言所学差不多课程;提高C语言编程的综合应用能力;以及C语言程序的编译、调试方法。
这次我们组的实训内容确实是电子生词库的编程。
内容要求确实是把握C语言中的差不多数据输入、输出;熟练把握C语言中的三种差不多结构的使用;熟练使用C语言中的函数;熟练使用C语言中的结构体;和熟练把握C语言中的文件使用。
在当今社会的进展中,科技的不断精化占据社会进展中的要紧地位。
当今的IT人才的急切需要也促使编程方面的软件不断更新,以至于C语言的使用变得少了,更多简洁方便的软件层出不穷。
但是C语言是这些新发编程的基础,因此要想更好的融入社会,更好的使用运算机,学习好这门专门的语言是专门有必要的。
在这次分组中,我和一位我们班的电脑专门在编程方面的高手分在了同一组,这让我感到专门幸运,我一定能从他那儿学到更多的东西。
这次的编辑任务是“电子生词库软件”,要紧分为五个大部分,分不是创建新词库,显示词库,编辑词库,查找生词,创新功能。
我就负责创建生词库和显示词库,由于刚开始对程序的编写毫无思路,同学就建议我先画流程图,我就从一个专门简单的框架图一点点地细化,这过程中真是让我增加了许多知识同时也巩固了专门多知识。
最让我快乐得确实是我没有用word文档画出流程图,而是用了一个新程序来构画,确实是vsd文件,我学会了一个新程序的使用,这让我快乐不已。
在同学们的齐心协力下,和老师的关心下,我们组终于圆满地完成了这次任务。
这次的实训,让我感触最深的确实是:
上机实验是学习程序设计语言必不可少的实践环节,专门是C语言灵活、简洁,更需要通过编程的实践来真正把握它。
因此,关于当今缺少动手实践的大学生们,这次的实训就显得更有意义。
历时两周的《C语言程序设计》实训,差不多终止了,在这几天编程的过程中暴露出了许多我自身存在的咨询题,同时也对自身有了专门大的提高。
我往常做题做事专门马虎,经常会少定义一个字母,或丢几个分号。
在这几天编程的过程中的锤炼,我现在做题比往常认真多了,会小心翼翼地去看每一个地点,会认真地检查程序的每一个字母、标点。
而且这次的编程过程让我补偿了许多知识上的缺陷,弄清晰了我不明白的地点和似是而非的地点,使我及时补上了欠缺。
不光如此,我的知识通过流程图的画写和对其的不断精化,细化,差不多逐步形成了一个完整的框架结构,而不再是零散的知识个体,使我在使用时更加的方便。
作为一名自动化专业的大学生,不仅要学习专业知识,更需要把握专业技能。
我把本次为期两周的集中实训看作是“理论与实践相结合的桥梁”。
我们以班级为主体,以小组为单位,互相合作,共同探讨。
通过两周的专业实训,我学到了许多知识,受益菲浅。
实训是对每个同学综合能力的检验。
要想做好任何事,除了自己平常要有一定的功底外,我们还需要一定的实践动手能力,操作能力。
此次实训,我深深体会到了积存知识的重要性。
由于平常对知识把握得不够透彻,在编程中经常找不到摸索的方向。
总之,这次实训,让我体会了与众不同的学习方法,从书本被动的学习改为自身实践的主动学习,为我今后走上社会打下了扎实的基础。
再这次的实训操作中,我总结出一些属于自己的实践体会,我想,任何一个单位也不情愿聘请一位没有实践体会的职员。
因此我们要从现在就开始,多多参与类似如此的锤炼,严格自我,完善自我。
我相信通过我们的努力奋斗,不管在以后的社会工作中遇到多少困难,我们一定会克服困难,开拓一片属于我们自己的新天地。
2007100322712刘轩
C语言程序设计报告总结
通过了紧张的一学期学习,我们这一学年的C语言学习差不多圆满终止了,在这学期对C语言的学习过程中,我对C语言这门课程有了初步了解,通过1个学期的学习我差不多能够初步把握C语言的差不多操作,大体学会了C语言的基础知识同时能够进行一些实际的应用。
在期末时期,我们迎来了C语言的实训。
C语言的实训与我们在本学期中学习C语言时并不相同。
代替老师在在讲台上讲解为主的是以自己动手以及团队协作为主,往常每节课都不厌其烦指导我们的老师这时只是以提出自己的意见和传授体会为主,而这次得实训却是要紧让我们依照在往常C语言课程中学到的知识来解决,而老师只是在当我们一筹莫展的情形下才对我们进行些指点,能够讲这次的实训才是对我们平常的C语言学习再实际上的应用的第1次试练。
因此在这次实训过程中我们也明白得了在编程时不依靠老师,自主独立完成比较复杂的程序的重要性。
也许我们在编程的过程中不管在什么方面都依靠老师我们也许也能编出所需要的东西,然而这却不能讲明我们在进行C语言学习过程中差不多完全把握了C语言这门功课了,因此这次对C语言的实训对我们的C语言的学习有着相当重要的促进作用,因为在这次的实训过程中我们也许会因为不去依靠老师进行独自团队形式的编程而遇到相当多的困难,然而我们能够在这次得实训过程中学到在课堂上我们还没有完全学会的东西,从而使我们在C语言的学习上更进一步。
这次实训我们组分到的题目是电子生词库那个程序。
那个程序的要紧用途是解决同学们在平常学习C语言过程中应为编程出错而且在进行错误查询时其中的单词不认识的咨询题,有效避在C语言学习过程中的的种种不便。
与往常在课堂上编辑的C语言相比,这次我们接到的题目更具有有用性,在程序上的编写更为复杂,对我们的C语言学习更是一种考察。
在我刚刚开始进行编程时,老师用上学期的学章的成果来对我们讲解实训编程需要注意的事项和格式,当我刚刚看到那厚厚的一摞复印上一个个密密麻麻的自负的时候我的内心有些发慌了,因为那摞复印纸难道有十多页那么厚,就光编码就有4~5页,我感到任务相当的艰巨,我不禁的为我的实训成绩担忧,然而老师却对我们讲事实上这没什么,只是把这2周每个小组成员所完成的任务进行下综合,同时写出在这2个星期进行编程的实际体会就行了,听到这我悬着的心落下了一半,因为那密密麻麻的程序编码深深地印在了我的脑子里,一想起来就有些担忧,终于老师对我们讲解完了我们进行我们的自助编程,在编程过程中我逐步发觉事实上那厚厚的一摞果然如老师讲的那样只要一点点地编我们也能编出来的,尽管在编程过程中因为编程出错而产生的苦恼总是在困扰着我们,然而在我们逐步的询咨询老师的过程中都一一解决了。
我觉得在这次的实训过程中我们所得到的要比我们所付出的要多的多,因为在这次的实训过程中我们不仅仅学会了C语言的差不多编程,我们还学会了C语言的实际应用,还有在我们实际独自完成一个编程任务时我们该如何进行我们的编程任务,才能使我们在编程过程中变得得心应手、不慌不乱,同时在这次实训中我们收成的还有在我们编程编出成果的欢乐和与团队合作的重要性,随意讲这次得实训对我们的关心是相当大的。
2007100322703张鑫
C语言程序设计报告总结
《c语言程序设计》课程教学的差不多内容是c语言编程基础,差不多方法和差不多操作技能等。
其内容体系结构包括两个方面的层次:
一是c语言编程基础,要紧包括算法的差不多概念、c语言差不多数据类型、运算符与表达式、程序三大操纵结构(顺序、选择、循环)等;二是c语言编程提高,要紧包括c语言数组、函数、编译预处理、指针、结构体与共用体及文件等内容。
两个层次相互联系,编成基础为编程提高服务,编成提高是本课程的主体。
两个层次相互依靠,构成了一个逻辑严密、结构完整的坑成内容体系。
教学中采纳“任务驱动”的方法,以实例为先导,注重在应用学习,以有味的实际应用例子来提高学习者的爱好,关心学生明白得和同意枯燥的概念和规则。
这次实训让我们的知识更加巩固,让我们的知识面更加广泛,让我们更加了解C语言程序设计这门课的教学内容,这门课的差不多内容包括C语言编程基础、差不多方法和差不多操作技能等等,其内容体系结构包括两个方面的层次:
一是C语言编程基础,要紧包括算法的差不多概念、C差不多数据类型、运算符与表达式、程序三大操纵结构(顺序、选择、循环)等;二是C语言编程的提高,要紧包括C语言数组、函数、编译预处理、指针、结构体与共用体积文件等内容。
两个层次相互联系,编程基础为编程提高服务,编程提高才是C语言的主体。
两个层次相互依靠,构成了一个逻辑严密、结构完整的C语言课,并让我们重分了解了C语言课程的精髓。
通过这次实训我们增进了同学之间,老师和同学之间的友谊,在这短短的两星期中,我们一起讨论咨询题;一起解决咨询题;一起探讨咨询题;一起忍耐着夏日的酷暑高温,其中我们也不明白留下了多少汗水。
当同学们一起亲手制作的系统产生之时,我们是兴奋的;当同学们皱着眉头找不到那的错误的时候,我们是着急的;总之,C语言让我们既兴奋又失落,然后从失落中又一次兴奋。
在这一次次辛酸与欢乐中我觉得实训只是是一种让我们更成熟的桥,他让我们的大学生活更加杰出,让我们在步上社会之前先体验了一次什么叫工作的苦,什么叫收成的甜。
在这次的实训中,我们遇到了许多困难,有易解决的,也有难解决的,但不管它是什么样的错误,在我们小组的配合下,我们都成功地突破了他,没有使之成为我们的阻碍,从而在比较顺利的情形下,圆满地完成了这次的实训工作。
C语言程序设计试验可乘让我们收成良多:
它使我们学会了使用visio软件绘制流程图,它使我们进一步的夯实了C语言课上所学的基础知识,更重要的是,它使我们学会了团队合作精神,这是什么物质也换不来的可贵的“财产”。
在以后的学习生活中,我们会连续发扬如此的精神,使我们的集体更团结,使我们更好的工作与学习,让我们以后的学习和生活更上一层楼。
2.终止语
感谢在编程过程中梁老师给予的关心,和机房老师为我们制造的舒服的环境,以及在编程中关心我们的同学。
这次的实训让我们受益匪浅。
附录Ⅰ程序清单
#include
#include
#include
#include
#defineN100
#defineMAX_PATH100
#definePATH.data
structword
{
charch[30];
charen[30];
};
intmainmenu();
intshowmenu();
inteditmenu();
intcreatefile();
intwordadd();
intworddel();
intwordedit();
intwordfind();
intfind(structword*s,inttn,char*w);
enum
{
W_MAINMENU,
W_SHOWMENU,
W_EDITMENU,
W_CREATEFILE,
W_SHOWALL,
W_SHOWCH,
W_SHOWEN,
W_WORDADD,
W_WORDDEL,
W_WORDEDIT,
W_WORDFIND,
W_EXIT,
};
intfunction=W_MAINMENU;
voidmain()
{
for(;;)
{
switch(function)
{
caseW_MAINMENU:
function=mainmenu();
break;
caseW_SHOWMENU:
function=showmenu();
break;
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;
}
if(function==W_EXIT)break;
}
}
intmainmenu()
{
charkey;
for(;;)
{
system("cls");
printf("|-------------------------------|\n");
printf("|请输入选项编号(0-7):
|\n");
printf("|-------------------------------|\n");
printf("|1--创建生词库|\n");
printf("|2--显示词库...|\n");
printf("|3--编辑词库...|\n");
printf("|4--查找生词|\n");
printf("|5--创新功能...|\n");
printf("|0--退出系统|\n");
printf("|-------------------------------|\n");
//if(chuangxin==open)
//printf("目前被选入的词库为:
%s",)
printf("\n");
key=getch();
switch(key)
{
case'1':
returnW_CREATEFILE;
case'2':
returnW_SHOWMENU;
case'3':
returnW_EDITMENU;
case'4':
returnW_WORDFIND;
case'5':
return12345;
case'0':
returnW_EXIT;
default:
printf("\n%c为非法选项!
\n",key);
printf("\n要连续选择吗(Y/N)?
\n");
for(;;)
{
key=getch();
switch(key)
{
case'Y':
returnW_MAINMENU;
case'y':
returnW_MAINMENU;
case'N':
returnW_EXIT;
case'n':
returnW_EXIT;
}
}
}
}
intshowmenu()
{
charkey;
for(;;)
{
system("cls");
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");
//if(chuangxin==open)
//printf("目前被选入的词库为:
%s",)
printf("\n");
key=getch();
switch(key)
{
case'1':
returnW_SHOWALL;
case'2':
returnW_SHOWCH;
case'3':
returnW_EDITMENU;
case'4':
returnW_MAINMENU;
case'0':
returnW_EXIT;
default:
printf("\n%c为非法选项!
\n",key);
printf("\n要连续选择吗(Y/N)?
\n");
for(;;)
{
key=getch();
switch(key)
{
case'Y':
returnW_SHOWMENU;
case'y':
returnW_SHOWMENU;
case'N':
returnW_EXIT;
case'n':
returnW_EXIT;
}
}
}
}
}
inteditmenu()
{
charkey;
for(;;)
{
system("cls");
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");
//if(chuangxin==open)
//printf("目前被选入的词
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 电子词典