项目五。一元方程类
来源:互联网 发布:德文布克数据 编辑:程序博客网 时间:2024/05/09 12:48
程序:
/*设计一元一次方程类,求形如ax+b=0的方程的解。例如:输入3x-8=0时,输出的方程的解为x=2.66667;再如:输入5s+18=0时,输出的方程的解为s=-3.6; [cpp] view plaincopyprint?*/#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) {}// 输入方程istream &operator >> (istream &in,CEquation &e){ char ch1,ch2,ch3,ch4; while(1) { cin>>e.a>>ch1>>ch2>>e.b>>ch3>>ch4; if (ch1>='a' && ch1<='z') if ((ch2=='+' || ch2=='-') && ch3=='=' && ch4=='0') break; cout<<"输入的方程格式不符合规范,请重新输入\n"; } if (ch2=='-') e.b=-e.b; e.unknown=ch1; return in;}// 输出方程ostream &operator << (ostream &out,CEquation &e){ cout<<e.a<<e.unknown; if (e.b>=0) cout<<"+"; cout<<e.b<<"=0"<<endl; return out;}// 求解double CEquation::Solve(){ double x; if (a==0) { if (b==0) cout<<"任意一个实数均为方程的解。"<<endl; else cout<<"方程无解。"<<endl; return 0; } x=-b/a; return x;}char CEquation::getUnknown(){ return unknown;}int main(){ CEquation e; cout<<"请输入方程(格式:ax-b=0,a、b为常数,x处是代表未知数的字母):"; cin>>e; //在两次测试中,分别输入3x-8=0和50s+180=0 cout<<"方程为:"<<e; cout<<"方程的解为:"<<e.getUnknown()<<"="<<e.Solve()<<endl; //对两次测试,分别输出x=...和s=... e.Solve();}
结果:
体会:略
0 0
- 项目五。一元方程类
- 第10周-一元方程类
- 一元方程求解
- 求解一元方程公式法
- 一元方程的数值解法
- python解一元方程
- 项目五复数模板类
- 项目五
- 项目五复数模板类(扩展)
- 第七周项目五复数模板类
- 第七周项目五类模板
- 第九周项目五一元一次方程类
- 第九周项目五-一元二次方程类
- 第九周项目五设计一元一次方程类
- 第九周项目五:方程也是类
- 第九周 项目五:方程类
- 第九周项目五 方程也是类
- 第九周项目五方程也是类
- 你若安好,便是晴天
- IntelliJ IDEA 快捷键大全
- 第六章作业
- Linux的SOCKET编程详解
- 第四周作业(上)
- 项目五。一元方程类
- 在U-boot下实现自动识别启动Flash的原理 本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/201
- Linux Top 命令详解
- android初步学习--Radiogroup使用
- C++的历史
- PSoC5 Timer使用
- ORA-12154: TNS: 无法解析指定的连接标识符
- 第十周作业1
- 第六章作业