- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++开放项目实验报告
题目: 一元符号多项式四则运算
姓名:
指导老师:
学号:
班级:
内容总结
功能要求
用所学C++知识编程实现两个一元符号多项式的加法,减法和乘法运算。
算法概要设计
结点插入函数
void Insert (PNode *temp);
多项式的创建函数
void CreatPoly();
赋值运算符的重载
Polynomail operator = (const Polynomail p1);
一元符号多项式的加法
Polynomail operator + (const Polynomail p);
一元符号多项式的减法
Polynomail operator - (Polynomail p);
一元符号多项式的乘法
Polynomail operator * (const Polynomail p);
应用技巧
利用Insert()插入函数规范多项式的输入问题,进行同类项的合并和不同类项间的排序问题,使得到有序的链表,方便后续的运算
对赋值、加、减和乘运算符进行重载,赋予其新的意义,进行多项式间的四则运算。
发现函数间联系,可以减少代码的长度。巧妙利用Insert()函数和加运算符重载函数,方便乘法和减法等代码编写。
实验成果
输入要求
按提示一次输入多项式各项的系数和指数,建立多项式。如下所示:
系数,指数:1,2
系数,指数:3,4
系数,指数:0 4(以输入系数为零的项结束创建)
创建结果为:1x^2+3x^4
根据自己的需要选择输入功能序号进行运算,如选择数字2进行加法运算
输出样例
总体上各项是按照输入的方法进行输出,如果指数为零只输出系数,如 果系数为零,那么该项不输出,如果系数为负数,那么两项间“+”变“-”。 以上述输入为例创建的结果为:1x^2+3x^4。
如果另一个多项式为:-1-2x^6,
那么加法运算后的结果为:-1+1x^2+3x^4-2x^6
主要代码展示:
//**** c++开放实验项目****
//一元符号多项式的四则运算
#include iostream
using namespace std;
struct PNode{
PNode(double c=0,int e=-1){ coef=c; expn=e; next=NULL;}
double coef;
int expn;
PNode *next;
};
class Polynomial{
public:
Polynomial(){poly=new PNode;}
Polynomial(Polynomial p);
void Print();
~Polynomial();
void Insert (PNode *temp);
void CreatPoly();
Polynomial operator = (const Polynomial p);
Polynomial operator + (const Polynomial p);
Polynomial operator - (Polynomial p);
Polynomial operator * (const Polynomial p);
private:
PNode *poly;
};
//析构函数
Polynomial::~Polynomial(){
PNode *pt=poly-next;
while (pt){
poly-next=pt-next;
delete pt;
pt=poly-next;
}
delete poly;
poly=NULL;
}
//赋值运算符的重载
Polynomial Polynomial::operator = (const Polynomial p){
this-~Polynomial();
poly=new PNode;
PNode *pt=poly,*qt=p.poly-next;
while(qt){
PNode *s=new PNode(qt-coef,qt-expn);
pt-next=s;
pt=s;
qt=qt-next;
您可能关注的文档
- ZPM100架体计算讲述.doc
- ZR矢量型卷帘门控制器说明书讲述.doc
- ZTHC井点降水方案讲述.doc
- 第六章 员工培训重点.ppt
- ZW-0.8-16-24氨气循环使用说明书讲述.doc
- 一年级数学第2单元上下、后讲述.ppt
- 一、实验目的:掌握环境噪声的排放情况,定义和测量、评价方法,并对所处环境的声环境质量做出一定的。讲述.docx
- zxls七年级第一课课件讲述.ppt
- 一、智能建筑与综合布线讲述.ppt
- 一年级数学上册位置左、右(上课)讲述.ppt
- 《GB/T 32879-2025电动汽车更换用电池箱连接器》.pdf
- 中国国家标准 GB/T 21649.2-2025粒度分析 图像分析法 第2部分: 动态图像分析法.pdf
- 中国国家标准 GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定》.pdf
- GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法》.pdf
- GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- 中国国家标准 GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试.pdf
- 《GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试》.pdf
文档评论(0)