一种简单的英文词典排版系统的实现报告.docx
- 文档编号:596940
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:12
- 大小:64.74KB
一种简单的英文词典排版系统的实现报告.docx
《一种简单的英文词典排版系统的实现报告.docx》由会员分享,可在线阅读,更多相关《一种简单的英文词典排版系统的实现报告.docx(12页珍藏版)》请在冰豆网上搜索。
一种简单的英文词典排版系统的实现报告
一种简单的英文词典排版系统的实现报告
中国地质大学
C语言程序设计
学院工程学院
专业岩土工程
班级052052-36
学号20051003848
姓名虞梦泽
输入结束标志,对重复的单词自动排除可选第一章提到的查找方法,数据结构可采用指针和数组。
一、详细设计
#include
#include
#include
#defineN1000
chardic[N][20];
FILE*p;
/*清屏*/
voidclear()
{
system("cls");
}
/*写入文件*/
voidWrite(intr)
{
inti;
p=fopen("Data.txt","w");
for(i=0;i { fprintf(p,"%s\n",dic[i]); } fclose(p); } /*读取文件*/ intRead() { intr=0; p=fopen("Data.txt","r"); while(fscanf(p,"%s",dic[r])! =EOF) { r++; } fclose(p); Write(r); returnr; } /*主菜单*/ voidPrint() { printf("\n\n"); printf("********************************************************\n"); printf("*way=1: appendwords*\n"); printf("*way=2: lookupwords*\n"); printf("*way=3: endwork*\n"); printf("*way=4: cheak*\n"); printf("********************************************************\n"); printf("pleasechooseaway="); } /*字符排序*/ intsort() { inti,j,flag=1,r; chars[20]; r=Read(); for(i=1;i { flag=0; for(j=0;j { if(strcmp(dic[j],dic[j+1])>0) { flag=1; strcpy(s,dic[j]); strcpy(dic[j],dic[j+1]); strcpy(dic[j+1],s); } } } Write(r); return0; } /*检查模块*/ voidCheak() { intr=0; clear(); p=fopen("Data.txt","r"); while(fscanf(p,"%s",dic[r])! =EOF) { printf("%s",dic[r]); r++; } fclose(p); Write(r); if(r==0)printf("thereisnowordinData.txt\n"); else { printf("\n\nthereare%dwordsinData.txt! \n",r); } } voidInsert(char*d) { inti; charf[20]; intr=Read(); intflag=0; clear(); for(i=0;i { if(strcmp(d,dic[i])==0) { printf("theword%shasalreadyexisted\n",d); flag=1; break; } } if(flag==0) { printf("theword%sissuccessfullyadded\n",d); strcpy(dic[r],d); r++; } printf("\n\ncontinueadding,pleaseinputaword;backtomainmenu,input0: \n"); while(scanf("%s",f)&&! (f[0]=='0'&&f[1]==0)) { flag=0; for(i=0;i { if(strcmp(f,dic[i])==0) { clear(); printf("theword%shasalreadyexisted\n",d); flag=1; break; } } if(flag==0) { clear(); printf("theword%sissuccessfullyadded\n",f); strcpy(dic[r],f); r++; } printf("\n\ncontinueadding,pleaseinputaword;backtomainmenu,input0: \n"); } Write(r); sort(); clear(); return; } /*查找已录入单词*/ voidFind(char*s) { chart[20]; intflag=0; charf[20]; intr=0,c,i; inttemp; p=fopen("Data.txt","r"); clear(); while(fscanf(p,"%s",t)! =EOF) { strcpy(dic[r],t); r++; temp=strcmp(s,t); if(temp==0) { c=r; flag=1; } } Write(r); if(flag) { printf("%s'ssequencenumberis%d! \n",s,c); } else { printf("cannotfind%s! \n",s); } printf("\n\ncontinuelookuping,pleaseinputaword;backtomainmenu,input0: \n"); while(scanf("%s",f)&&! (f[0]=='0'&&f[1]==0)) { flag=0; for(i=0;i { if(strcmp(f,dic[i])==0) { flag=1; c=i+1; break; } } if(flag) { clear(); printf("%s'ssequencenumberis%d! \n",f,c); } else { clear(); printf("cannotfind%s! \n",f); } printf("\n\ncontinuelookuping,pleaseinputaword;backtomainmenu,input0: \n"); } clear(); return; } /*菜单选择模块*/ voidWork() { inti,way; chard[20]; while (1) { Print(); scanf("%d",&way); switch(way) { case1: printf("pleaseinputaword: "); scanf("%s",d); Insert(d); break; case2: printf("pleaseinputaword: "); scanf("%s",d); Find(d); break; case3: printf("allthewordsaresavedinData.txt! "); return; case4: clear(); Cheak(); } } } /*主函数*/ voidmain() { Cheak(); sort(); Work(); } 二、运行结果: (1)主菜单 (2)添加单词界面 (3)检查输入的单词 六、总结: 通过这次C语言课程设计,我学会了很多东西,复习了以前学过的东西,加深了对C语的认识。 刚开始接到题目时,我一筹莫展,觉得题目很难。 但经过和同学、老师的探讨和交流,我对这问题有了了解,慢慢的开始编程。 通过这次实习,我认识到做事必须要实践才行,经过交流才会慢慢化解题目,C语言必须要多练习才能学得好,所以我以后要坚持多练习,努力通过计算机等级考试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 简单 英文 词典 排版系统 实现 报告