文档库 最新最全的文档下载
当前位置:文档库 › class2

class2

解一元二次方程:
#include
#include
#include
using namespace std;
class Equation
{
double a;
double b;
double c;
public:
Equation();
Equation(double a_v,double b_v,double c_v);
void setA(double a_v);
void setB(double b_v);
void setC(double c_v);
void getRoot();
};
Equation::Equation(){a=0;b=0;c=0;}
void Equation::setA(double a_v){a=a_v;}
void Equation::setB(double b_v){b=b_v;}
void Equation::setC(double c_v){c=c_v;}
void Equation::getRoot()
{
double x1,x2;
if(a==0)
cout<else if(a!=0)
{
if(b*b-4*a*c==0)
cout<if(b*b-4*a*c>0)
{
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
cout<x2=(-b-sqrt(b*b-4*a*c))/(2*a);
cout<x2=(-b-sqrt(4*a*c-b*b))/(2*a);
cout<}

}
}

int main()
{
double a,b,c;
Equation p;
int n,t;
cin>>t;
for(n=0;n{
cin>>a>>b>>c;
p.setA(a);p.setB(b);p.setC(c);
p.getRoot();
}
return 0;
}

复数的运算:
#include
using namespace std;
class complex
{
private:
int r;
int i;
public:
complex();
complex(int r_v,int i_v);
void setR(int r_v);
void setI(int i_v);
int getR();
int getI();
complex add(complex p)
{
complex t;
t.r=r+p.r;
t.i=i+p.i;
return t;
}
complex mul(complex p)
{
complex t;
t.r=r-p.r;
t.i=i-p.i;
return t;
}
void print()
{
if(r==0&&i!=0&&i!=1)
cout<if(r!=0&&i>0&&i!=1)
cout<if(i==0)
cout<if(i==1)
cout<if(i<0)
cout<}
};

complex::complex(){r=1;i=1;}
complex::complex(int r_v,int i_v){r=r_v;i=i_v;}
int complex::getR(){return r;}
int complex::getI(){return i;}

void complex::setR(int r_v){r=r_v;}
void complex::setI(int i_v){i=i_v;}

int main()
{
int a,b,c,d,n,t;
cin>>t;
for(n=0;n{
cin>>a>>b>>c>>d;
complex X;
complex Y;
complex Z;
complex q;
X.setR(a);X.setI(b);
Y.setR(c);Y.setI(d);
Z=X.add(Y);
cout<<"sum:";
Z.print();

q=X.mul(Y);
cout<<"remainder:";
q.print();
}
return 0;
}

分数运算:



#include
#include
using namespace std;
class CFraction
{
private:
int fz,fm;
public:
void init(int fz_val, int fm_val);
CFraction add(const CFraction &r);
CFraction sub(const CFraction &r);
CFraction mul(const CFraction &r);
CFraction div(const CFraction &r);
int getGCD();
void print();
};

int CFraction::getGCD()
{
int t,a,b;
a=fm;
b=fz;
if(a<0)a=-a;
if(b<0)b=-b;
while(b)
{
t=a%b;
a=b;
b=t;
}
return a;
}

void CFraction::init(int fz_val,int fm_val)
{fz=fz_val;fm=fm_val;}

CFraction CFraction::add(const CFraction &r)
{
CFraction t;
t.fz=fz*r.fm+fm*r.fz;
t.fm=fm*r.fm;
int GCD=t.getGCD();
t.fz=t.fz/GCD;
t.fm=t.fm/GCD;
return t;
}

void CFraction::print()
{cout<
CFraction CFraction::sub(const CFraction &r)
{
CFraction t;
t.fz=fz*r.fm-fm*r.fz;
t.fm=fm*r.fm;
int GCD=t.getGCD();
t.fz=t.fz/GCD;
t.fm=t.fm/GCD;
return t;
}

CFraction CFraction::mul(const CFraction &r)
{
CFraction t;
t.fz=fz*r.fz;
t.fm=fm*r.fm;
int GCD=t.getGCD();
t.fz=t.fz/GCD;
t.fm=t.fm/GCD;
return t;
}

CFraction CFraction::div(const CFraction &r)
{
CFraction t;
t.fz=fz*r.fm;
t.fm=fm*r.fz;
int GCD=t.getGCD();
t.fz=t.fz/GCD;
t.fm=t.fm/GCD;
return t;
}


int main()
{
int n,fz,fm;
char t;
cin>>n;
CFraction fenshu1;
CFraction fenshu2;
CFraction result;
while(n--)
{
cin>>fz>>t>>fm;
fenshu1.init(fz,fm);
//cout<cin>>fz>>t>>fm;
fenshu2.init(fz,fm);

result=fenshu1.add(fenshu2);
result.print();

result=fenshu1.sub(fenshu2);
result.print();

result=fenshu1.mul(fenshu2);
result.print();

result=fenshu1.div(fenshu2);
result.print();
if(n!=0)
cout<}
return 0;
}


相关文档