版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计题目:指导教师:班级:学号:设计者:成绩:设计时间:综合性程序设计报告背单词系统XXXXXX年月曰一、题目描述使用C语言设计一个背单词系统,该系统是帮助学生背诵单词的软件,要求用户可以选择背诵的词库,并可以编辑自己的词库。系统可以给出中文,让学生输入其英文意思,也可输出英文让学生输入中文意思。并判定词义是否正确。如不正确给出提示并要求用户重新输入。如正确给以鼓励。还应有词语预览功能。基本功能:词库的维护单词的添加、修改、删除课程预览单词的展示显示中文用户输入英文的背诵方法显示英文用户输入中文的背诵方法背诵成绩的记录本程序设计运行一次程序所背诵的所有单词,答对一个得10分,打错一个扣5分1、
2、树形结构模块图2、模块功能概述程序概述:设计录入词库的结构体,结构体中分别存放英文和中文,整个程序基本上就是关于结构体的操作,其中包括了顺序结构、循环结构、选择结构。单词添力口:用户自己输入单词以及翻译,存入结构体中。单词修改:首先在词库中找到这个单词如果没有则提示用户没有该单词,然后用户输入修改后的单词及翻译。单词删除:先在词库中找到单词,然后将这个单词之后的所有单词顺次前移,实现删除功能。输出词库:输出结构体存放的单词。单词试:用户首先选择测试模式,然后词库中输出现有单词,用户希望结束时输出"jieshu”,并且在这两个函数中计分。显示成绩:输出测试的成绩。三、设计测试说明一、有
3、关头文件、变量、结构体的说明1、头文件#include<stdio.h>#include<stdlib.h>#include<string.h>2、宏定义#defineN100#defineS203、全局结构体structwords/定义一个words结构体chareS;/存放英语单词charcS;/相应的汉语翻译strN;/定义结构体变量4、全局变量intfenshu=0;全局变量,用于统计分数intcount1=0;/全局变量,用于统计测试单词个数intp=0;/全局变量,用于统计单词个数二、程序源代码函数部分以及系统使用截图1、主函数intmain()
4、intn;charch,chioch;printf("n");printf("t*n");*n");*n");printf("t*欢送使用背单词系统!printf("t*设计者:郭鑫钢printf("t*班级:31342学号:3134205*n");printf("t*n");printf("t*1、单词添加2、单词删除*n");printf("t*3、单词修改4、单词展示*n");printf("t*5、英译汉6、汉译英*n
5、");printf("t*7、成绩查询8、退出系统*n");printf("t*n");printf("请选择您需要的操作序号<1-6>,按回车结束:,while(1)scanf("%d”,&n);switch(n)/执行相应的函数,实现相应的功能case1:tianjia();break;case2:shanchu();break;case5:fanyi1();break;case3:xiugai();break;case4:shuchu();break;case6:fanyi2();break;cas
6、e7:chengji();break;case8:printf("你确认要退出吗?y/n!n");scanf("%c%c”,&ch,&chioch);if(ch='y'|ch='Y')exit(0);/退出系统的操作default:printf("你输入了错误的操作,无法执行!");exit(0);return0;2、往词库中添加词汇voidtianjia()(charch;do(printf("录入词库!n");printf("请输入英语单词:n");sc
7、anf("%s”,strp.e);printf("n请输入相应的中文翻译:n");scanf("%s”,strp.c);p+;printf("%s已保存,是否继续录入?y/n!n”,strp.e);scanf("%s”,&ch);while(ch='y');printf("您一共录入d个单词n",p);8C:UsersAdministraTorDesktopDebuq侏命名1.exe*汝迎使用背单伺系统,设计昔耳虞钢建级!31342学号!3134205单话刊除单词展示to改询2-词祠赛Is请
8、选择您需要的操作序号04八按回军结束:L录入词库,清输入英溶单词:Fnello的入珀应触申丈翻译:已保存,是否外殡录入?WE服一共录入。个单词3、删除词库中的单词voidshanchu()(inti=0,j;chars20;printf("输入您想删除的单词:,scanf("%s",s);if(p<=0)printf(-没有任何单词,无法删除!n");return;else(for(i=0;i<p;i+)(if(strcmp(s,stri.e)=0)(printf("已经成功删除!n");for(j=i;j<p;j+
9、)(strj=strj+1;p-;/循环实现单词的覆盖elseif(i=p)printf("没有找到您要删除的单词!n");单词:无法删除!录入词妄t请输X英语单词=hi请输入相应的中文翻译;niliac已保存,是否继续录入?y/n*眼一共录入1个单词备入鸳想删除的单洞g已经箴功册臆T4、修改词库中的单词voidxiugai()(inti=0;charsS,yS,zS;printf("输入您想修改的单词:");scanf("%s”,s);if(p<=0)printf(-没有任何单词,无法删除!n");return;elsefor
10、(i=0;i<p;i+)if(strcmp(s,stri.e)=0)printf("请输入您修改后的英文单词:");scanf("%s”,y);strcpy(stri.e,y);printf("请输入您修改后的中文翻译:");scanf("%s”,z);strcpy(stri.c,z);printf("已经成功修改!n");elseprintf("没有找到您要修改的单词!n");录入词库,请输X英语单词:hij瓣入相应的中文翻*嬴存,是否继续录入?y/n?服一共录入1个单词伸入人成籍请已改
11、改改改汕文又词英中5、输出词库中所有的单词voidshuchu()inti=0;printf("输出词库中所有的单词!n");if(p<=0)printf(-没有任何单词,无法输出!n");return;else(for(i=0;i<p;i+)(printf("英文单词是:%s”,stri.e);printf("n相应的中文意思是:%sn”,stri.c);printf(-词库所有单词输出完毕!n");一共录入2个单伺出宓应义应库逾央担央与库词中词岑好一的*>:曾市有lie思政思输听.意:意词Bi6、显示英文用尸输入
12、中文的背诵方法voidfanyi1()(inti=0;charfS;charoverN="jieshu”;printf("请输入下面英文单词的翻译,希望结束输入时请输入jieshun");/顺序输出单词,并且可以随时结束jieshu并且词库中单词没有全部输出时");while(i<p&&strcmp(f,over)!=0)/用户不输入执行循环(printf("%s”,stri.e);scanf("%s",&f);if(strcmp(stri.c,f)=0)(printf("正确!n&q
13、uot;);fenshu+=10;/用于计算分数else(printf(-很遗憾,正确的翻译为:printf("%sn”,stri.c);fenshu-=5;/用于计算分数count1+;i+;您一共录入3个单词请输入旗面英文单词的翻译,希望结束输入时请输入Jieshuhone齐正确,hello你好啊很遗憾,一正确鬲翻谆为:你好hi你好正确,7、显示中文用户输入英文的背诵方法voidfanyi2()(inti=0;charfS;charoverN="jieshu”;printf("请输入下面英文单词的翻译,希望结束输入时请输入jieshun");whil
14、e(i<p&&strcmp(f,over)!=0)(printf("%s”,stri.c);scanf("%s",&f);if(strcmp(stri.e,f)=0)(printf("正确!n");fenshu+=10;else(printf("很遗憾,正确的翻译为:");printf("%sn",stri.e);fenshu-=5;count1+;i+;J1£5>1U道输下面央女单词的翻译,希垄结束荷.七时清稿.I呀jJiame.稠,你好helloi艮造原正
15、确的翻译为,helloifhi?Jii8、显示测试结果和成绩voidchengji()(printf("本次测试的成绩是:n");printf("总共:%d个n”,count1);printf("正确:%d个n”,fenshu);printf("最后得分为(答对一个得10分,答错一个扣5分):%dn",fenshu);请输入下面英文单词的翻译,希望结束输入时清输入JieshuIiorne甲正确,杂次洲试最后得分为笞对一个得1吩答惜一个扣瑜摭10四、设计体会在看到我的选题后,刚开始有点蒙。然后看到要求说必须用到文件,可是文件还没有学,所
16、以我决定先看看文件那部分的内容。大概烦了一遍书以后,我去图书馆找了基本C语言项目实例的书籍,里面好多的实例都给了我很大的启发。之后我就开始着手写我的程序。刚开始我仿照一本书里有的关于商品信息的管理的程序来写。里面涉及的大量的文件操作,使得我有时候看不懂甚至摸不着头脑。迫于时间上的要求,我不得不放弃已经写了200多行的程序,开始换个思路来考虑程序。考虑到我自己对结构体还是比较熟悉的,所以我想到不使用文件而是直接将单词存放进结构体中。然后整个程序就是对结构体的一系列操作。在写删除单词这个函数中,我遇到了困难,刚开始没有想到数据覆盖这么一个方法,用了好多很笨的方法但是还没有出效果。最后偶然间在网上看到了关于一片指针覆盖的博客,然后我就想到了这种解决方法,果然奏效了!通过这次C语言的课程设计,我深深体会到了一门语言的深奥,是值得我去好好学习和深入研究的。就拿这个程序中几个小小细节,比方:while(i<p&&strcmp(f,over)!=0)。这个是我在写测试两个函数的时候遇到的一个小问题。我不知道应该怎么去写这个循环的条件,最后我让一位同学看过我的程序后,帮我解决了这个问题。虽然只是几个简单语句的结合,但是真的是非常的巧妙。所以,通过这次的课程设计让我发现了许多不足,包括对循环、结构体的应用以及字符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空调原理设计案例分析
- 通信公司员工培训
- 消化性溃疡症状分析及护理建议培训
- 空运行业新员工转正述职
- 日本电通公司介绍
- 租房协议书亲属
- 2025-2026学年安徽省马鞍山市七年级地理上册期中考试试卷及答案
- 苏教版高一英语上册月考考试试题及答案
- 试驾安全协议书
- 人民调解协议书的效力
- 招标文件是否应作为合同组成部分
- 玄隐遗密全文及译文
- 国家开放大学:《政治学原理》题库及答案
- 2023年贵州省建筑工程施工许可管理实施细则
- 光伏监控系统
- 血透室规章制度及
- 《律师承办行政案件规范》-推荐
- GB/T 531.1-2008硫化橡胶或热塑性橡胶压入硬度试验方法第1部分:邵氏硬度计法(邵尔硬度)
- GB/T 21563-2018轨道交通机车车辆设备冲击和振动试验
- 肺癌教学查房演示教学课件
- 2019年全国卷2(物理)含答案
评论
0/150
提交评论