一元多项式的计算实验报告.doc

一元多项式的计算实验报告

计算机学院 工程实践 一元多项式的计算 总 报 告 小组序号: 编 撰 人: 年 级 班 级: 指导教师: 提交日期: 项目组成员分工 表 1 项目组成员分工 程序功能 (程序实现的功能,功能结构图) 实现功能:一元多项式的加、减、乘运算 功能结构图: 程序设计简介 (包括:类及其属性和方法、类之间关系、关键代码等的说明) class Node { public: Node(); Node(float c, int e, Node* next); ~Node(){}; float coef; //系数 int exp; //指数 Node* Next; //指向下一项的指针 friend class Polynominal; }; 节点类,储存一元多项式每一项的信息。该内含有两个构造函数,一个析构函数及存储系数、指数和Next指针等成员变量。与Polynominal是友元关系,允许Polynominal的访问。 具体成员函数如下: Node::Node(){} 默认构造函数。 Node::Node(float c, int e, Node* next){ coef = c; exp = e; Next = next; } 重载的自定义构造函数,用于给成员变量coef、exp和Next存入数据,Next指向传参来的next指针指向的地址,用于构造链表。 2. class Polynominal{ public: Polynominal(); Polynominal(Polynominal a); //拷贝构造函数 void GetMSG(CString TempPloy); //获取由对话框输入的字符串并处理 CString Output_Node(); //输出最后结果 void PolyAdd(Polynominal a, Polynominal b); //加法 void PolySubtract(Polynominal a, Polynominal b); //减法 void PolyMultiply(Polynominal a, Polynominal b); //乘法 void PolySort(); //排序函数,用于乘法之后的按指数排序 void OutFile(); //文本输出函数 void OutFile(Polynominal a, Polynominal b, string ch); //重载文本输出函数 void OpposeCoef(Polynominal a, Node *temp); //系数取反,用于减法运算 Node theList; //头节点 ofstream FOut; //输出流 }; 此类用于构造一元多项式。包括加、减、乘各各功能函数,还有两个帮助运算的辅助函数,以及界面输入输出和文本输出函数。成员变量有头节点和输出流。 具体成员函数如下: Polynominal::Polynominal(){} 默认构造函数 Polynominal::Polynominal(Polynominal a){ Node* temp = a.theList.Next; Node* tempNode = theList; for (; temp != NULL;){ tempNode-Next = new Node(temp-coef, temp-exp, NULL); temp = temp-Next; tempNode = tempNode-Next; } } 拷贝构造函数,用于计算时对象间的赋值,防止误改数据。 void Polynominal::GetMSG(CString TempPoly){ TempPoly.Remove(_T(^)); Node* TempNode = theList; int i = 0; for (i;iTempPoly.GetLength(); ){ CString temp1 ; CString temp2 ; int j = 1; if (TempPoly.GetAt(i) ==_T(-)){ temp1 = temp1 + TempPoly.GetAt(i);

文档评论(0)

1亿VIP精品文档

相关文档