用“派生类”求一元二次方程的解
2014-05-06 14:52
176 查看
/*烟台大学计算机学院学生 *All right reserved. *文件名称*烟台大学计算机学院学生 *All right reserved. *文件名称:用“派生类”求一元二次方程的解 *作者:杨飞 *完成日期:2014年4月11日 *版本号:v1.0 *对任务及求解方法的描述部分:用“派生类”求一元二次方程的解 *我的程序:*/ #include <iostream> #include <cmath> using namespace std; //方程基类 class CEquation { protected: double a; double b; double c; public: CEquation(double aa=0,double bb=0,double cc=0): a(aa),b(bb),c(cc){}; void setCEquation(double aa,double bb,double cc); }; void CEquation::setCEquation(double aa,double bb,double cc) { a=aa; b=bb; c=cc; } class CEquation12:public CEquation { private: char unkown; public: CEquation12(double aa=0,double bb=0,double cc=0): CEquation(aa,bb,cc) { unkown='x'; }; void solve(); friend istream &operator>>(istream &input,CEquation12 &e); friend ostream &operator<<(ostream &output,CEquation12&e); }; istream &operator>>(istream &input,CEquation12 &e) { cout<<"请输入一元二次方程的三个系数(例如2 1 5)"<<endl; input>>e.a>>e.b>>e.c; return input; } ostream &operator<<(ostream &output,CEquation12&e) { cout<<e.a<<e.unkown<<"^2"; if(e.b>=0) cout<<"+"; cout<<e.b<<e.unkown; if(e.c>=0) cout<<"+"; cout<<e.c<<"=0"<<endl; return output; } void CEquation12::solve() { double delt,x; if(a==0) { if(b==0) { if(c==0) cout<<"方程的解为任意的实数!!!"<<endl; else cout<<"方程无解!!!"<<endl; } else { x=(-c)/b; cout<<"方程的解"<<unkown<<"="<<x<<endl; } } else { delt=b*b-4*a*c; if(delt<0) cout<<"方程无解!!!"<<endl; if(delt==0) { cout<<"方程有两个相同的实数根"<<endl; cout<<"x1=x2="<<(-b)/2*a; } if(delt>0) { cout<<"方程有两个不相同的实数根"<<endl; cout<<"x1="<<((-b)+sqrt(delt))/2*a; cout<<"x2="<<((-b)-sqrt(delt))/2*a; } } } int main() { CEquation12 e; cin>>e; cout<<"方程"<<e<<endl; e.solve(); return 0; }
运行结果:
心得体会:无
相关文章推荐
- Python数学运算的一个小算法(求一元二次方程的实根)
- 1.4.20:求一元二次方程的根
- 第三章数程序设计初步--分支结构项目5求一元二次方程的根
- 例题(8.3) 求一元二次方程的根 (1051)
- 上机作业求一元二次方程
- 通过java实现输入系数求一元二次方程根,学习Scanner()、split()和Substring()函数
- 求一元二次方程的解
- 求一元二次方程的根
- 第七周项目求一元二次方程根
- 求一元二次方程的根,计算运费问题,计算个人所得税问题
- 根据系数求一元二次方程的实根
- 用类方法求解一元二次实系数方程
- 分支-18. 求一元二次方程的根(20)
- C#程序,求一元二次方程的根
- 分支-18. 求一元二次方程的根*
- if语句(判断结婚条件和一元二次方程)
- 【open Judge】c语言 20:求一元二次方程的根
- 第三周作业——求一元二次方程的根
- 20_求一元二次方程的根
- C++练习题:求一元二次方程的根