C语言数据结构文章编辑系统Word下载.docx

上传人:b****5 文档编号:20480136 上传时间:2023-01-23 格式:DOCX 页数:15 大小:86.72KB
下载 相关 举报
C语言数据结构文章编辑系统Word下载.docx_第1页
第1页 / 共15页
C语言数据结构文章编辑系统Word下载.docx_第2页
第2页 / 共15页
C语言数据结构文章编辑系统Word下载.docx_第3页
第3页 / 共15页
C语言数据结构文章编辑系统Word下载.docx_第4页
第4页 / 共15页
C语言数据结构文章编辑系统Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

C语言数据结构文章编辑系统Word下载.docx

《C语言数据结构文章编辑系统Word下载.docx》由会员分享,可在线阅读,更多相关《C语言数据结构文章编辑系统Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

C语言数据结构文章编辑系统Word下载.docx

二、设备与环境

PC兼容机、Windows操作系统、VisualC++6.0软件。

三、功能模块简介和系统结构图

本系统运用了数据结构的知识,在VC系统下,设计出了一套界面布局合理的文章编辑系统。

学生通过系统可在输入文本的情况下,对文本中的英文字母,汉字,数字,空格及文章总字数进行统计;

统计某一字符串在文章中出现的次数;

删除某一子串,并将后面的字符前移等多项功能。

(一)功能模块简介

系统结构图

系统说明

(1)系统在用户登录时,按任意键进入。

(2)系统运行时,必须先进行文本的输入(字符数1000),否则会出现系统故障,在第二次输入时,可根据提示是否输入,以防覆盖上一文本,然后方可运行其它部分。

文本输入时可输入任意字符。

(3)可浏览已输入文本。

(4)文本字符统计,可统计英文字母,汉字,数字,空格的各自数目及字符总个数。

(5)特定字符串的统计会明确标出特定字符串出现次数。

(6)特定字符串的删除,是先一步用strstr()函数在原字符串中查找所要删除字符串后,再进行删除的,同时可通过对比知道被删除字符串的位置,删除可重复多次进行。

(7)退出系统时可选择是否退出。

四、系统的主要界面设计及运行说明

1、系统登录界面

系统运行界面

新建文本界面(以#号结束)

对输入文本进行浏览

文本字符的统计

特定字符统计

特定字符删除

退出系统

五、主要的源程序代码

1、登陆系统代码(包括图片变幻)

#include<

string.h>

stdio.h>

stdlib.h>

conio.h>

typedefstructline

{

char*data;

structline*next;

}LINE;

voidCreateTXT(LINE*&

head)

chartmp[1000];

printf("

请输入文本,最多输入1000个字符!

\n"

);

输入一页文字以#结束:

LINE*p=newLINE;

head=p;

while

(1)

{

gets(tmp);

if(tmp[0]=='

#'

)break;

p=p->

next=newLINE;

p->

data=(char*)malloc(strlen(tmp)+1);

strcpy(p->

data,tmp);

if(tmp[strlen(tmp)-1]=='

{

p->

data[strlen(tmp)-1]='

\0'

;

break;

}

}

p->

next=NULL;

head=head->

next;

}

/**文本字数统计**/

intCount_Space(LINE*&

head)//统计空格数

LINE*p=head;

intasc_space=32;

intcount=0;

inti;

intLen;

do{

Len=strlen(p->

data);

for(i=0;

i<

Len;

i++)

if(p->

data[i]==asc_space)

count++;

}while((p=p->

next)!

=NULL);

returncount;

intCount_Num(LINE*&

head)//统计数字个数

data[i]>

=48&

&

data[i]<

=57)

intCount_All_Word(LINE*&

head)//统计文章的总字数

count+=strlen(p->

intCount_ZM(LINE*&

head)//统计字母数

='

a'

&

z'

||p->

A'

Z'

)count++;

//计算字母个数

