您的位置:首页 > 移动开发 > IOS开发

第九周 任务5

2012-04-18 19:42 239 查看
#include < iostream >

using namespace std;

class CEquation

{

private:

char c;

double a;     // 未知数系数

double b;     // 常数项

char unknown; // 未知数的符号

public:

CEquation ( double aa = 0, double bb = 0 ) : a ( aa ), b ( bb ) { }

friend istream &operator >> ( istream &in, CEquation &e );

friend ostream &operator << ( ostream &out, CEquation &e );

double Solve( );

char getUnknown( );

};

istream & operator >> ( istream &in, CEquation &e )

{

char d;

int m;

in >> e.a >> e.unknown >> e.c >> e.b >> d >> m;

return in;

}

ostream &operator << ( ostream &out, CEquation &e )

{

out << e.a << e.unknown << e.c << e.b << "+0";

return out;

}

double CEquation :: Solve( )

{

double s;

if ( c == '-') s = b / a;

else s= - ( b / a );

return s;

}

char CEquation :: getUnknown( )

{

return unknown;

}

int main( )

{

CEquation e;

cout << "请输入一元一次方程(输入格式:3x-8=0):";

cin >> e;                                        //在两次测试中,分别输入3x-8=0和5s+18=0

cout << "方程为:" << e;

cout << "方程的解为:" << e.getUnknown( ) << "=" << e.Solve( ) << endl; //对两次测试,分别输出x=...和s=...

e.Solve( );

system ( "pause" );

return 0;

}
#include < iostream >

using namespace std;

class CEquation

{

private:

char c;

double a;     // 未知数系数

double b;     // 常数项

char unknown; // 未知数的符号

public:

CEquation ( double aa = 0, double bb = 0 ) : a ( aa ), b ( bb ) { }

friend istream &operator >> ( istream &in, CEquation &e );

friend ostream &operator << ( ostream &out, CEquation &e );

double Solve( );

char getUnknown( );

};

istream & operator >> ( istream &in, CEquation &e )

{

char d;

int m;

in >> e.a >> e.unknown >> e.c >> e.b >> d >> m;

return in;

}

ostream &operator << ( ostream &out, CEquation &e )

{

out << e.a << e.unknown << e.c << e.b << "+0";

return out;

}

double CEquation :: Solve( )

{

double s;

if ( c == '-') s = b / a;

else s= - ( b / a );

return s;

}

char CEquation :: getUnknown( )

{

return unknown;

}

int main( )

{

CEquation e;

cout << "请输入一元一次方程(输入格式:3x-8=0):";

cin >> e;                                        //在两次测试中,分别输入3x-8=0和5s+18=0

cout << "方程为:" << e;

cout << "方程的解为:" << e.getUnknown( ) << "=" << e.Solve( ) << endl; //对两次测试,分别输出x=...和s=...

e.Solve( );

system ( "pause" );

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息