1、 计算机科学与应用系程序类课程设计 设计报告书 题 目: 多项式的运算 指导教师: 姓 名: 学 号: 日 期: 2012/5/16 计算机科学与应用系 2011-2012 学年第二学期 一、 需求分析 输入部分,要求用户能从屏幕上输入两个一元多项式。如多项式 A 为:x3+2x2+4;多项式 B 为:-x3+4x2+2。 程序通过语句得到这两个字符串, 进行解析, 分解出系数和指数, 存储在不同的线性表 LA,LB 中。 然后,程序基于线性表 LA、LB 来实现多项式的加、减、乘、运 算。 最终,输出部分将得到的运算结果输出,如上述多项式 A 和 B 的和为:6x2+6。 二、 系统主要功能
2、 用于一元多项式的加减乘运算。 三、 流程图 从屏幕输入多 项式 A 和 B 分析 A、B,并将指数、系数 对存储到线性表 LA、LB中 多项式加法 多项式减法 多项式乘法 将结果显 示出来 图 1.多项式运算的流程图 四、 数据结构设计 1. 定义多项式类 class Polynomial; 2. 把多项式的指数和系数结合定义为一个类class PolyNode; 3. 用链表保存多项式list L; 五、 类设计 1.多项式的项类 指数、系数可以描述多项式的一项,作为一个整体来存储; class PolyNode public: double xishu;/系数 int zhishu;/指
3、数 public: PolyNode(void); PolyNode(void); PolyNode(double xishu, int zhishu)/构造函数,为xishu、zhishu 赋值 bool operator (PolyNode b)const /判断两项是否满足大的关 系,指数大者大 bool operator= (PolyNode b)const/判断两项是否满足等的关 系 ; 2.2.多项式类 在多项式类中, 必须有存储多项式各项的线性表, 还必须有实现 多项式运算的成员函数。 类的定义如下: class Polynomial/多项式类,其中实现了多项式的加减乘除。 pr
4、ivate: list L;/用于存放多项式的链表 public: Polynomial()/构造函数 ; Polynomial()/析构函数 L.clear();/清空链表 ; void print()/输出多项式 void Insert(PolyNode e) /插入一个结点,使得插入后表中结点 仍然按指数有序还要有合并同类项的功能 void Insert(double xishu,int zhishu) Polynomial operator+(Polynomial b) /重载多项式的加法运算 符 Polynomial operator-(Polynomial b) /重载多项式的减法运算 符 Polynomial operator*(Polynomial b) /重载多项式的乘法运算 符 void Input(Polynomial 六、 主要算法设计 1.用链表保存两个多项