while((p=p->

intFind_Word(LINE*&

head,char*sch)//统计sch在文章中出现的次数

intlen1=0;

intlen2=strlen(sch);

inti,j,k;

len1=strlen(p->

//当前行的字符数

len1;

data[i]==sch[0])

{

k=0;

for(j=0;

j<

=len2-1;

j++)

if(p->

data[i+j]==sch[j])k=k+1;

if(k==len2){count++;

i=i+k-1;

}

/**特定字符串的删除**/

voiddel_string_word(char*s,char*sch)

char*p=strstr(s,sch);

chartmp[80];

intlen=strlen(s);

intk,kk;

inti=len-strlen(p);

intj=i+strlen(sch);

for(k=0;

k<

i;

k++)

tmp[count++]=s[k];

for(kk=j;

kk<

len;

kk++)

tmp[count++]=s[kk];

tmp[count]='

strcpy(s,tmp);

voidDel_String(LINE*&

head,char*sch)//删除指定的字符串

while(strstr(p->

data,sch)!

=NULL)

del_string_word(p->

data,sch);

/**打印输入的文本**/

voidOutPutTxt(LINE*&

head)//向屏幕输出文章

文本文件输出如下:

"

printf("

%s\n"

p->

voidTj(LINE*&

文章统计信息结果如下:

英文字母数:

%d\n"

Count_ZM(head));

空格数:

%d\n"

Count_Space(head));

文章中共出现数字:

Count_Num(head));

文章出现的汉字和标点(全角)总数:

%d\n"

(Count_All_Word(head)-Count_Num(head)-Count_Space(head)-Count_ZM(head))/2);

统计文章的总字数:

(Count_All_Word(head)+Count_Num(head)+Count_Space(head)+Count_ZM(head))/2);

voidmain()

LINE*head;

charsch[20];

charID[10];

charch;

chartmp_sch[20];

system("

color3F"

文章编辑系统\n"

\n\n"

提示:

第一次使用本系统请首先创建文本链表"

\n按任意键进入...."

getch();

cls"

主菜单如下:

*******************************************************************\n"

1.新建文本\n"

2.浏览输入文本\n"

3.文本字符统计\n"

4.特定字符串的统计\n"

5.特定字符串的删除\n"

6.退出\n"

注:

请您按关键字代号选择菜单操作!

务必在运行过一次第一步后执行其他部!

请输入序号:

scanf("

%s"

ID);

while

(1)

if(strcmp(ID,"

1"

)==0)

printf("

新建文本要覆盖已有文本,是否继续输入?

(Y/N)\n"

getchar();

scanf("

%c"

&

ch);

system("

if(ch=='

n'

||ch=='

N'

break;

elseif(ch=='

y'

Y'

CreateTXT(head);

break;

elseif(strcmp(ID,"

2"

OutPutTxt(head);

3"

Tj(head);

4"

请输入要统计的字符串:

sch);

出现的次数为:

Find_Word(head,sch));

5"

请输入要删除的某一字符串:

tmp_sch);

Del_String(head,tmp_sch);

删除后"

6"

你确定要退出系统吗?

)exit(0);

else

您输入字母有错,请重新输入!

\n\n"

六、实验总结

本次课程设计历时两周,所用知识基本上包括了上学期所学的知识以及很多有关C语言的基础知识,课程设计的过程中自己更更进一步了解了链表,掌握了数据结构的思想与方法。

自己在编写程序的过程中,不是所有知识一下就想起来的,而是出现了不少错误,通过调试,在查阅一些资料后,才整理出来的。

同时,自己加强了自我界面的综合设计能力,设计出界面清晰、美观、操作简便的文章编辑系统。

系统中也有不少亮点,比如任意键进入系统,统计出汉字个数,strstr()函数的应用,链表的运用,指定控制台输出颜色,清屏函数等。

不过此次课程设计,进入运行界面后,如果直接运行2,3步,则会出现系统错误,在以后的继续学习中,所开发的系统应尽量避免这样的情况。

我相信,随着时间的积累系统中很多内容都将得到充实。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1