《C++第九周实验报告5-1》---设计一元一次方程类,求形如ax+b=0的方程的解

来源:互联网 发布:面向对象编程的特点 编辑:程序博客网 时间:2024/04/24 12:20
/*【任务5】设计一元一次方程类,求形如ax+b=0的方程的解。例如:输入3x-8=0时,输出的方程的解为x=2.66667;再如:输入5s+18=0时,输出的方程的解为s=-3.6; *//* (程序头部注释开始)* 程序的版权和版本声明部分* Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved.* 文件名称:   CEquation.cpp                           * 作    者:   计114-3 王兴锋     * 完成日期:    2012  年    4   月    16    日* 版 本 号:       V 1.0* 对任务及求解方法的描述部分* 输入描述:设计一元一次方程类* 问题描述:求形如ax+b=0的方程的解。例如:输入3x-8=0时,输出的方程的解为x=2.66667;再如:输入5s+18=0时,输出的方程的解为s=-3.6;* 程序输出: 方程的解。* 程序头部的注释结束*/#include "iostream"using namespace std;class CEquation{private:double a;     // 未知数系数double b;     // 常数项char unknown; // 未知数的符号char sign;public:CEquation(double aa=0, double bb=0){if (aa == 0) return; 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 ch;in >> e.a >> e.unknown >> e.b >> ch >> ch;return in;}ostream &operator << (ostream &out,CEquation &e){out << e.a << e.unknown << (e.b > 0? "+":"") << e.b << "=0";return out;}double CEquation::Solve(){return (-b/a);}char CEquation::getUnknown(){return unknown;}int main(){CEquation e1, e2;//3x-8=0cout << "请输入一元一次方程(输入格式:3x-8=0):";cin >> e1;cout << "方程为:" << e1;cout << "方程的解为:" << e1.getUnknown() << "=" << e1.Solve() << endl;//5s+18=0cout << "请输入一元一次方程(输入格式:3x-8=0):";cin >> e2;cout << "方程为:" << e2;cout << "方程的解为:" << e2.getUnknown() << "=" << e2.Solve() << endl;system("pause");return 0;}

原创粉丝点击