文本信息处理文档格式.docx
- 文档编号:18354835
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:13
- 大小:107.97KB
文本信息处理文档格式.docx
《文本信息处理文档格式.docx》由会员分享,可在线阅读,更多相关《文本信息处理文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
●程序设计题目
●需求分析(分析题目的要求)
●程序框图(总体框图和各功能模块框图,使用传统流程图或N-S框图)
●核心技术的实现方法及程序源代码及注释
●个人总结
●[参考资料]
指导教师:
____________________学生签名:
____________________
目录
一、程序设计题目1
二、需求分析1
三、程序流程图2
四、核心技术的实现方法、程序段及注释7
五、个人总结10
六、参考文献11
七、源程序11
一、程序设计题目
文本信息处理,具体要求如下:
1、打开文档(chapter.dat)
2、输入查找单词,并显示单词在文章中出现的次数
3、显示文章的内容
4、对chapter文档中的文章进行单词排序
5、退出程序
注:
用户界面中的菜单至少应包括“排序显示”、“查询单词”、“退出”3项。
将单词排序,排序结果输出到out.dat中。
二、需求分析
经过对程序设计题目的分析,整个程序大致分为四个模块,其中每一个模块对应一个函数,他们的功能分别是菜单函数(menu),查找函数(find),显示全文函数(show),排序函数(paixu),
1、菜单函数主要实现程序的菜单功能,将程序所包含的各种功能作输出显示;
2、查找函数主要实现的功能是实现判断单词是否存在于chapter.dat的文章中,若存在,并统计其数量。
3、显示全文函数主要实现的功能是显示储存在chapter.dat的文章的全文。
4、排序函数实现的功能是对chapter.dat中的文章的单词进行排序,并统计单词的数量,格式如下:
除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。
三、程序流程图
1、程序总体结构图
对a进行赋值
真a=1?
假
打开文件
真a=2?
find(fp)
真a=3?
Show(fp)
真a=4?
paixu(fp)
真a=5?
break
error
图1程序总体结构图
2、具体功能框图
(1)查找函数:
图2查找函数
(2)显示全文函数:
变量ch
ch=fgetc(fp)
ch!
=EOF
putchar(ch)
全文结束
rewind(fp)
图3显示全文函数
(3)排序函数
图4排序函数
四、核心技术的实现方法、程序段及注释
本程序主要由四个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。
在这些函数当中,查找函数,显示全文函数,排序函数是程序中较为核心的部分,下面分别进行说明。
1、查找函数
输入查找单词,对于已储存在chapter.dat文档中的文章,输入一个单词查看其是否在文章中,若是存在输出其个数.其判断方法是以单词是否为空判断单词开头,并使其从文章的开头循环到末尾,在这过程中,比较输入的单词和文章中的单词是否相同,有一个相同的,其结果就加一,具体的程序段如下:
voidfind(FILE*fp)/*查找单词*/申明形态变量
{
FILE*fp;
inti,j,m=0,n,t=0;
charwant[10],now[40],b[10];
printf("
Pleaseenterthewordyouwant\n"
);
scanf("
%s"
want);
if((fp=fopen("
D:
\\chapter.dat"
"
a"
))==NULL)
{
printf("
cannotopenthisfile\n"
exit(0);
}
fread(now,sizeof(now),1,fp);
for(i=0;
now[i]!
='
\0'
;
i++)
if(now[i]==want[0])
n=i;
for(j=0;
j<
=m;
j++)
b[j]=now[n++];
if(strcmp(want,b)!
=0)
t++;
thequatityofthewordsis%d"
t);
return;
}
2、显示全文函数
该函数的核心内容是显示储存在chapter.dat文档中的英文文章,ch=fgetc(fp)调用文档内容,直到ch!
=EOF结束,最后输出文章的内容,具体程序段如下:
voidshow(FILE*fp)
{
charch;
全文内容如下:
"
ch=fgetc(fp);
/*调用文档内容*/
while(ch!
=EOF)
putchar(ch);
/*输出文章内容*/
}
全文结束!
!
\n"
rewind(fp);
3、排序函数
该函数是把储存在chapter.dat文档中的文章的单词,按首字母的大小进行排序,并通过比较法比较每个单词,看是否有相同的,若存在,在数量上加1,最后统计总数量,然后以只写的方式打开文档out.dat,把结果输入到该文档中,具体的程序段如下:
voidpaixu(FILE*fp)
{FILE*fp1;
(定义文件类型指针)
inti,j,k,l,ge;
chara[50][10],c[10],bb;
char*p,*p1;
fp1=fopen("
\\out.dat"
"
w"
bb=fgetc(fp);
j=0;
i=1;
for(j=0;
=9;
a[i][j]=fgetc(fp);
if(a[i][j]<
'
a'
||a[i][j]>
z'
)
{a[i][j]='
i=i+1;
j=-1;
if(feof(fp)!
=0)break;
rewind(fp1);
for(l=0;
l<
=i-3;
l++)
{for(k=i-l-1;
k>
=2;
k--)
{
p=a[k-1];
p1=a[k];
if(strcmp(a[k-1],a[k])<
0)
{strcpy(c,a[k-1]);
strcpy(a[k-1],a[k]);
strcpy(a[k],c);
}
ge=0;
fprintf(fp1,"
\\按首个字母大小排列\\"
单词名(个数):
"
for(k=1;
k<
=i-2;
k++)
{ge=0;
for(l=1;
=i-1;
l++){if(strcmp(a[k],a[l])==0)ge++;
fprintf(fp1,"
%s(%d)"
&
a[k][0],ge);
fclose(fp1);
五、个人总结
通过这几天的C语言程序设计,使我对C语言编程有了更深刻的了解,也认识了自己在C语言方面的不足,而且通过这次C语言学习也给了我很大的帮助。
虽然时间只有一周,但我知道了很多以前不知道的编程知识,加深了对C语言编程的了解。
虽然大一时学了C语言,但只是学了些程序的片段,并没有完完整整地编写一段应用程序,通过这次C语言课设,让我们能够自己写出一段完整的程序,是很大程度上的进步,这对今后的学习都有很大的帮助。
六、参考文献
1谭浩强.C程序设计.北京:
清华大学出版社,2005
2刘成等.C语言程序设计实验指导与习题集.北京:
中国铁道出版社,2006
七、源程序
#include<
stdio.h>
string.h>
conio.h>
voidmenu()/*功能菜单*/
\n**************WELCOME****************\n\n"
1------------------------------打开文档(chapter.dat).\n\n"
2---------------------------------------------------------查询.\n\n"
3---------------------------------------------------显示全文.\n\n"
4---------------------------------------------------------排序.\n\n"
5---------------------------------------------------------退出.\n\n"
*********************END********************\n"
voidfind(FILE*fp)/*查询函数*/
voidpaixu(FILE*fp)/*排序函数*/
inti,j,k,l,ge;
voidmain()/*主函数*/
{FILE*fp;
inta,word=0,num,i;
charch;
\n请先建立D:
\\chapter.dat文档.\n然后按回车,进入后按提示进行操作.\n"
scanf("
%c"
ch);
menu();
/*调用提示函数*/
for(i=0;
i<
2;
)/*单词判断*/
请输入命令:
%d"
a);
/*输入选项*/
switch(a)/*判断选项*/
case1:
r"
))==NULL)
error!
请检查chapter.dat是否存在!
else
OPEN\n"
}
break;
case2:
find(fp);
/*查找单词*/
case3:
show(fp);
/*显示全文*/
case4:
paixu(fp);
break;
case5:
exit(0);
default:
error:
if(a==5)
fclose(fp);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文本 信息处理