项目五(拓展)
来源:互联网 发布:德文布克数据 编辑:程序博客网 时间:2024/04/30 04:54
程序:
/*设计一元一次方程类,求形如ax+b=c的方程的解。*/#include "iostream"using namespace std;class CEquation{private: double a; // 未知数系数 double b; // 常数项 double c; // 等号后面的常数 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; while(1) { cin>>e.a>>ch1>>ch2>>e.b>>ch3>>e.c; if (ch1>='a' && ch1<='z') if ((ch2=='+' || ch2=='-') && ch3=='=' ) break; cout<<"输入的方程格式不符合规范,请重新输入\n"; } if (ch2=='-') e.b=-e.b; e.b-=e.c; e.unknown=ch1; return in;}// 输出方程ostream &operator << (ostream &out,CEquation &e){ cout<<e.a<<e.unknown; if (e.b>=0) cout<<"+"; cout<<e.b<<"="<<e.c<<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
- 项目五(拓展)
- 项目五拓展
- 第11周项目2(拓展)
- 第11周项目4(拓展)
- 第十周项目一——拓展项目(二)
- 项目三拓展
- 项目4--拓展1
- 项目1--拓展
- 第十一周(项目二 拓展)——职员有薪水了 (拓展)。
- 第十七周项目1(拓展)-数据结构拓展之数组操作
- 第十一周项目2(拓展)-求四个数最大公约数
- 第十一周项目4(拓展)求组合数
- 第十四周-(项目四,拓展二)数组排序。
- 第四周项目(拓展1)动态员工工资问题
- 第四周项目4(拓展2)文件与工资
- 第十周-项目2-职员有薪水了(拓展)
- 第十周项目一(1的拓展)
- 第十周项目四 (拓展)大奖赛计分
- ORA-12154: TNS: 无法解析指定的连接标识符
- 第十周作业1
- 第六章作业
- imageview的使用
- JDBC小知识
- 项目五(拓展)
- ActionBar的Overflow菜单的样式定义
- 出售未来 //转自《自控力》
- 在水晶报表中如何显示Checkbox的样式
- 用GDB调试程序 - Ubuntu中文
- JWPlayer快速入门指南(中文)
- 努力成为布道者
- 第四章作业
- 蚁群算法求解迷宫最优路径问题