欢迎来到天天文库
浏览记录
ID:53963428
大小:60.00 KB
页数:8页
时间:2020-04-11
《实验三 串基本操作的编程实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三串基本操作的编程实现【实验目的】内容:串基本操作的编程实现要求:串基本操作的编程实现(2学时,验证型),掌握串的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、合并、剪裁等操作,存储结构可以在顺序结构或链接结构、索引结构中任选,也可以全部实现。也鼓励学生利用基本操作进行一些应用的程序设计。【实验性质】验证性实验(学时数:2H)【实验内容】字符串用常规的顺序存储法来存储,实现常用的功能。自己编程模式:开发一个程序,用来统计文件中各种信息,如字符个数,行数等。修改程序模式:将下面程序空白的地方填空。程序检查模式:将本文件夹中的程序运行后总结相关功能。【
2、思考问题】1.字符串的顺序存储和链表存储的差异?C语言中是如何实现字符串的?2.在字符串处理方面主要有什么操作?3.字符串的操作的主要特点是什么?4.举出几个字符串的应用范例?【参考代码】//功能:顺序串的基本基本功能#include#include#include#include#definemaxsize30//顺序串的总空间大小enumreturninfo{success,fail,overflow,underflow,range_error,empty};//定义返回信息清单clas
3、sstring{public:string();//构造函数~string();//析构函数returninfostrcreate();//创建串returninfostrinsert(intposition,charnewstr[],intstr_length);//插入returninfostrdelete(intbeginposition,intendposition);//删除returninfostrmodify(intbeginposition,intendposition,charnewstr[]);//修改intstrsearch(charnewstr[]);
4、//查找voidstrtraverse();//遍历intstrlength();//求串长private:char*str;//串intlength;//长度};string::string(){str=newchar[maxsize];//申请数组空间}string::~string(){}returninfostring::strcreate(){inti=-1,ch;cout<<"请输入要创建的字符串(ctrl+z结束输入):"<5、(ch);elsei=i-1;cout.flush();//为了每次输入后可以立即显示所输入的字符,则先清除缓冲区}length=i+1;cout<6、g::strmodify(intbeginposition,intendposition,charnewstr[]){returnsuccess;}intstring::strsearch(charnewstr[]){inti=0,str_length,position=0,count=0;//是否相等标志,count用来确定比较时原串的移动if(length==0)return-1;str_length=strlen(newstr);for(;i7、=i-str_length+2;count++;continue;}else{if(position==1)i=i-count;count=0;position=0;}}returnposition;}voidstring::strtraverse(){inti,j;if(length>0){cout<<"位置:";for(i=0;i<=length/10;i++)cout<<"8、---"<9、";cout<
5、(ch);elsei=i-1;cout.flush();//为了每次输入后可以立即显示所输入的字符,则先清除缓冲区}length=i+1;cout<6、g::strmodify(intbeginposition,intendposition,charnewstr[]){returnsuccess;}intstring::strsearch(charnewstr[]){inti=0,str_length,position=0,count=0;//是否相等标志,count用来确定比较时原串的移动if(length==0)return-1;str_length=strlen(newstr);for(;i7、=i-str_length+2;count++;continue;}else{if(position==1)i=i-count;count=0;position=0;}}returnposition;}voidstring::strtraverse(){inti,j;if(length>0){cout<<"位置:";for(i=0;i<=length/10;i++)cout<<"8、---"<9、";cout<
6、g::strmodify(intbeginposition,intendposition,charnewstr[]){returnsuccess;}intstring::strsearch(charnewstr[]){inti=0,str_length,position=0,count=0;//是否相等标志,count用来确定比较时原串的移动if(length==0)return-1;str_length=strlen(newstr);for(;i7、=i-str_length+2;count++;continue;}else{if(position==1)i=i-count;count=0;position=0;}}returnposition;}voidstring::strtraverse(){inti,j;if(length>0){cout<<"位置:";for(i=0;i<=length/10;i++)cout<<"8、---"<9、";cout<
7、=i-str_length+2;count++;continue;}else{if(position==1)i=i-count;count=0;position=0;}}returnposition;}voidstring::strtraverse(){inti,j;if(length>0){cout<<"位置:";for(i=0;i<=length/10;i++)cout<<"
8、---"<
9、";cout<
此文档下载收益归作者所有