好文档 - 专业文书写作范文服务资料分享网站

C++课程设计报告--小型特殊计算器5

天下 分享 时间: 加入收藏 我要投稿 点赞

class matrix {

public:

void Disp(); //显示矩阵所有元素

int matrix::operator ()(short row, short col); //重载运算符成员函数() void SetElem(short row,short col,int val); //将元素(row,col)设置为val matrix();

matrix(short r,short c) { rows= r; cols= c; elems= new int[rows*cols]; }

virtual ~matrix();

friend matrix operator +(matrix p,matrix q); //重载运算符+ friend matrix operator -(matrix p,matrix q); //重载运算符- friend matrix operator *(matrix p,matrix q); //重载运算符× private:

int * elems; //存放矩阵的所有元素 short cols; //矩阵的列 short rows; //矩阵的行 };

/*****************************************************************************/

// set.h: interface for the set class. #include

//enum bool {false,true};

enum errcode {noerr,overflow}; //定义集合类 class set {

public:

void print(); //显示输出集合元素 set(){card=0;} virtual ~set();

errcode additem(int); //增加集合元素

friend bool operator &(int,set); //声明重载运算符&,判断某一整数是否属于某一集合

friend bool operator ==(set,set); //声明重载运算符==,判断两个集合是否相等

friend bool operator !=(set,set); //声明重载运算符!=,判断两个集合是否不等

friend set operator *(set,set); friend set operator +(set,set);

//声明重载运算符*,求两个集合的//声明重载运算符+,求两个集合的

friend bool operator <(set,set); //声明重载运算符<,判断某一集合是否为另一集合的纯子集

friend bool operator <=(set,set); //声明重载运算符<=,判断某一集合是否为另一集合的子集

private:

int elems[16]; int card; };

/*****************************************************************************/

// complex.cpp: implementation of the complex class. #include #include \ complex::complex() { }

complex::~complex() { }

/*****************************************************************************/

/*

函数名称:print 功能描述:显示复数 修改记录: */

void complex::print() {

cout<0) cout<<\ if(image!=0) cout<

/*****************************************************************************/

/*

函数名称:operator +

功能描述:显示复数 修改记录: */

complex operator + (complex a,complex b) {

complex temp;

temp.real= a.real +b.real ;

temp.image= a.image +b.image ; return temp; }

/*****************************************************************************/

/*

函数名称:operator - 功能描述:显示复数 修改记录: */

complex operator - (complex a,complex b) {

complex temp;

temp.real= a.real -b.real ;

temp.image= a.image -b.image ; return temp; }

/*****************************************************************************/

/*

函数名称:operator * 功能描述:显示复数 修改记录: */

complex operator * (complex a,complex b) {

complex temp;

temp.real= a.real *b.real -a.image *b.image ; temp.image =a.real *b.image +a.image *b.real ; return temp; }

/*****************************************************************************/

/*

函数名称:operator / 功能描述:显示复数 修改记录:

*/

complex operator / (complex a,complex b) {

complex temp; float tt;

tt=1/(b.real *b.real +b.image *b.image );

temp.real =(a.real *b.real +a.image *b.image )*tt; temp.image =(b.real *a.image -a.real *b.image )*tt; return temp; }

/*****************************************************************************/

// rational.cpp: implementation of the rational class. #include #include #include \

rational::rational(int x,int y) {

numerator= x; denominator= y; optimization(); //有理数优化 }

rational::~rational() { }

/*****************************************************************************/

/*

函数名称:optimization

功能描述:定义有理数优化函数 修改记录: */

void rational::optimization() {

int gcd;

if(numerator==0) //如果分子为零,则分母为1后返回 { denominator= 1; return; }

//取分子分母中较小的数作为公约数极限 gcd=

(abs(numerator)>abs(denominator))?abs(numerator):abs(denominator);

if(gcd==0) return; //若为0,则返回 for(int i= gcd;i>1;i--) //用循环找最大公约数 if((numerator%i==0)&& (denominator%i==0)) break; numerator/=i; //i为最大公约数,将分子分母整除它,重新赋

denominator/=i;

//若分子分母均为负数,则结果为正 if(numerator<0 && denominator<0) { numerator= -numerator; denominator= -denominator; }

//若分子分母只有一个为负数,则调整为分子取负,分母取正 else if(numerator<0 || denominator<0) { numerator= -abs(numerator); denominator=abs(denominator); } }

/*****************************************************************************/

/*

函数名称:print 功能描述:显示复数 修改记录: */

void rational::print() {

cout<

if(numerator!=0 && denominator!=1) cout<<\ else cout<<\ }

/*****************************************************************************/

/*

函数名称: operator + 功能描述:重载运算符+ 修改记录: */

rational operator + (rational num1,rational num2)

C++课程设计报告--小型特殊计算器5

classmatrix{public:voidDisp();//显示矩阵所有元素intmatrix::operator()(shortrow,shortcol);//重载运算符成员函数()voidSetElem(shortrow,shortc
推荐度:
点击下载文档文档为doc格式
7s38z50jx21xkfw968ko77t6k14pg601b5k
领取福利

微信扫码领取福利

微信扫码分享