云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C课程设计字符串类的设计与实现

C课程设计字符串类的设计与实现

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 4:03:10

3 类设计 4 详细设计

整个程序分为三个独立的文档,Linequ.h文件中包括矩阵类Matrix和线性方程组类Linequ的声明,Linequ.cpp文件中包括这两个类的成员函数实现文件;main.cpp文件包括程序的主函数,主函数中定义了一个类Linequ的对象,通过这个对象求解一个四元线性方程组。

4.1 类的接口设计

//Linequ.h文件,实现类的声明 #include #include using namespace std;

class Matrix { public: };

//外部接口

//构造函数 //析构函数

//矩阵赋初值

Matrix(int dims=2); ~Matrix();

//基类Matrix声明

void SetMatrix(double *rmax); void PrintM(); int index;

//显示矩阵

protected:

//方阵的行数

//矩阵存放数组首地址

double* MatrixA;

class Linequ:public Matrix //公有派生类Linequ声明 { public: };

经过公有派生,Linequ类获得了除构造函数、析构函数之外的Matrix类的全部成员,由于基类的成员是公有和保护类型,因此在派生类中的成员函数中,基类继承来的成员全部可以访问,而对于建立Linequ类对象的外部模块来讲,基类的保护成员是无法访问的。通过保护访问类型和公有的继承方式,实现了基类Matrix的数据的有效共享和可靠保护。在程序中,方程的系数矩阵、解以及右端项全部采用了动态内存分配技术,这些工作都是在基类、派生类的构造函数中完成,它们的清理工作在析构函数中完成。

//外部接口 //构造函数 //析构函数 //显示方程 //显示方程的解 //方程右端项 //方程的解

Linequ(int dims=2); ~Linequ(); void PrintL(); int Solve();

void SetLinequ(double *a, double *b); //方程赋值

//全选主元高斯消去法求解方程 //私有数据

void ShowX(); double *sums; double *solu;

private:

4.2 类的实现 4.3 主函数设计

int main() { int a=1,p,len; MyString S; MyString st1; MyString st2; MyString sub; MyString T; char ch1[20]; char cl;

cout<<\欢迎进入字符串操作程序

****************************\ while (a!=0) { cout<<\ cout<<\请选择功能操作:\ cout<<\字符串的赋值\\n2.字符串的长度\\n3.字符串的比较\\n4.字符串的连接\\n5.求字符串的子串\\n6.清空字符串\\n0.退出\ cin >>a; switch(a) { case 0: cout<<\谢谢使用!祝您工作顺利!*****************************\ case 1: cout<<\请输入用于赋值新字符串\ cin>>ch1;

InitString(&st1); StrAssign(&st1,ch1); cout<<\字符串被赋的值为:\ PrintString(st1);break ; case 2: cout<<\请输入新字符串S\ cin>>ch1;

InitString(&st1); StrAssign(&st1,ch1); cout<<\长度为:\ case 3:{ cout<<\请输入要比较的两个字符串S pk T\ cout<<\请输入第一个字符串st1(长度<20:)\ cin>>ch1;

InitString(&st1); StrAssign(&st1,ch1); cout<<\请输入第二个字符串st2(长度<20):\ cin>>ch1;

InitString(&st2); StrAssign(&st2,ch1); StrCompare(st1,st2); int flag=StrCompare(st1,st2); if(flag==0) {

cout<<\字符串st1与st2相等\ }

else if(flag>0) {

cout<<\字符串st1比st2大\ } else

{

cout<<\字符串st1比st2小\ } } break ; case 4:cout<<\请输入要连接的两个字符串S1 & S2\ cout<<\请输入第一个字符串(长度<20):\ cin>>ch1;

InitString(&st1); StrAssign(&st1,ch1); cout<<\请输入第二个字符串(长度<20):\ cin>>ch1;

InitString(&st2); StrAssign(&st2,ch1); InitString(&T); Concat(&T,st1,st2); cout<<\连接后的新字符串:\ PrintString(T); break; case 5: cout<<\请输入主串S(长度<20):\ cin>>ch1;

InitString(&S); StrAssign(&S,ch1); InitString(&sub); cout<<\请输入起始位置p:\ cin>>p;

cout<<\请输入子串的长度len(请考虑主串的长度)\ cin>>len;

cout<<\所求子串为:\ SubString(&sub,S,p,len); PrintString(sub); break; case 6:cout<<\确定要清空的字符串(Y/N)\ cin>>cl; if(cl=='y'||cl=='Y') { ClearString(&st1); ClearString(&st2); ClearString(&sub); ClearString(&T); }; cout<<\字符串操作清除成功!\

搜索更多关于: C课程设计字符串类的设计与实现 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

3 类设计 4 详细设计 整个程序分为三个独立的文档,Linequ.h文件中包括矩阵类Matrix和线性方程组类Linequ的声明,Linequ.cpp文件中包括这两个类的成员函数实现文件;main.cpp文件包括程序的主函数,主函数中定义了一个类Linequ的对象,通过这个对象求解一个四元线性方程组。 4.1 类的接口设计 //Linequ.h文件,实现类的声明 #include #include using namespace std; class Matrix { public: }; //外部接口 //构造函数 //析构函数 //矩阵赋初值

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com