欢迎来到天天文库
浏览记录
ID:9938560
大小:281.00 KB
页数:24页
时间:2018-05-16
《数据结构课程设计-文章编辑》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计题目:文章编辑课程名:算法与课程设计系(部):数学与计算机专业:计算机科学与技术学生姓名:学号:指导教师:职称(学位):副教授(硕士)完成时间:2016年12月28日一、概述1、任务描述:输入一段文字,对文章做出统计、删除、替换等操作2、主要功能:统计文章字母、数字、空格个数及文章总字数,统计字符串,删除字符串,对指定字符串的替换3、设计平台:VC++6.0二、系统设计3、需求分析:(1)输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数";(
2、3)查找指定的字符串;(4)删除指定的字符串,输出删除某一字符串后的文章;(5)替换指定的字符串,输出替换某一字符串后的文章。1、概要设计2、算法思想存储结构使用线性表,分别用几个子函数实现相应的功能;一、详细设计3、算法设计(1)定义结构体:typedefstructline{char*data;structline*next;}LINE;(2)输出函数voidOutPut(LINE*&head)将头指针赋值为p;通过do-while语句遍历链表;(3)字符串的创建函数:voidCreate(LINE*&head)用printf语句输出一句提
3、醒语句,请用户输入要编辑的文章为链表建立一个附加表头结点,将p付给表头指针;输入字符串,同时判断输入的字符串是否满足条件;用if语句判断文章是否输入完成。(4)统计文章中英文字母数:voidcountLetter(LINE*&head)将p付给表头指针;初始化count为0;用do-while语句遍历链表,同时统计字符串中英文字母数用printf语句输出文章中英文字母数,调用子函数menu().(5)统计文章中数字个数:voidcountNumber(LINE *&head)将p付给表头指针;初始化count为0;用do-while语句遍历链表
4、,同时统计字符串中数字个数;用printf语句输出文章中数字个数,调用子函数menu().(6)统计文章中的空格数:voidcountSpace(LINE*&head)将p付给表头指针;初始化count为0;用do-while语句遍历链表,同时统计字符串中空格数;用printf语句输出文章中空格数,调用子函数menu().(7)统计文章总字数:voidcountAll(LINE*&head)将p付给表头指针;初始化count为0;用do-while语句遍历链表,同时统计字符串中总字数;用printf语句输出文章中总字数,调用子函数menu().
5、(8)查找字符串的函数:voidFindString(LINE*&head)将p付给表头指针;初始化count为0;初始化len1,用来保存当前行的总字符数;定义整型变量len2表示待统计字符串的长度;用printf语句提醒用户输入要统计的字符串;用do-while语句遍历链表,同时用for循环和if语句找出指定字符串在文章中出现的次数;(9)删除字符串的函数:voidDelString(LINE*&head)先创建一个delstringword,其中包含两个字符串char*s和char*str,用*s表示输入的字符串,*str表示要删除的字符
6、。这个函数的功能是找到字符串s在字符串中出现的位置并删除该字符串。定义字符串的删除函数DelString(),用do-while语句遍历链表,语句中再套用if语句,并调用delstringword()进行删除.(10)主函数:voidmain()用switch语句实现功能的调用。一个数字对应一个操作1、算法实现(1)文章输入:intintput(){printf("请输入第%d行文字",i+1);gets(str[i]);//读取数组的内容if(strlen(str[i])>80){printf("每行最多输入80字符,请重新输入第%d行文
7、字",i+1);/*当每行输入文字大于80字符时输出此语句,并且重新输入文字*/gets(str[i]);}returnstrlen(str[i]);//返回数组的长度?}(2)文章输出voidoutput(){for(i=0;i='a'&&str[i][j]<='z')cnum++;//统计小写字母if(str[i][j]>='A'&&str[i][j]<='Z')
8、cnum++;//统计大写字母if(str[i][j]>='0'&&str[i][j]<='9')dnum++;//统计数字if(str[i][j]=
此文档下载收益归作者所有