ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:157.62KB ,
资源ID:571751      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/571751.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一元多项式计算实验报告.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、一元多项式计算实验报告计算机学院工程实践一元多项式的计算 总 报 告小组序号:编 撰 人:年 级 班 级:指导教师:提交日期:1. 项目组成员分工表 1 项目组成员分工2. 程序功能(程序实现的功能,功能结构图)实现功能:一元多项式的加、减、乘运算功能结构图:3. 程序设计简介(包括:类及其属性和方法、类之间关系、关键代码等的说明)1. class Nodepublic: Node(); Node(float c, int e, Node* next); Node(); float coef; /系数 int exp; /指数 Node* Next; /指向下一项的指针 friend clas

2、s Polynominal; 节点类,储存一元多项式每一项的信息。该内含有两个构造函数,一个析构函数及存储系数、指数和Next指针等成员变量。与Polynominal是友元关系,允许Polynominal的访问。 具体成员函数如下:1) Node:Node() 默认构造函数。2) Node:Node(float c, int e, Node* next) coef = c; exp = e; Next = next; 重载的自定义构造函数,用于给成员变量coef、exp和Next存入数据,Next指向传参来的next指针指向的地址,用于构造链表。2.class Polynominalpubli

3、c: 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 P

4、olySort(); /排序函数,用于乘法之后的按指数排序 void OutFile(); /文本输出函数 void OutFile(Polynominal &a, Polynominal &b, string ch); /重载文本输出函数 void OpposeCoef(Polynominal &a, Node *temp); /系数取反,用于减法运算 Node theList; /头节点 ofstream FOut; /输出流; 此类用于构造一元多项式。包括加、减、乘各各功能函数,还有两个帮助运算的辅助函数,以及界面输入输出和文本输出函数。成员变量有头节点和输出流。 具体成员函数如下:1)

5、 Polynominal:Polynominal() 默认构造函数2) 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; 拷贝构造函数,用于计算时对象间的赋值,防止误改数据。3) void Polynominal:Get

6、MSG(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 = t

7、emp1 +_T(1); while(j=1) if (TempPoly.GetAt(i) != _T(x) temp1 = temp1 + TempPoly.GetAt(i); i+; else j=0; i+; if (i (TempPoly.GetLength()-1) & TempPoly.GetAt(i) = _T(-) temp2 = temp2 + TempPoly.GetAt(i); i+; if (i = (TempPoly.GetLength()-1) & TempPoly.GetAt(i) = _T(x) temp2 = temp2 + _T(1); else if (i

8、 = TempPoly.GetLength() & TempPoly.GetAt(i-1) = _T(x) temp2 = temp2 + _T(1); else while (i Next = new Node(_ttof(temp1), _ttoi(temp2), NULL); /链表构建 TempNode = TempNode-Next; 此函数用于把从对话框获取的字符串进行处理,截取出多项式各项系数和指数,并转换为float型和int型,构造一元多项式链表。4) CString Polynominal:Output_Node() int first = 0; CString temp;

9、 CString temp_coef; CString temp_exp; Node* TempNode = theList.Next; for (; TempNode != NULL; TempNode = TempNode-Next) if (first = 1 & TempNode-coef 0) temp = temp + _T(+) ; temp_coef.Format(_T(%g), TempNode-coef); temp_exp.Format(_T(%d),TempNode-exp); switch (TempNode-exp) case 0:temp = temp + tem

10、p_coef; break; /指数为0则推出 case 1:if (TempNode-coef=1) /指数为1则直接输出X temp = temp + _T(x); else temp = temp + temp_coef + _T(x); break; default:if (TempNode-coef = 1) /其余指数输出“X”形式 temp = temp + _T(x)+temp_exp; else temp = temp + temp_coef + _T(x)+temp_exp; break; first = 1; return temp; 输出函数,将计算所得结果输出到对话框

11、。5) void Polynominal:PolyAdd(Polynominal &a, Polynominal &b) Node *p, *q, *temp; temp = &theList; p = a.theList.Next; q = b.theList.Next; while (p != NULL & q != NULL) if (p-exp) (q-exp) temp-Next = new Node(p-coef, p-exp, NULL); temp = temp-Next; p = p-Next; else if (p-exp) = (q-exp) temp-Next = ne

12、w Node(p-coef + q-coef, p-exp, NULL); temp = temp-Next; p = p-Next; q = q-Next; else if (p-exp) exp) temp-Next = new Node(q-coef, q-exp, NULL); temp = temp-Next; q = q-Next; if (q != NULL) while (q != NULL) temp-Next = new Node(q-coef, q-exp, NULL); temp = temp-Next; q = q-Next; if (p != NULL) while

13、 (p != NULL) temp-Next = new Node(p-coef, p-exp, NULL); temp = temp-Next; p = p-Next; 加法函数,实现多项式的相加。在其中需要判断各项指数的关系,已实现按指数大小关系构建链表。6) void Polynominal:OpposeCoef(Polynominal &a, Node *temp) temp = a.theList.Next; while (temp != NULL) temp-coef = -(temp-coef); temp = temp-Next; 在执行减法操作时,用此函数将被减多项式各位系数取反,之后可直接调用加法函数进行运算;7) void Polynominal:PolySubtract(Polynominal &a, Polynominal &b)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1