第9周任务5

来源:互联网 发布:单片机教程视频 编辑:程序博客网 时间:2024/06/05 21:57
#include "iostream"using namespace std;class CEquation{private: double a;     // 未知数系数 double b;     // 常数项 char unknown; // 未知数的符号public: CEquation(double aa=0,double bb=0); friend istream &operator >> (istream &in,CEquation &e); friend ostream &operator << (ostream &out,CEquation &e); double Solve(); char getUnknown();};   CEquation::CEquation(double aa,double bb):a(aa),b(bb){}//////////////aa和bb在这里不能被赋值 istream &operator >> (istream &in,CEquation &e){ char c1,c2,c3,c4; while(1) {  in>>e.a>>c1>>c2>>e.b>>c3>>c4;/////////////不是in?  if (c1>='a' && c1<='z')              if ((c2=='+' || c2=='-') && c3=='=' && c4=='0') break;  cout<<"输入的方程格式不符合规范,请重新输入\n"; }      if (c2=='-') e.b=-e.b;      e.unknown=c1;     return in;}ostream &operator << (ostream &out,CEquation &e){  out<<e.a<<e.unknown;      if (e.b>=0) cout<<"+";      cout<<e.b<<"=0"<<endl;      return out;    //cout<<e.a<<e.unknown<<e.getUnknown()<<e.b<<'='<<0; return out;} double CEquation::Solve(){  double y=-b/a; return y;}char CEquation::getUnknown(){ //char c; //cin>>c; //return c; return unknown;}int main(){ CEquation e; cout<<"请输入一元一次方程(输入格式:x-8=0):"; cin>>e;   //在两次测试中,分别输入x-8=0和s+18=0 cout<<"方程为:"<<e; cout<<"方程的解为:"<<e.getUnknown()<<"="<<e.Solve()<<endl; //对两次测试,分别输出x=...和s=... e.Solve(); system("pause"); return 0;}


 

 

感悟:将自己 的程序和老师写的真是天壤之别啊,自己的一点都不严密,不完美。今后要在这一方面多加改正。

 

 

原创粉丝点击