工作C语言课程设计背单词系统的程序代码.docx
- 文档编号:6328357
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:8
- 大小:17.79KB
工作C语言课程设计背单词系统的程序代码.docx
《工作C语言课程设计背单词系统的程序代码.docx》由会员分享,可在线阅读,更多相关《工作C语言课程设计背单词系统的程序代码.docx(8页珍藏版)》请在冰豆网上搜索。
工作C语言课程设计背单词系统的程序代码
[工作]C语言课程设计--背单词系统的程序代码
综合性程序设计报告
设计题目:
背单词系统指导教师:
班级:
学号:
设计者:
成绩:
设计时间:
2010年5月27日
1题目描述………………………………………………………………………………………3
2变量、函数和结构体说明……………………………………………………………………4
3树形结构图……………………………………………………………………………………5
4用户操作说明…………………………………………………………………………………6
5代码……………………………………………………………………………………………8
6设计体会………………………………………………………………………………………12
1题目描述
该系统是帮助学生背诵单词的软件,有词语预览功能;用户可以编辑自己的词库,即可增加或删除单词;系统可以进行测试,即给出中文,让学生输入其英文,每十个单词一组,测试结束能够显示成绩,即单词的正确个数;能够输入中文或英文进行单词的查询。
基本功能:
词库的增加或删除;
单词预览;
显示中文用户输入英文进行测试;
用户输入中文或英文进行单词的查询。
2变量、函数和结构体说明
(1)关键变量说明
intx结构体数组中元素的数目
intn测试时单词的正确个数
inta进行菜单选择
intm进行菜单选择
2)函数定义说明(
voidforesee();单词预览及进行测试
intintest();产生随机单词以进行测试
voidtest2(intn);测试单词的成绩
voidtestchinese();测试单词
voidtranslation();单词查询
voidEtoC();输入单词,查询意思
voidCtoE();输入中文,查询单词
voidword_add();单词添加
voidword_delete();单词删除
(3)结构体说明
structwords单词结构体定义
{
chareword[20];单词
charcixing[10];词性
charchinese[50];意思
}
structwordsbank[SIZE]定义数组结构体,存储单词
3树形结构图
主菜单
单词预览英汉互译单词添加单词删除退出系统是否进行单英译汉汉译英
次测试
N返回主目
录
Y进行测试
4用户操作说明运行程序后进行选择选择1(单词预览
是否要运行测试功能,Y\N
输入Y:
进行单词测试
输入N:
返回主菜单选择2(英汉互译
1(英译汉
2(汉译英
3(返回上级菜单选择3(单词添加
(单词删除选择4
选择5(退出系统
5代码程序如下:
#include
#include
#include
#include
#defineSIZE50//定义词库单词数量voidforesee();//单词预览及进行测试
intintest();//产生随机单词以进行测试
voidtest2(intn);//测试单词的成绩voidtestchinese();//测试单词voidtranslation();//单词查询voidEtoC();//输入单词,查询意思
voidCtoE();//输入中文,查询单词
voidword_add();//单词添加voidword_delete();//单词删除structwords
{
chareword[20];
charcixing[10];
charchinese[50];
};//单词结构体定义intx;
structwordsbank[SIZE]={
{"aspect","n.","方面,朝向,样子"},{"according","ad.","依照"},{"accustomde","a.","惯常的,习惯的"},{"basis","n.","基础,根据,原则"},{"confidence","n.","信心,信任"},{"dismiss","vt.","不再考虑,解散"},{"economy","n.","经济,节约,节省"},{"fatal","a.","致命的,命运的"},{"global","a.","全球的,总的"},{"helpful","a.","给予帮助的,有用的"},{"impose","vt.","把……加强,征"},{"largely","ad.","大部分,大量的"},{"mystery","n.","神秘,神秘的人或事"},{"nuclear","a.","核子的,核能的"},{"obtain","v.","获得,通用"},{"occasion","n.","场合,时刻"},{"particularly","ad.","尤其,特别"},{"patient","a.","忍耐的,有耐心的"},{"railway","n.","铁路"},{"reaction","n.","反应,反作用"},{"remote","a.","遥远的,偏僻的"},{"selection","n.","选择,挑选"},{"setting","n.","环境,背景"},{"shrink","v.","
起皱,收缩"},{"translation","n.","翻译,译文"},{"troublesome","a.","令人烦恼的,麻烦的"}
{"undergo","vt.","经历,经受"},{"unlike","prep.","不像"},{"volunteer","n.","志愿者"},{"virtue","n.","善,美德"},{"wideapread","a.","分布广泛的,普通的"},{"withdraw","v.","收回,撤回"},{"absence","n.","缺席,不在"},{"abstract","a.","抽象的,抽象派的"},{"bacteria","n.","细菌"},{"biology","n.","生物学,生态学"},{"characterize","vt.","成为…的特征
"},{"debate","n.,vi.","争论,辩论"},{"display","vt.","陈列,展览"}};
//词库voidtest2(intn)//测试单词的成绩{
switch(n)
{case0:
case1:
case2:
case3:
printf("正确个数:
%d\n还需努力~",n);getch();break;
case4:
case5:
case6:
printf("正确个数:
%d\n还不错哈~",n);getch();break;
case7:
case8:
case9:
case10:
printf("正确个数:
%d\nGreat~好样的~",n);getch();break;
default:
printf("系统故障!
");getch();
}
}
intintest()//产生随机单词以进行测试
{
srand((unsigned)time(NULL));return(rand()%39+1);
}
voidtestchinese()//测试单词{
inti,j=0,a;charword[30];
for(i=0;i<10;i++)
{a=intest();
printf("%s\n请输入对应的单词:
",bank[a].chinese);
scanf("%s",word);
if(strcmp(bank[a].eword,word)==0)j++;
}test2(j);
}
voidforesee()//单词预览及进行测试
{
inta;charch;
puts("单词词性意思");
for(a=0;a printf("%-16s%-8s%-20s\n",bank[a].eword,bank[a].cixing,bank[a].chinese); printf("是否要运行测试功能,N/Y\n"); fflush(stdin); ch=getchar(); if(ch=='y'||ch=='Y') { system("cls"); testchinese(); } } voidEtoC()//输入单词,查询意思 {charword[20];inti=0; puts("请输入您要查询的单词: "); scanf("%s",word); while(strcmp(bank[i].eword,word)! =0&&i if(i %s",bank[i].chinese); elseputs("抱歉,没有查到您要找的单词。 ");} voidCtoE()//输入中文,查询单词 {charchinese[20];inti=0; puts("请输入您要查询的中文: "); scanf("%s",chinese); while(strcmp(bank[i].chinese,chinese)! =0&&i if(i %s",bank[i].eword); elseputs("抱歉,没有查到您要找的单词。 ");} voidtranslation()//进行单词查询{ inta; while(a! =3) {puts("请选择: "); puts("1.英译汉"); puts("2.汉译英"); puts("3.返回上级菜单"); scanf("%d",&a); switch(a) { case1: EtoC();break; case2: CtoE();break; case3: break; }} } voidword_add()//单词添加{ charch; do { puts("请输入您要添加的单词: "); scanf("%s",bank[x].eword); puts("请输入该词的词性: "); scanf("%s",bank[x].cixing); puts("请输入该词的中文意思: "); scanf("%s",bank[x].chinese); puts("您是否还要继续,Y/N"); fflush(stdin); ch=getchar(); x++; }while(ch=='Y'||ch=='y');getch();} voidword_delete()//单词删除{charword[20];inti=0; printf("请输入您要删除的单词: "); scanf("%s",word); while(strcmp(bank[i].eword,word)! =0&&i if(i for(;i bank[i]=bank[i+1]; puts("删除成功~");} elseputs("没有找到对应的单词~");} intmain()//主函数{ intm; puts("欢迎使用背单词系统"); while(m! =5) { puts("请选择您需要的服务: "); puts("1.单词预览"); puts("2.英汉互译"); puts("3.单词添加"); puts("4.单词删除"); puts("5.退出系统"); scanf("%d",&m); switch(m) { case1: foresee();break; case2: translation();break; case3: word_add();break; case4: word_delete();break; case5: return0; default: puts("您的输入有误~"); } } } 6设计体会 经过两周的课程设计,我学到了很多东西,巩固和加深了对变量、函数以及数据结构等内容的理解,让我对c语言有了更深的认识;提高综合运用本课程所学知识的能力增;增强了我独立思考、深入研究、分析问题、解决问题的能力;同时通过课程设计,也增强了我严肃认真的学习态度。 课程由于学习c语言的时间相对来说短了一些,并且课程结束的比较仓促,所以,在设计的过程中,一开始感觉一头雾水,遇到了很多问题,许多课本的知识不能够灵活的掌握,所以进行了反复的实验,把自己所遇到的问题和疑惑向同学请教,或者上网查询资料,才将程序一点一点的补充完整。 通过此次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它,不仅要有扎实的理论基础,还要进行大量的实验,要通过不断的上机操作才能更好地学习它,更让我发现自己的好多不足之处,对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解。 通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工作 语言 课程设计 单词 系统 程序代码