资源描述:
《c++课程设计实验报告---字符串操作》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、南京理工大学C++课程设计实验报告姓名方圆学号0511590127班级05115901任课教师肖亮时间2006-9-21教师指定题目3—7:字符串操作评定难易级别A实验报告成绩.实验内容:字符串操作1.1程序功能介绍通过多种成员函数的定义和运算符的重载,实现字符串的各种直接操作,如:去掉串首串尾与子串相同的子符,子串在主串的定位,用新子串更换主串中的指定子串,比较字符串的大小,字符串连接等,所有功能已经经过验证.1.2程序设计要求(1)将主函数main()中的输出语句printf()改为VC++中的输出语句。(2)程序中对字
2、符串的处理函数均使用了字符数组sAns,它占用了大量存储空间,试使用动态分配存储空间的方法改写所有的函数,使之避免使用预先定义的长度很大的数组;并增加类的析构函数,删除动态分配的存储空间.(3)新增运算符重载函数,重载-,-=运算符,实现字符串的删除操作,并根据返回值判断操作是否成功.(4)新增成员函数voidDelRepeat(),实现在原字符串中删除相邻的重复字符的功能。(5)新增成员函数intAddStart(FStringstr,intstart),实现将字串str插入到原字符串中从第start字符开始位置上,操作正
3、确返回1.(6)改写main函数的结构,界面为菜单的形式,根据菜单选项来验证类中所定义的各种成员函数及操作符重载函数的正确性。2.源程序结构流程框图与说明(含新增子函数的结构框图)南京理工大学字符串操作流程图菜单显示项目选择循环字符串加法字符串减法字符串比较字符串具体操作删除字符串首部相同字符删除字符串尾部相同字符删除字符串所有重复字符字符串的插入操作字符串的替换操作字符串的倒置替换操作开始选择判断退出退出132254513467选择错误输入重选南京理工大学3.基本数据结构classFString{//字符串类定义priva
4、te:char*sString;intnLength;//新增成员数据,是字符串对象的长度//Stringdatamustbefirst(tolooklikestring)public://ConstructorFString();//缺省构造FString(char*str){nLength=strlen(str);str=newchar[nLength+1];strcpy(sString,str);};//新增构造函数,用字符串常量初始话字符串对象FString(FString&);//新增拷贝的构造函数,用类的对象初始
5、化~FString(){if(sString)delete[]sString;};//新增析构函数,释放字符串对象所占用的空间voidDelRepeat();//新增成员函数,删除原字符串中相邻的重复字符intAddStart(FStringstr,intstart);//*新增成员函数,将字符串str插入到原字符串中从第start字符串开始位置上,操作正确返回1*/inlineFStringoperator-(constchar*sAppend);//新增函数,重载减法运算符inlineFStringoperator-(c
6、onstFStringsAppend);//新增函数,重载减法运算符inlineFStringoperator-=(char*val);//新增函数,重载减法运算符inlineFStringoperator-=(FStringval);//新增函数,重载减法运算符FStringMid(constintnStart,constintnLength);//从字串sString中第nStart个字符开始取出nLength个字符FStringLeft(constintnLength);//从字串sString左边取出nLength个
7、字符FStringRight(constintnLength);//从字串sString右边取出nLength个字符intInStr(constintnStart,constchar*sSearch,constboolbCaseSensitive=true);intInStrRev(constintnStart,constchar*sSearch,constboolbCaseSensitive=true);FStringRTrim(constcharsChar='');FStringLTrim(constcharsChar=
8、'');FStringTrim(constcharsChar='');FStringReplace(constchar*sSearch,constchar*sReplace);FStringFormat(constchar*sFormat,...);//参数可变的函数intLength()