- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课程设计字符串类的设计与实现
封 皮
(按学校要求手工填写)
课 程 设 计 任 务 书
学院 信息科学与工程 专业 通信工程 学生姓名 *** 学号* 设计题目 字符串类的设计与实现 内容及要求:
计算机处理的对象分为数值数据和非数值数据,字符串是最基本的非数值数据。其应用非常广泛,它是许多软件系统(如字符编辑、情报检索、词法分析、符号处理、自然语言翻译等系统)的操作对象。其重要性不言而喻。
要求采用C++语言实现进行字符串类的设计,
具体要求如下:
(1) 使用堆分配存储表示实现字符串的存储;
(2) 实现串赋值操作StrAssign(T, chars);
(3) 实现串比较操作StrCompare(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 -
4.1 类的接口设计 - 3 -
4.2 类的实现 - 5 -
4.3 主函数设计 - 10 -
5 DOS界面程序运行结果及分析 - 11 -
5.1 程序运行结果 - 11 -
5.2运行结果分析 - 12 -
6 基于MFC的图形界面程序开发 - 13 -
6.1 基于MFC的图形界面程序设计 - 13 -
6.2 程序测试 - 17 -
6.3 MFC程序编写总结 - 19 -
7 参考文献 - 19 -
1 需求分析
(1) 计算机处理的对象分为数值数据和非数值数据,字符串是最基本的非数值数据。其应用非常广泛,它是许多软件系统(如字符编辑、情报检索、词法分析、符号处理、自然语言翻译等系统)的操作对象。其重要性不言而喻。
(2)字符串是字符的有限集合,可记作a=’a1 …an’。其中a是字符串的名,单括号里的字符序列是字符串的值,单引号不是字符串的成分,其作用是为了避免变量名与常量混淆。ai(0in+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.h文件中包括矩阵类Matrix和线性方程组类Linequ的声明,Linequ.cpp文件中包括这两个类的成员函数实现文件;main.cpp文件包括程序的主函数,主函数中定义了一个类Linequ的对象,通过这个对象求解一个四元线性方程组。
4.1 类的接口设计
//Linequ.h文件,实现类的声明
#include iostream
#include cmath
using namespace std;
class Matrix //基类Matrix声明
{
public: //外部接口
Matrix(int dims=2); //构造函数
~Matrix(); //析构函数
void SetMatrix(double *rmax); //矩阵赋初值
void PrintM(); //显示矩阵
protected:
int
文档评论(0)