一种简单的英文词典排版系统的实现报告.docx

上传人:b****3 文档编号:6581414 上传时间:2023-05-10 格式:DOCX 页数:11 大小:30.39KB
下载 相关 举报
一种简单的英文词典排版系统的实现报告.docx_第1页
第1页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第2页
第2页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第3页
第3页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第4页
第4页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第5页
第5页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第6页
第6页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第7页
第7页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第8页
第8页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第9页
第9页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第10页
第10页 / 共11页
一种简单的英文词典排版系统的实现报告.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

一种简单的英文词典排版系统的实现报告.docx

《一种简单的英文词典排版系统的实现报告.docx》由会员分享,可在线阅读,更多相关《一种简单的英文词典排版系统的实现报告.docx(11页珍藏版)》请在冰点文库上搜索。

一种简单的英文词典排版系统的实现报告.docx

一种简单的英文词典排版系统的实现报告

中国地质大学

C语言程序设计

 

学院工程学院

专业岩土工程

班级052052-36

学号20051003848

姓名虞梦泽

 

NO.4一种简单的英文词典排版系统的实现

一、题目要求

(1)能输入和显示所打的单词。

(2)能分辨出单词。

(3)对重复的单词和已经输入的单词能自动排除。

(4)能按A-Z的顺序排版。

(5)能将运行结果以文本形式存储。

(6)具有添加新单词并重新排版的能力。

二、需求分析

运行结果以文本方式存储,因而要提供文件的输入输出操作;通过查找操作检查重复单词;提供排序操作实现按A-Z的顺序排版;提供插入操作添加新单词并重新排版。

另外通过键盘式菜单实现功能操作选择。

三、总体设计

整个系统被设计为单词录入模块、文件存储模块和单词浏览模块。

其中单词录入模块要完成输入单词、检查是否重复、排序操作。

文件存储模块把存放单词的数组中的数据写入文件。

单词浏览模块完成英文词典的输出,即文件的输出操作/。

数据结构采用指针数组或二维数组。

以回车键或空格键作为单词输入结束标志,对重复的单词自动排除可选第一章提到的查找方法,数据结构可采用指针和数组。

英文词典排版系统

单词录入模块

单词浏览模块

文件存储模块

四、详细设计

#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模板 > 其它模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2