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

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机学院 工程实践 一元多项式的计算 总 报 告 小组序号: 编 撰 人: 指导教师: 提交日期: 项目组成员分工 表 1 项目组成员分工 程序功能 (程序实现的功能,功能结构图) 实现功能:一元多项式的加、减、乘运算 功能结构图: 程序设计简介(包括:类类之间关系等说明) class Node { public: Node(); Node(float c, int e, Node* next); ~Node(){}; float coef; // int exp; //指数 Node* Next; //指向下一项的指针 friend class Polynominal; }; 节点类,储存一元多项式每一项的信息。该内含有两个构造函数,一个析构函数及存储系数、指数和ynominal的访问。 具体成员函数如下: Node::Node(){} 默认构造函数。 Node::Node(float c, int e, Node* next){ coef = c; exp = e; Next = next; } 重载的自定义构造函数,用于给成员变量coef、exp和 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); i++; } if (TempPoly.GetAt(i) == _T(+)){ i++; } if (TempPoly.GetAt(i) == _T(x) ){ temp1 = temp1 +_T(1); } while(j==1){ if

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档