C文章编辑数据结构报告.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C文章编辑数据结构报告

课程设计报告课程设计题目:文 章 编 辑 学生姓名:程涛 专 业:软件电商班 级 学 号:1021112210 指导教师: 姜 林 2012年 6 月 9日实验题目:文章编辑实验地点、时间:地点:软件楼504时间:6月4日—6月8日 实验目的:本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。实验要求:1)、分别统计出其中英文字母数和空格数及整篇文章总字数;2)、统计某一字符串在文章中出现的次数,并输出该次数;3)、删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能(要求用菜单选择操作);输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。五、实验思路:1主要类和函数:定义了一个类file()getdata1()//自动调出已输文章getdata2()//手动输入文章show_text() //分行输出文章help() //程序指令集合count() //分别统计各类字符总数count_str() //统计所查字符delete_str()//删除特定字符Main_Work() //主体命令窗口2设计概要:是否手动输入文章是否手动输入文章选 择进行编辑统计字符总数删除指定字符分行输出文章统计指定字符总数退 出否跳转到指令窗口自动调出已输文章3部分程序截图:4算法思想:定义一个类file(),把要实现功能包含在这个类中。定义一个字符数组,把文章保存到这个字符数组中。主要通过字符串的比较来实现字符的删除、统计功能,用for循环进行输出。5程序代码#includeiostream using namespace std; const int N=800; class file {private: char s[N][80]; char filename[30]; char str[90]; int len; void getdata1(); void getdata2(); void getdata(); void show_text(); void count(); void count_str(); void delete_str(); void help(); public: file() { memset(s,0,sizeof(s)); cout ★---您好, 欢迎使用文本编辑程序! ---★endlendl; cout=========================================================================endl; cout=========================================================================endl; len = 0; } void Main_Work(); }; void file::getdata1()//自动调出已输文章{ FILE *f1;char a;int i=0,j=0; f1=fopen(chengtao.txt,r); len=0; memset(s,0,sizeof(s)); while((a=getc(f1))!=EOF) { if(j==79) {s[i++][j]=char(10);j=0; } if(a!=char(10)){s[i][j++]=a;} else s[i++][j]=a; } fclose(f1); len=i+1; } void file::getdata2()//手动输入文章 { FILE *f1; f1=fopen(chengtao.txt,w+); char a;int i=0,j=0; while((a=getchar())!=#) { if(j==79) {s[i][80]=char(6);s[i++][j]=char(10);j=0;putc(char(10),f1);} if(a!=char(10)){s[i][j++]=a;putc(a,f1);} else {s[i++][j]=a;putc(a,f1);} } fclose(f1); len=i+1; } void file::getdata() { cout您要手动输入么?y/n ;if(getchar()==y) getdata2(); else getdata1(); } void file::show_text() //分行输出文章{ for(int i=0;ilen;i++) for(int j=0;j80;j++)

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档