C++课程设计字符串类的设计与实现论文
封皮
(按学校要求手工填写)
课程设计任务书
学院 信息科学与工程 专业 通信工程学生姓名 *** 学号 10030603** 设计题目 字符串类的设计与实现内容及要求:
计算机处理的对象分为数值数据和非数值数据,字符串是最基本的非数值数据。其应用非常广泛,它是许多软件系统(如字符编辑、情报检索、词法分析、符号处理、自然语言翻译等系统)的操作对象。其重要性不言而喻。
要求采用C++语言实现进行字符串类的设计,
具体要求如下:
(1) 使用堆分配存储表示实现字符串的存储;
(2) 实现串赋值操作StrAssign &T, chars ;
(3) pare S,T ;
(4) 实现求串长操作StrLength S ;
(5) 实现串连接操作Concat &T,S1,S2
(6) 实现求子串操作SubString &Sub,S,pos,len
(7) 实现清空子串操作ClearString &S ;
(8) 将上述功能作为类的成员函数实现,编写主函数测试上述功能。
进度安排:
第17周:分析题目,查阅课题相关资料,进行类设计、算法设计;
第18周:程序的设计、调试与实现;
第19周:程序测试与分析,撰写课程设计报告,进行答辩验收。指导教师(签字):
年月日 学院院长(签字)
年月日
目录
1 需求分析 - 1 -
2 算法基本原理 - 1 -
3 类设计 - 2 -
4 详细设计 - 3 -
类的接口设计 - 3 -
类的实现 - 5 -
主函数设计 - 10 -
5 DOS界面程序运行结果及分析 - 11 -
程序运行结果 - 11 -
- 12 -
6 基于MFC的图形界面程序开发 - 13 -
基于MFC的图形界面程序设计 - 13 -
程序测试 - 17 -
MFC程序编写总结 - 19 -
7 参考文献 - 19 -
1 需求分析
1 计算机处理的对象分为数值数据和非数值数据,字符串是最基本的非数值数据。其应用非常广泛,它是许多软件系统(如字符编辑、情报检索、词法分析、符号处理、自然语言翻译等系统)的操作对象。其重要性不言而喻。
2 字符串是字符的有限集合,可记作a ’a1 …an’。其中a是字符串的名,单括号里的字符序列是字符串的值,单引号不是字符串的成分,其作用是为了避免变量名与常量混淆。ai 0 i n+1 称为字符串的元素,是构成字符串的基本单位。N表示字符串的长度,且n 0,如果等于0,则称a为空串,记作:a ’’。
2 算法基本原理
(1)字符串从结构上看是一种以字符为数据元素的线性表,从存储结构的不同可分为顺序表和链式存储结构,它们都适用于字符串,但由于要求的操作不同,为了提高运算效率所选用的存储结构也是不同的。对于字符串改动较频繁的一般用链式存储结构,而顺序存储结构能够高效的读取。所以各有优点。本程序由于需要大量改动数据,理所当然的选择链式存储结构,其算法结构为:
Typedef struct
Char *ch; /*若字符串为空,则按长度分配存储区,否则为NULL */
Int length; /*字符串的长度*、
(2)本题字符串要求用堆来分配字符串的存储空间,采用堆分配函数malloc,它的格式为T- ch char * malloc sizeof char *len,就会为字符串分配内存。
(3)函数是有字符串类进行调用的,通过在主函数中定义字符串类的对象,作为函数的参数,对于需要改写对象的需要进行址传递,我们可以通过函数在主函数中的反映来观察他的执行状态。
3 类设计
4 详细设计
整个程序分为三个独立的文档,,;,主函数中定义了一个类Linequ的对象,通过这个对象求解一个四元线性方程组。
类的接口设计
//,实现类的声明
#include
#include
using namespace std;
class Matrix //基类Matrix声明
public: //外部接口
Matrix int dims 2 ; //构造函数
~Matrix ; //析构函数
void SetMatrix double *r ; //矩阵赋初值
void PrintM ; //显示矩阵
protected:
int inde
C 课程设计字符串类的设计与实现论文 来自淘豆网m.daumloan.com转载请标明出处.