C语言版数据结构课程设计-文章编辑系统Word格式文档下载.doc
- 文档编号:349346
- 上传时间:2023-04-28
- 格式:DOC
- 页数:16
- 大小:205.50KB
C语言版数据结构课程设计-文章编辑系统Word格式文档下载.doc
《C语言版数据结构课程设计-文章编辑系统Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《C语言版数据结构课程设计-文章编辑系统Word格式文档下载.doc(16页珍藏版)》请在冰点文库上搜索。
data[i]<
=57
count++
i++
p=p->
next
!
p=NULL
结束
N
Y
课程设计说明书NO.3
intFindString(LINE*&
head,char*str)/*统计str在文章中出现的次数*/
count=0;
h=0;
len1=0;
len2=strlen(str);
data[i]==str[0]
k=0;
j=0;
data[i+j]==str[j]
k++;
j++;
k=len2
count++;
i=i+k-1;
图3:
统计str在文章中的出现次数
课程设计说明书NO.4
2.2源程序清单
#include<
string.h>
stdio.h>
typedefstructline
{
char*data;
structline*next;
}LINE;
voidCreate(LINE*&
head)
LINE*p;
printf("
请输入一页文章,以#为结尾(每行最多输入80字符!
):
\n"
);
p=(structline*)malloc(sizeof(structline));
head=p;
chartmp[200];
for(;
1;
)
{
gets(tmp);
if(strlen(tmp)>
80)
{
printf("
每行最多输入80字符"
break;
}
if(tmp[0]==35)break;
p=p->
next=(structline*)malloc(sizeof(structline));
p->
data=(char*)malloc(strlen(tmp));
strcpy(p->
data,tmp);
if(tmp[strlen(tmp)-1]==35)
{
p->
data[strlen(tmp)-1]='
\0'
;
课程设计说明书NO.5
break;
}
p->
next=NULL;
head=head->
next;
}
intCountLetter(LINE*&
{
LINE*p=head;
intcount=0;
do
{
intLen=strlen(p->
data);
for(inti=0;
Len;
i++)
if((p->
='
a'
z'
)||(p->
A'
Z'
))
}
while((p=p->
next)!
=NULL);
returncount;
head)
LINE*p=head;
intcount=0;
do
{
if(p->
p->
=57)count++;
课程设计说明书NO.6
while((p=p->
returncount;
intCountSpace(LINE*&
data[i]==32)count++;
returncount;
/*统计文章的总字数*/
intCountAll(LINE*&
do
{
count+=strlen(p->
}
while((p=p->
课程设计说明书NO.7
head,char*str)
inth=0;
intlen1=0;
intlen2=strlen(str);
inti,j,k;
do
len1=strlen(p->
for(i=0;
len1;
i++)
{
if(p->
data[i]==str[0])
{
k=0;
for(j=0;
j<
len2;
j++)
if(p->
data[i+j]==str[j])k++;
if(k==len2) {count++;
}
}
voiddelstringword(char*s,char*str)
char*p=strstr(s,str);
课程设计说明书NO.8
chartmp[80];
intlen=strlen(s);
inti=len-strlen(p);
intj=i+strlen(str);
for(intm=0;
m<
i;
m++)tmp[count++]=s[m];
for(intn=j;
n<
len;
n++)tmp[count++]=s[n];
tmp[count]='
strcpy(s,tmp);
}
voidDelString(LINE*&
if(strstr(p->
data,str)!
=NULL)delstringword(p->
data,str);
}
while((p=p->
voidOutPut(LINE*&
{
printf("
%s\n"
p->
while((p=p->
课程设计说明书NO.9
voidmain()
inti=0;
intoperate;
LINE*head;
Create(head);
printf("
输入的文章为:
OutPut(head);
全部字母数:
%d\n"
CountLetter(head));
数字个数:
CountNumber(head));
空格个数:
%d\n"
CountSpace(head));
文章总字数:
CountAll(head));
charstr1[20],str2[20];
**********************\n"
*菜单*\n"
*1---统计字符串*\n"
*2---删除字符串*\n"
*0---退出*\n"
do{printf("
请输入你要选择的操作:
"
scanf("
%d"
&
operate);
switch(operate)
{
课程设计说明书NO.10
case1:
printf("
请输入要统计的字符串:
"
scanf("
%s"
str1);
printf("
%s出现的次数为:
str1,FindString(head,str1));
CountAll(head);
CountNumber(head);
CountLetter(head);
CountSpace(head);
break;
case2:
请输入要删除的某一字符串:
str2);
DelString(head,str2);
printf("
删除%s后的文章为:
str2);
OutPut(head);
case0:
;
break;
}
}while(operate!
=0);
课程设计说明书NO.11
3、课程设计运行结果与分析
初始界面
课程设计说明书NO.12
图4:
运行界面
课程设计说明书NO.13
输入1:
统计字符数
图5:
统计字符界面
课程设计说明书NO.14
输入2:
图6:
课程设计说明书NO.15
输入0:
退出程序
图7:
课程设计说明书NO.16
4、课程设计体会
此次课程设计使我对数据结构方面的知识有了更加深入的了解,也使我认识到自己在学习编程方面还有很多的不足。
今后我要多读一些编程方面的书籍,不能只拘泥于课本上的知识,并注重理论与实践的结合,多上机练习编写程序,提高自己的实际动手能力和独立思考的能力,不断充实自己,更好的掌握编程思想。
参考文献
[1]谭浩强.C语言程序设计[M].北京清华大学出版社,2007.05:
1-200
[2]徐孝凯,魏荣《数据结构》,机械工业出版社,1996年:
1-150
[3]徐孝凯《数据结构简明教程》,清华大学出版社,1995年:
75-120
[4]陈文博,朱青《数据结构与算法》,机械工业出版社,1996年:
80-100
[5]李廉治,姜文清,郭福顺《数据结构》,大连理工大学出版社,1989年:
120-200
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言版 数据结构 课程设计 文章 编辑 系统