还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
中国地质大学本科生课程论文封面课程名称_______________________教师姓名_______________________本科生姓名_____________________本科生学号_____________________本科生专业_____________________所在院系_______________________类别_________________________日期flag=1;Write r;if flagprintf n%sfs sequencenumber is%d!\n s,c;}elseprintf ncannot find%s!\n s;printf H\n\ncontinue lookuping,please input a word;back tomain menujnput0:\nH;while scanfn%sf\f!f
[0]==f0ff[l]==0flag=0;for i=0;ir;i++if strcmpf,dic[i]==0flag=1;c=i+1;break;}if flagclear;printf**%s*s sequencenumber is%d!\nu,f,c;elseclear;printf ncannot find%s!\n,\f;}printf H\n\ncontinue lookupingplease input a word;back tomain menu,input0:\nn;9}clear;return;/*菜单选择模块东/void Workint i,way;char d
[20];while1Print;scanf way;switch waycase1:printf nplease inputa word:scanfn%sn,d;Insertd;break;case2:printf Hplease inputa word:scanfn%s,\d;Find d;break;case3:printf Hallthe wordsare savedin Data.txt return;case4:dear;Cheak;/*主函数*/void mainCheak;sort;Work;程序运行结果
7.主菜单1cC:\¥INDO¥S\syst e32\cd.exeMXMXMMXMMMMXXMMMMXMXMMXXMXMMMMMMXMMXXMXMXMMXMMMMXXMMMMXMway=1append wordsway=2lookup wordsway=3end workway=4cheakplease choose a way=添加单词界面
2.□lxc\C:\¥INDO¥S\syst e32\»d.exethe wordfinal issuccessfully;addedcontinue adding,please inputa word;back tomain menu,input0⑶检查输入的单词cC:\¥INDO¥S\syste32\cd.exe10angels archangelscherbin doninionsofanin powersprincipalities seraphimvirt uesthereare10words in Data.txtappend words*lookup v/ords*end work*cheak*please choosea way=编程中遇到的困难及解决方法
8.)我认为在编程的过程中很容易出现一个问题就是忘记打;’号,导致几处出错1)还有在头文件中定义了子函数,但是后来又忘记写了有的时候程序是不会检查2出错误的,但是运行的时候就会出错所以我觉得在以后的编程过程中,最好用什么函数就写什么函数,然后再在头文件下声明比较好.总结心得及良好建议9其实在刚开始上课的时候,听得不是很懂,甚至云里雾里,后来经过很多学长老师的指导后,知道了,上课之前是要预习的,如果忘记预习了,下了课后必定还要花时间去看书,既然这样不如早先预习来得好,而且效率也会大大提高另外要编写一个大程序首先要有一个整体思路,就象上面的程序,有大致的模块分化,也有各模块中的子函数的参与然后各模块之间的联系也是非常重要的然后就是检查错误,一定是要细心的实在不懂的可以去找老师答疑致谢
10.真诚的感谢在编写程序中帮助我的老师们,我想没有你们我的程序也不会正确运行谢谢!1234课程设计评语对课程论文的评语:平时成绩课程论文成绩总成绩评阅人签名注、无评阅人签名成绩无效;
1、必须用钢笔或圆珠笔批阅,用铅笔阅卷无效;
8.
10.13课程论文题目
1.一种简单的英文词典排版系统的实现NO.4题目要求1能输入和显示所打的单词1能分辨出单词2对重复的单词和已经输入的单词能自动排除3能按的顺序排版4A-Z能将运行结果以文本形式存储5具有添加新单词并重新排版的能力6需求分析2运行结果以文本方式存储,因而要提供文件的输入输出操作;通过查找操作检查重复单词;提供排序操作实现按的顺序排版;提供插入操作添加新单词并重新排版另外通过键盘式菜A-Z单实现功能操作选择总体设计3整个系统被设计为单词录入模块、文件存储模块和单词浏览模块其中单词录入模块要完成输入单词、检查是否重复、排序操作文件存储模块把存放单词的数组中的数据写入文件单词浏览模块完成英文词典的输出,即文件的输出操作/数据结构采用指针数组或二维数组以回车键或空格键作为单词输入结束标志,对重复的单4词自动排除可选第一章提到的查找方法,数据结构可采用指针和数组程序设计思路
2.整个系统被设计为四个模块单词录入、文件存储、单词浏览单词录入模块输入单词,检查是否重复以及排序操作文件存储模块把存放单词的词组中的数据写入文件单词浏览模块英文词典的输出功能模块图
3.英文词典排版系统单词录入文件存储单词浏览数据结构设计
4.数据结构采用指针数组或二维数组;或其char*dictionary[N]char dictionary[N]
[20]□中是宏定义#(表示单词个数)N defineN256()单词录入模块1输入一个单词,存放在一个临时字符数组中,然后换行输出刚刚输入的单词采用插入排序算法的思想把该单词插入单词数组中,如果两个单词相同则不插入()文件存储模块2采用或把单词数组输入到文件中fwrite fprintf()单词浏览模块3采用或把单词从文件中读出,然后输出fread fscanf算法设计
5.[流程图]程序代码
6.#includestdio.h#includestring.h#includestdlib.h#define N1000char dic[N]
[20];FILE*p;/*清屏*/()void clearsystemnclsn;/*写入文件*/void Writeint rinti;p=fopen nData.txf\Hwn;for i=0;ir;i++{fprintfp,,,%s\nH,dic[i];fclosep;/*读取文件*/int Readint r=0;p=fopen HData.txf\Hrn;while fscanfp,H%sH,dic[r]!=EOF r++;fclosep;Writer;return r;/*主菜单东/void Printprintf H\n\nn;printf prway=1:append words*\n;intf prinway=2:lookup words*\n;tf*way=3:end workway=;*\n”printf*4:cheak*\n;,printf11才才,■*AQ/■f*2#*2*2^2^^2*2#*2*2*2#K1#*2*2*2*2^^2^2^^2•9»^9^2**2#*2**2#*2#^2**2#*2**2#*2#^2**2*2#*2#^2#^2**2#^1#^2*2*2^2#«2**2#*2*■■\W^Vw^1ej*rj*rjwrj^rj*e|J^9r^rj^rj*ej^9rj^rj*ejJ rjrjJ*r^rjjw rj^r|rj^rjrj rj^rj*rj^r|r|%w^1,Lprintf Hpleasechooseaway=’;/*字符排序*/int sortinti,j,flag=1,r;char s
[20];r=Read;for i=1;irflag==1;i++flag=0;forj=0;jr-i;j++if strcmpdic[j],dic[j+l]0flag=1;strcpy s,dic[j];strcpy dic[j],dic[j+l];strcpy dic[j+l],s;}Write r;return0;/*检查模块*/void Cheakint r=0;clear;p=fopen HData.txf\nrn;while fscanfp,%s,dic[r]!=EOFprintf H%s f\dic[r];r++;fclosep;Writer;if r==0printf nthereis noword inData.txt\nK;elseprintf H\n\nthere are%d wordsinData.txt!\nf\r;}void Insertchar*d inti;char f
[20];intr=Read;int flag=0;clear;for i=0;ir;i++if strcmpd,dic[i]==0{printf Htheword%s hasalready existed\nf\d;flag=1;break;if flag==0printf Htheword%s issuccessfully added\nH,d;strcpy dic[r],d;r++;printf H\n\ncontinue adding,pleaseinputaword;back tomain menujnput0:\nK;,while scanfn%s,\f!f
[0]==0f[l]==0flag=0;for i=0;ir;i++if strcmpf,dic[i]==0clear;printf ntheword%s hasalready existed\n*\d;flag=1;break;}}if flag==0clearQ;printf ntheword%s issuccessfully added\nf\f;strcpy dic[r],f;r++;}printfH\n\ncontinue adding,pleaseinputaword;back tomain menu,input0:\nH;Write r;sort;clear;return;}/*查找已录入单词*/void Findchar*s chart
[20];int flag=0;char f
[20];intr=0,c,i;int temp;p=fopen HData.txf\nrn;clear;while fscanfp J%s,t!=EOF strcpydic[r],t;r++;temp=strcmp s,t;if temp==0。
个人认证
优秀文档
获得点赞 0