77范文网 - 专业文章范例文档资料分享平台

文章编辑程序设计报告(2)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

用do-while语句遍历链表,同时用for循环和if语句找出指定字符串在文章中出现的次数;

用printf语句输出指定字符串在文章中出现的总次数,调用子函数menu().

(9)删除字符串的函数:void DelString(LINE * &head)

先创建一个delstringword,其中包含两个字符串char *s和char *str,用*s

表示输入的字符串,*str表示要删除的字符。这个函数的功能是找到字符串s在字符串中出现的位置并删除该字符串。

定义字符串的删除函数DelString(),用do-while语句遍历链表,语句中再套

用if语句,并调用delstringword()进行删除. (10)主函数:void main()

用switch语句实现功能的调用。一个数字对应一个操作。 3.2 核心代码:

#include #include typedef struct line {

char *data; struct line *next;

}LINE; //创建链表,向里面输入文本数据 //向屏幕输出文字 void OutPut(LINE * &head) {

LINE *p=head;

printf(\输入的文章为:\\n\); do {

printf(\,p->data); }

while((p=p->next)!=NULL); //遍历链表

printf(\); }

void menu() {

printf(\文章编辑**********************\\n\); printf(\); printf(\统计文章中全部英文字母数 \\n\); printf(\统计文章中空格个数 \\n\);

5

printf(\统计文章中数字个数 \\n\); printf(\统计文章总字数 \\n\); printf(\统计指定字符串在文中出现的次数 \\n\);

printf(\删除指定字符串 \\n\); printf(\);

}

void Create(LINE * &head) {

printf (\请输入一页文章,以Ctrl+E(^E)为结尾(每行最多输入80个字符):\\n\);

LINE *p=new LINE; //首先为链表建立一个附加表头结点 head=p; //将付给表头指针 char tmp[100]; while(1) {

gets(tmp); //输入字符串 if(strlen(tmp)>80) { printf(\每行最多输入80个字符!\);

break;

}

if(tmp[0]==5)break; //如果发现输入^E,则退出输入

p=p->next=new LINE;

p->data=new char[strlen(tmp)+1]; //为结点分配空间 strcpy(p->data,tmp); if(tmp[strlen(tmp)-1]==5) //除去最后一个控制符^E

{

p->data[strlen(tmp)-1]='\\0'; break; } }

p->next=NULL; //最后一个指针为空 head=head->next; OutPut(head); printf(\); menu(); }

//统计英文字母数

void CountLetter(LINE * &head) { LINE *p=head; int count=0;

do

{

int Len=strlen(p->data); //计算当前data里的数据元素个数

6

for(int i=0;i

if((p->data[i]>='a'&&p->data[i]<='z')||(p->data[i]>='A'&&p->data[i]<='Z')) //计算字母数

count++;

}

while((p=p->next)!=NULL); //遍历链表 printf(\全部英文字母数%d \\n\, count);//返回文章里 printf(\); menu(); }

void CountNumber(LINE * &head) {

LINE *p=head; int count=0; do {

int Len=strlen(p->data); for(int i=0;i

if(p->data[i]>=48 && p->data[i]<=57)count++; }

while((p=p->next)!=NULL); printf(\文章中数字个数: %d \\n\,count); printf(\); menu(); }

void CountSpace(LINE * &head) {

LINE *p=head; int count=0; do {

int Len=strlen(p->data); for(int i=0;idata[i]==32)count++; }

while((p=p->next)!=NULL); printf(\空?格?个?数oy: %d \\n\, count); printf(\); menu(); }

void CountAll(LINE * &head) {

LINE *p=head;

7

int count=0;

do {

count+=strlen(p->data);

}

while((p=p->next)!=NULL); printf(\文章总字数: %d \\n\,count); printf(\); menu(); }

void FindString(LINE * &head) {

LINE *p=head; int count=0;

int len1=0; int len2; int i,j,k; char str1[20]; printf(\);

printf(\请输入要统计的字符串:\); scanf(\,str1); len2=strlen(str1); do { len1=strlen(p->data); for(i=0;idata[i]==str1[0]) {

k=0;

for(j=0;j

if(p->data[i+j]==str1[j]) k++;

if(k==len2)

{count++;i=i+k-1;}

}

}

}

while((p=p->next)!=NULL);//遍历链表

printf(\该字符串在文中出现的次数: %d \\n\,count); printf(\); menu(); }

//删除指定的字符串

void delstringword(char *s,char *str)

8

//*s为输入的字符串,*str为将要删除的字符 {

char *p=strstr(s,str); //从字符串中寻找str第一次出现的位置 char tmp[80]; int len=strlen(s); int i=len-strlen(p); int j=i+strlen(str); int count=0;

for(int m=0;m

strcpy(s,tmp); }

void DelString(LINE * &head) {

LINE *p=head;

char str[20];

printf(\请输入要删除的某一字符串:\); scanf(\,str); do {

if(strstr(p->data,str)!=NULL)delstringword(p->data,str); }

while((p=p->next)!=NULL); printf(\删除指定字符串后的文章为a: \\n\);

OutPut(head);

printf(\); menu(); }

void main() {

LINE *head; int i;

Create(head); for(;;) {

printf(\请输入到中任意一个数字:\\n\); scanf(\,&i); switch(i) {

case 1:CountLetter(head);break; case 2:CountSpace(head);break;

9

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库文章编辑程序设计报告(2)在线全文阅读。

文章编辑程序设计报告(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/465987.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: