资源描述:
《通信工程c++课程设计--字符串类的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、封皮(按学校要求手工填写)成绩评定表学生姓名班级学号专业通信工程课程设计题目字符串类的设计与实现评语组长签字:成绩日期20年月日课程设计任务书学院信息科学与工程专业通信工程学生姓名班级学号课程设计题目字符串类的设计与实现实践教学要求与任务进行字符串类的设计,具体要求如下:(1)使用堆分配存储表示实现字符串的存储;(2)实现串赋值操作StrAssign(&T,chars);(3)实现串比较操作StrCompare(S,T);(4)实现求串长操作StrLength(S);(5)实现串连接操作Concat(&T,S1,S2);(6)实现求子串操作SubString(&Sub,S,pos,len)
2、;(7)实现清空子串操作ClearString(&S);(8)将上述功能作为类的成员函数实现,编写主函数测试上述功能。工作计划与进度安排第17周:分析题目,查阅课题相关资料,进行类设计、算法设计;第18周:程序的设计、调试与实现;第19周:程序测试与分析,撰写课程设计报告,进行答辩验收。指导教师:201年月日专业负责人:201年月日学院教学副院长:201年月日摘要类是C++中十分重要的概念,它是实现面向对象程序设计的基础。C++对C的改进,最重要的就是增加了“类”这样一种类型。类是对象的抽象,而对象则是类的具体实例,如果一种计算机语言中不包含类,它就不能称为面向对象的语言。一个有一定规模的
3、C++程序是由许多类所构成的。本文进行了对字符串类的设计与实现,该程序实现的主要目的是对串赋值操作、串比较操作、求串长操作、串连接操作、求子串操作和清空子串操作进行功能测试。本文采用VisualC++6.0的控制台工程和MFC工程分别实现了对字符串的相应操作功能的测试,通过对两种程序的测试结果对比分析,表明:本文字符串类的设计思想正确,两种程序均能正确执行对所需功能的测试操作。关键词:类;字符串类的设计与实现;控制台工程;MFC工程目录1需求分析12算法基本原理13类设计24基于控制台的应用程序34.1类的接口设计34.2类的实现44.3主函数设计114.4基于控制台的应用程序测试125基
4、于MFC的应用程序155.1基于MFC的应用程序设计155.1.1MFC程序界面设计155.1.2MFC程序代码设计175.2基于MFC的应用程序测试22结论24参考文献251需求分析(1)类是C++中十分重要的概念,它是实现面向对象程序设计的基础。C++对C的改进,最重要的就是增加了“类”这样一种类型。(2)类是对象的抽象,而对象则是类的具体实例,如果一种计算机语言中不包含类,它就不能称为面向对象的语言。一个有一定规模的C++程序是由许多类所构成的。(3)类是C++的灵魂,如果不真正掌握类,就不能真正掌握C++。2算法基本原理字符串类的设计与实现输入字符串求字符串子串求字符串串长字符串的
5、比较字符串的赋值清空子串字符串的连接输出测试后的结果图2-1基本原理图253类设计从上面的算法分析可以看到,本设计的关键是类的成员函数的定义。可以定义一个字符数组类string,然后在类内声明类的成员函数。字符数组类的各成员函数负责对输入的字符串进行按要求处理,输入的字符串用一个一维数组来存放,字符数组类string的数据成员包括数组str[N]和len。字符数组类string的功能需要有实现串赋值操作StrAssign(&T,chars)、实现串比较操作StrCompare(S,T)、实现求串长操作StrLength(S)、实现串连接操作Concat(&T,S1,S2)、实现求子串操作S
6、ubString(&Sub,S,pos,len)和实现清空子串操作ClearString(&S)。从问题的需要来看,字符数组类string的功能需要有实现串赋值操作StrAssign(&T,chars)、实现串比较操作StrCompare(S,T)、实现求串长操作StrLength(S)、实现串连接操作Concat(&T,S1,S2)、实现求子串操作SubString(&Sub,S,pos,len)和实现清空子串操作ClearString(&S)。字符数组类string的组成如图1所示。string#str[N]:char#len:int+string(char*p)+string()+c
7、opy(char*s1,char*s2):void+copy(char*s):void+strset():void+strout():void+length():int+StrAssign(char*s):void+StrCompare(char*s):int+StrLengh():int+Concat(char*s):void+SubString(char*s,inta,intb):void+ClearString(c