




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录、课程题目,3、设计目的 |11 M,3三、需求分并析1 1 IJ * 丿/ 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5?3四、总体设计丿11 1expexp)double m;i nt n;m=p-coef;p-coef=q-coef;q-coef=m;n=p_exp;p-exp=q-exp;q-exp=n;s=q;q=q_n ext;再就是实现多项式的加减法运算,在加减法运算中为了实现处理,设p、q分别指向单链表的两个多项式,比较p、q结点的指数项,由此得到下列运算规则: 若p-expvq-exp,则结点p所指的结点应是“和多项式”中的一项, 令指针
2、p后移。 若p-exp=q-exp,则将两个结点中的系数相加,当和不为0时修改结 点p的系数。 若p-expq-exp,则结点q所指的结点应是“和多项式”中的一项, 将结点q插入在结点p之前,且令指针q在原来的链表上后移。六、实现部分#in clude#in cludeclass polyno mial;class list nodefriend class polyno mial;private:double coef;int exp;list node *n ext;class polyno mialprivate:list node *s;int size;public:polyno m
3、ial();void poly();void prin tpoly();void bubblesort();polyno mial operator+(po lyno mial &p1);polyno mial operator-(po lyno mial &p1);polyno mial:po lyno mial()s=new list no de;s=NULL;size=0;void polyno mial:poly()cout size;double n coef;int n exp;list node *p,*q;p=new list no de;cout输入第1个数的系数:;cinn
4、 coef;coutcoef= ncoef;p-exp=nexp;p- next=NULL;s=p;int k=size;for(i nt i=2;i=size;i+)cout输入第i个数的系数:;cinn coef;cout输入第icoef= ncoef;q-exp=nexp;q- next=NULL;p_n ext=q;p=q;void polyno mial:pri ntpoly()list node *p=s;while(p)if(p=s)if(p-coef!=0&p-exp!=0) coutcoefx a exp;else if(p-coef!=0&p-exp=0) coutcoef
5、;elseif(p-coef0&p-exp!=0)cout+coefx a exp;else if(p-coefexp!=O) coutcoefx 人 exp;else if(p-coef 0&p-exp=0) cout+coef;else if(p-coefexp=0) coutcoef;p=p-n ext;coutn ext;list node *s=p;while(q)if(p_exp=q_exp)p_coef+=q_coef;s-n ext=q-n ext; delete q;q=s-n ext; size-;else if(p-expexp)double m;i nt n; m=p-
6、coef; p-coef=q-coef;q-coef=m;n=p_exp; p-exp=q-exp; q-exp=n;s=q; q=q_n ext;elses=q; q=q_n ext;p=p-n ext;polyno mial polyno mial:operator+(po lyno mial &p1) bubblesort();p1.bubblesort();list node *p=s;list node *s=p;list node *q=p1.s;list node *t=q;while(p)while(q)if(q-expp-exp)list node *m=new list n
7、o de; m_coef=q_coef;m-exp=q-exp;if(p=s)m_n ext=p;s=m;elsem_n ext=p;s-n ext=m; s=s-n ext;t=q;q=q_n ext;else if(q-exp=p-exp)p-coef=p-coef+q-coef; t=q;q=q_n ext;break;elsebreak;s=p;p=p-n ext;if(q)t- next=NULL;s_n ext=q;return *this;polyno mial polyno mial:operator-(po lyno mial &p1) bubblesort();p1.bub
8、blesort();list node *p=s;list node *s=p;list node *q=p1.s;list node *t=q;while(p)while(q)if(q-expp-exp)list node *m=new list no de; m-coef=-(q-coef); m-exp=q-exp;if(p=s)m_n ext=p;s=m;elsem_n ext=p;s-n ext=m; s=s-n ext;t=q;q=q_n ext;else if(q_exp=p_exp)p_coef=p_coef-q_coef;t=q;q=q_n ext;break;elsebre
9、ak;s=p;p=p-n ext;if(q)t- next=NULL;s_n ext=q;while(q)q-coef=-(q-coef);q=q_n ext;return *this;void mai n()e ndl;10211113 姓coutcoute ndl;cout名:李金龙endl;欢迎使用多项式计算器班级:cout*e ndlcoute ndl;cout*e ndlcout功能菜单*e ndl;cout*e ndl;0、 帮助*e ndl;cout*1、输入输出多项式1和2cout*e ndl;cout*2、多项式加法运算*e ndl;cout*3、多项式减法运算*e ndl;
10、cout*4 、退出程序*e ndl;cout*e ndl;cout*e ndl;polyno mial p1,p2,p3,p4;int choice;cout请输入功能菜单选项(请输入数字0-4): choice;if(choice=0)cout帮助文档endl;cout1、此程序为一个简单的多项式计算器e ndl;cout2、此程序能够实现两个多项式最原始的计算,即加减运算endl;cout3、使用的时候必须先输入两个多项式endl;cout4、操作请按提示进行 endl;cout请输入功能菜单选项(请输入数字0-4): choice; if(choice=1)cout输入多项式 1e n
11、dl;p1.poly();p1.bubblesort();p1.pri ntpoly();cout输入多项式 2endl;p2.poly();p2.bubblesort();p2.pri ntpoly();cout请输入功能菜单选项(请输入数字 0-4): choice;if(choice=2)p3=p1+p2;cout多项式加法运算为:;p3.pri ntpoly();cout请输入功能菜单选项(请输入数字0-4): choice;if(choice=3)p4=p2-p1;cout多项式减法运算为:;p4.pri ntpoly();cout请输入功能菜单选项(请输入数字0-4): choic
12、e;if(choice=4)return ;elsecout输入错误!请重新输入!endl;cout请输入功能菜单选项(请输入数字0-4): choice;七、程序测试测试数据为:多项式 1: 7xA3+5xA2+2x多项式 2: 6xA4+3xA3+5xA2+2x1 O | s ISI运行结果为(图片):可Ftt-.Deb jexe耐 iiTFonm班飯:丄0211113 姓程:享金龙;牙B具 顶运运 餐法 sf 舉式程请输人功自淇单选顶青输人数字pm可-F 侈项式计胃誇.“bjy參取式邸貳欢迎使用多顶式计算器班级10211113 姓包李金茏龍 式算M 切 項运运 多袪法 出加减序 ?s 助
13、八顶.顶出 % JF 毎 呂止2 3 4rnrnrsi睛谕入功能業单选项请输入数字:助文档,亠郵聽藕的计算,即加诚运算_侖天商个麺我些F;弄呃C计再幽Wbu叭藩畔畑丁2手项运运零尊黑式理助為昭S變多退0 12 3 4数的鰹i嚥:蔚纵37 m xr m 1-r 2 wr j j z n j、w ir u j u ir j u j T-T n u m n m far j ur j j j w4 ”青输入功韭荣单希5“青输人碱字臼-於;k 尿人,多坝式 除人Sxt个迄匕3 豔入第1爲攵甬系蝕2 必X頂.必茅冶h由苕慎L 一鋼蠡:: 愉入勢T教的 愉入勲仝敎的 )c*3+SA2+Zxl 愉人易理式2 诵丛1壬姜个華八、设计总结这个程序设计起来其实不难,就是利用了链表的存储架构,从思维和框
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加盟连锁招商合同范本
- 国家旅游课题申报书
- 办公购置合同范本
- 单位套房出售合同范本
- 售卖义齿器械合同范本
- 建设知识产权保护高地的实施细则与规划
- 员工欠款合同范本
- 党务材料外包合同范本
- 品牌油漆采购合同范本
- 合同范本书库
- 2024年上海烟草集团有限责任公司招聘笔试真题
- 加油站合作经营协议书范本
- 人工智能对舆情管理的价值
- 地理-河南省部分重点高中九师联盟2024-2025学年高三下学期2月开学考试试题和答案
- 老年护理相关法律法规
- 《陶瓷工艺技术》课件
- 变更强制措施的申请书
- 《苗圃生产与管理》教案-第二章 园林苗木的种实生产
- 供电所安全演讲
- 供应链韧性提升与风险防范-深度研究
- 《智能制造技术基础》课件-第4章 加工过程的智能监测与控制
评论
0/150
提交评论