好文档 - 专业文书写作范文服务资料分享网站

数据结构课设文章编辑

天下 分享 时间: 加入收藏 我要投稿 点赞

printf(%c,p->data[i]); }

p=p->next; } }

说明:

a、定义文本行数变量j,每行字符数i:int i,j; b、定义指针变量:LinkList *p;

c、将指针p指向链表表头:p=head->next; d、利用循环输出链表中信息: for(j=0;j<=NUM&&p!=NULL;j++)

{=for(i=0;(i<80)&&(p->data[i])!='#';i++) {=printf(%c,p->data[i]);} p=p->next; }

文本显示部分到此结束。

(3)CountWord() 文章内容统计函数 void CountWord() {

LinkList *temp; char ch; int i,j,t;

int WORD=0,word=0,space=0,num=0,sum=0; temp=head->next; for(j=0;j<=NUM;j++) {

for(i=0;(i<80)&&(temp->data[i])!='#';i++) {

ch=temp->data[i];

if((ch>='A')&&(ch<='Z')) WORD++;

else if((ch>='a')&&(ch<='z')) word++;

else if((ch>='0')&&(ch<='9')) num++;

else if(ch==' ') space++; }

sum=WORD+word+num; }

while(1) {

printf(\\ );

printf(\\ );

printf(\\ );

printf(\\ \\t****************************************************\\n); printf(\\ \\t**** 文章内容统计子菜单 ****\\n); printf(\\ \\t****************************************************\\n); printf(\\ \\t**** 文章中 字母 的个数: %d \\n,WORD+word); printf(\\ \\t**** 文章中 数字 的个数: %d \\n,num); printf(\\ \\t**** 文章中 空格 的个数: %d \\n,space);

printf(\\ \\t**** 文章中 所有字 的个数 : %d \\n,sum);

printf(\\ \\t**** 1 、退出返回主菜单 ****\\n);

printf(\\ \\t**** 2 、直接退出本系统 ****\\n); printf(\\ \\t****************************************************\\n); printf(\\ \\t请选择: ); scanf(%d,&t);

if(t==1){system(cls); break;}

else if(t==2)exit(0);

else {

printf(\\ \\t 对不起,无此功能 !请回车重新选择 !...\\n); printf(\\ \\t); fflush(stdin); getchar(); } } }

说明:

a、定义指针变量temp:LinkList *temp; b、定义记录文本行数变量j,每行字符数i;

c、定义记录文本大写字母数、小写字母数、空格数、数字数和总字数的变量: int WORD=0,word=0,space=0,num=0,sum=0;

d、将指针temp指向链表表头:temp=head->next;

利用循环对链表中信息进行匹配判断,将大写字母数、小写字母数、空格数、数字数和总字数统计出来:for(j=0;j<=NUM;j++) {

for(i=0;(i<80)&&(temp->data[i])!='#';i++) {

ch=temp->data[i];

if((ch>='A')&&(ch<='Z')) WORD++;

else if((ch>='a')&&(ch<='z')) word++;

else if((ch>='0')&&(ch<='9')) num++;

else if(ch==' ') space++; }

sum=WORD+word+num; }

e、本程序对统计项目设计了菜单。菜单的编写使用 while语句进行循环操作。 文本内容统计部分到此结束。

(4)SearchWord() 文章内容查找函数

void SearchWord(char *str1,LinkList* temp) {

char Data[20] ; int i,j,k=0,sum=0; int l=1;

temp=head->next; strcpy(Data,str1); for(i=0;i<=NUM;i++) {

for(j=0;j<80;j++) {

if((temp->data[j])==Data[k]) k++;

else if(Data[k]!='\\0') {

j=j-k; k=0; }

if(Data[k]=='\\0') {

sum++; j=j-k+1;

printf(\\ \\t\\t第%d次出现在第%d行第%d列\\n,l,i+1,j); l++; k=0;

continue;} }

temp=temp->next; }

printf(\\

\\t\\t\\t字符串总共出现次数为:%d\\n\\n,sum); C=sum; N=i*80+j; }

说明:

a、定义一个数组,用来记录需要查找的字符内容:char Data[20];

b、定义定义文本行数变量j,每行字符数i,记录字符出现的次数变量: int i,j,m=0.,sum=0;

c、对形参中定义的指针变量进行操作,使其指向链表表头:temp=head->next; d、使用拷贝函数,将形参中str1的值赋给Data:strcpy(Data,str1); e、利用循环进行查找操作:

for(i=0;i<=NUM;i++) /*利用循环进行查找操作*/ {

for(j=0;j<80;j++) {

if((temp->data[j])==Data[k]) k++;/*将输入的查找字符与链表中信息比较,

找到第一个相同的字符*/ else if(Data[k]!='\\0') {

j=j-k;/*从主串第j-k个位置重新查找*/ k=0; }

if(Data[k]=='\\0')

{

sum++;/* 此字符出现的次数加1*/

j=j-k+1;/*j记录下该字符串出现的位置*/

printf(\\ \\t\\t 第 %d 次出现在第%d行第%d 列\\n,l,i+1,j); l++; k=0;

continue; }

}

temp=temp->next;/*指向下一行*/ }

文本内容查找部分到此结束。

(5)DeleteWord() 文章内容删除函数 void DeleteWord(char *str2) {

char Data[20];

LinkList *temp,*term; int i,j,a,k,m,y,num; strcpy(Data,str2); for(y=0;y

for(i=0;i<=NUM;i++) {

term=temp;

temp=temp->next; for(j=0;j<80;j++) {

if((temp->data[j])==Data[k]) k++; else if(Data[k]!='\\0') {j=j-k;k=0;} if(Data[k]=='\\0') {

num=j; break; } }

if(num<80) break; }

数据结构课设文章编辑

printf(%c,p->data[i]);}p=p->next;}}说明:a、定义文本行数变量j,每行字符数i:inti,j;b、定义指针变量:LinkList*p;c、将指针p指向链表表头:p=head->next;d、利用循环输出链表中信息:for(j=0;j<=NUM
推荐度:
点击下载文档文档为doc格式
3z1hd4xhiz4n7xz5eecp3x5if1klmb00azr
领取福利

微信扫码领取福利

微信扫码分享