




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京理工大学C+课程设计实验报告姓名 方圆 学号 0511590127 班级 05115901 任课教师 肖亮 时间 2006-9-21 教师指定题目 37:字符串操作 评定难易级别 A 实验报告成绩 .实验内容:字符串操作1.1 程序功能介绍通过多种成员函数的定义和运算符的重载,实现字符串的各种直接操作,如:去掉串首 串尾与子串相同的子符,子串在主串的定位,用新子串更换主串中的指定子串,比较字符串的大小,字符串连接等,所有功能已经经过验证.1.2 程序设计要求(1) 将主函数main()中的输出语句printf()改为VC+中的输出语句。(2) 程序中对字符串的处理函数均使用了字符数组sAns,它占用了大量存储空间,试使用动态分配存储空间的方法改写所有的函数,使之避免使用预先定义的长度很大的数组;并增加类的析构函数,删除动态分配的存储空间.(3) 新增运算符重载函数,重载-,-=运算符,实现字符串的删除操作,并根据返回值判断操作是否成功.(4) 新增成员函数void DelRepeat(),实现在原字符串中删除相邻的重复字符的功能。(5) 新增成员函数int AddStart(FString str,int start),实现将字串str插入到原字符串中从第start字符开始位置上,操作正确返回1.(6) 改写main函数的结构,界面为菜单的形式,根据菜单选项来验证类中所定义的各种成员函数及操作符重载函数的正确性。2. 源程序结构流程框图与说明(含新增子函数的结构框图)字符串操作流程图菜单显示项目选择循环字符串加法字符串减法字符串比较字符串具体操作删除字符串首部相同字符删除字符串尾部相同字符删除字符串所有重复字符字符串的插入操作字符串的替换操作字符串的倒置替换操作开始选择判断退出退出132254513467选择 错误输入重选3. 基本数据结构 class FString / 字符串类定义private:char*sString;int nLength; /新增成员数据,是字符串对象的长度/String data must be first (to look like string)public:/ConstructorFString(); /缺省构造 FString(char *str)nLength=strlen(str);str=new charnLength+1;strcpy(sString,str); /新增构造函数,用字符串常量初始话字符串对象FString(FString &); /新增拷贝的构造函数,用类的对象初始化FString()if(sString)deletesString; /新增析构函数,释放字符串对象所占用的空间void DelRepeat(); /新增成员函数,删除原字符串中相邻的重复字符 int AddStart(FString str,int start); /*新增成员函数,将字符串str插入到原字符串中从第start字符串开始位置上,操作正确返回1*/inline FString operator-(const char *sAppend); /新增函数,重载减法运算符 inline FString operator-(const FString sAppend); /新增函数,重载减法运算符inline FString operator-=(char* val); /新增函数,重载减法运算符inline FString operator-=(FString val); /新增函数,重载减法运算符FString Mid(const int nStart,const int nLength); /从字串sString中第nStart个字符开始取出nLength个字符FString Left(const int nLength); /从字串sString左边取出nLength个字符FString Right(const int nLength); /从字串 sString 右边取出 nLength 个字符int InStr(const int nStart, const char *sSearch,const bool bCaseSensitive=true);int InStrRev(const int nStart, const char *sSearch,const bool bCaseSensitive=true);FString RTrim(const char sChar= );FString LTrim(const char sChar= );FString Trim(const char sChar= );FString Replace(const char *sSearch, const char *sReplace);FString Format(const char *sFormat, .); /参数可变的函数int Length();/Various Operatorsinline operator char*(); /转换函数inline FString operator+(const char *sAppend); /新增函数,重载加法运算符inline FString operator+(const FString sAppend); /新增函数,重载加法运算符inline char operator(const int nIndex); /数组下标运算符重载inline FString operator+=(char* val); /新增函数,重载加法运算符inline FString operator+=(FString val); /新增函数,重载加法运算符/Comparison Operatorsinline int operator(const char *val);inline int operator(const char *val);inline int operator=(const char *val);inline int operator!=(const char *val);inline int operator=(const char *val);inline int operator(const FString val);inline int operator(const FString val);inline int operator=(const FString val);inline int operator!=(const FString val);inline int operator=(const FString val);/Assignment OperatorsFString operator=(const char *val);FString operator=(const FString val);4. 程序运行结果界面 图1、初始界面 图2、字符串加法 图3 、字符串减法 图4 、字符串比较大小 图5、对字符串的具体操作 图6、删除字符串首部相同的字符 图7、字符串的插入操作 图8、字符串的替换操作 图9、字符串的倒置替换操作5. 课程设计遇到的技术问题与解决思路 问题1: 在菜单选择时,若输入字符则会出现死循环。解决办法: 将定义为整型输入变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 荆门市中石油2025秋招笔试模拟题含答案行测综合英语
- 中国广电银川市2025秋招财务审计类专业追问清单及参考回答
- 陕西地区中石化2025秋招笔试模拟题含答案安全环保与HSE岗
- 阿里市中储粮2025秋招面试专业追问题库综合管理岗
- 中国广电蚌埠市2025秋招行业解决方案岗位专业追问清单及参考回答
- 本溪市中石油2025秋招面试半结构化模拟题及答案新材料与新能源岗
- 焦作市中储粮2025秋招面试专业追问题库综合管理岗
- 宝鸡市中石化2025秋招笔试行测50题速记
- 哈密市中石油2025秋招笔试行测专练题库及答案
- 中国移动儋州市2025秋招笔试行测题库及答案供应链采购类
- 国庆中秋双节安全培训课件
- 2025年全国青少年全国禁毒知识竞赛试题及答案
- 云南学法减分题库及答案
- 幼儿园大班数学活动《4的分解与组合》课件
- 2025秋七年级开学新生家长会《启幕新篇章携手创辉煌》【课件】
- GJB3243A-2021电子元器件表面安装要求
- 2025年《数字孪生与虚拟调试技术应用》课程标准
- 生物●安徽卷丨2024年安徽省普通高中学业水平选择性考试生物试卷及答案
- 蓝牙耳机委托加工协议书
- 北京车牌出租协议书
- TCCEAS001-2022建设项目工程总承包计价规范
评论
0/150
提交评论