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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构毕业课程设计报告一元多项式加减运算Word格式文档下载.docx

1、上交课程设计报告打印版并进行课程设计答辩,要求每个同学针对自己的设计回答指导教师3-4个问题。1.17考核结束后将课程设计报告和源程序的电子版交班长统一刻光盘上交。、主要参考文献及资料1 严蔚敏 数据结构(C语言版)清华大学出版社 19992 严蔚敏 数据结构题集(C语言版)清华大学出版社 19993 谭浩强 C语言程序设计 清华大学出版社4 与所用编程环境相配套的C语言或C+相关的资料、成绩评定:设计成绩: (教师填写)指导老师: (签字)二 年 月 日目 录第一章 概述1第二章 系统分析2第三章 概要设计3第四章 详细设计4第五章 运行与测试18第六章 总结与心得20参考文献21第一章 概

2、述课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。数据结构是一门重要的专业基础课,是计算机理论和应用的核心基础课程。数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。在这次的课程设计中我选择的题目是动态链表结构下的一元多项式的加法、减法和乘法的实现。一元多项式计算是用C语言设计一个一元多

3、项式简单计算器。它能够实现按指数升序排列建立并输出多项式,并且能够完成两个多项式的相加、相减与相乘的运算和将其结果输入的功能。通过设计一元多项式,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能提高,综合运用所学的理论知识和方法独立分析和解决问题的能力;加深对常用数据结构的理解,强化逻辑思维能力和动手能力,巩固良好的编程习惯,掌握工程软件设计的基本方法,为后续课程的学习打下坚实基础。第二章 系统分析1 动态链表结构下的一元多项式的加法、减法、乘法的实现。可以分为几个模块:输入模块、输出模块(升幂)、数据处理模块(多项式的加减乘)、主程序模块。2 在程序执行过程中加入汉字

4、提示符,让使用者清楚明白的操作该程序。运行程序时看起来简洁有序,操作简单明了。3 程序执行时的命令:创建两个一元多项式输入第一个一元多项式的项数依次输入一元多项式的系数和指数以相同方式输入第二个一元多项式数据处理输出结果。4 测试数据。输入的一元多项式系数指数分别为7 0,3 1,9 8,5 17和8 1,22 7,-9 8。加法结果为:7+11x+22x(7)+5x(17)减法结果为:7-5x-22x(7)+18x(8)+5x(17)5 乘法结果为:56x+24x(2)+154x(7)+3x(8)+45x(9)+198x(15)-81x(16)+40x(18)+110x(24)-45x(25

5、)第三章 概要设计1. 数据结构的设计为了节省存储空间,只存储多项式中系数非零的项,本程序使用链式存储结构。2. 算法的设计本设计从总体上划分为3个模块。a) 主函数模块。程序的入口,主要实现各个函数的调用。b) 头文件模块。定义类和结构体。c) 函数模块。数据处理和实现每个功能。3. 抽象数据类型ADT list 数据对象:D=ai | ai ElenSet, i=1,2,n,n0 数据关系:R1= | ai-1,aiD,i=2,n 基本操作: InitLink(& 初始条件:链表为空。 操作结果:创建链表。 Sparsity(&链表已存在。判断是否稀疏。 Display(; 定义指数 No

6、de *next; 定义结构体template 模板类class LinkList private: Node *); 建立链表 void Sparsity(int len); 是否稀疏 void Display(); 显示 void Merge(); 合并指数相同的项 void SelectSort(); 选择排序 void Negative(); 取负 void DelZero(); 删除系数为0的项 LinkList operator + (LinkList &b); 重载+ operator * (LinkList 重载*#endif POLYNOMIAL_H_INCLUDED1. 成

7、员函数。polynomial.cpp#include#includepolynomial.) *p, *q; q=-) p=new Node p-coef expn;next=NULL; q-next=p; q=p; 建立多项式void LinkListcoef)coef = 1)expn = 0) cout expn = 1) x elsex (expn coef = -1)-x-xcoef next; while(q) 0)+x+x endl;输出多项式Sparsity(int len) if ( ; q=(q-expn-p-expn); Display(); if (x )coef+=p

8、-next=p- t=p; p=p- free(t);合并指数相同的项SelectSort() for (q= expn) swap(q-coef,p-coef);expn,p- Merge();选择排序 升幂Negative() *p; p= - pb-coef=pa-expn=pa- pa=pa- else if(x coef=pb-expn=pb- pb=pb- else T coef=pa-coef+pb- if (coef)coef=coef; while(pa) while(pb) return m;重载+LinkListoperator* (LinkListexpn+pb-重载*

9、void menu() for (int i=0; i80; i+)*1.建立多项式tt2.输出多项式tt3.多项式相加4.多项式相减tt5.多项式相乘tt0.退出系统 for (i=0;请选择:2. 主函数。main.c#include cmathcstdlibfstream#include polynomial.cppusing namespace std;int main() freopen(data1.in, r, stdin); 输入重定向data1.outw, stdout); 输出重定向 LinkList a, b, m1, m2, m3; int n, flag; int AL

10、en, BLen; menu(); while(cin n, n) system(cls); switch(n) case 0:欢迎下次使用! exit(0); case 1: flag=0;请输入第一个一元多项式的长度: ALen; a.InitLink(ALen); 建立一元多项式 a.SelectSort(); 升幂排序 请输入第二个一元多项式的长度: BLen; b.InitLink(BLen); b.SelectSort(); 升序排序 break; case 2:a= a.Sparsity(ALen); 判断是否稀疏b= b.Sparsity(BLen); case 3: m1=a

11、+b; m1.SelectSort();a+b= m1.Display(); 输出a+b case 4: if (flag = 0) b.Negative(); 对b取负 flag=1; m2=a+b; m2.SelectSort();a-b= m2.Display(); 输出a-b case 5: if (flag = 1) b取负 m3=a*b; m3.SelectSort();a*b= m3.Display(); 输出a*b default: cout 输入错误,请重新输入!endl; return 0;第五章 运行与测试程序开始界面。选择 1,分别输入两个一元多项式选择2,输出两个一元

12、多项式分别选择3、4、5输入0结束程序第6章 总结与心得 这次课程设计使本学期所学的数据结构知识得到了巩固和应用,并且对C+也有了更进一步的了解。虽然在设计过程中遇到了一些困难,但感觉收获还是挺多的,自己扩充了很多知识点。通过这周的课程设计,我意识到好的学习方法的重要性,在学习中要学会主动,学会自学,不要什么东西都指望别人,要靠自己去细心观察,多问自己一个为什么,多动手查查、看看,不会的问题,抬头是google,这样自己学到手的东西才会更多!参考文献:1 严蔚敏、吴伟民主编 数据结构(C语言版) 清华大学出版社 20022 殷人昆等著 数据结构(C+版) 清华大学出版社 20013 金远平著 数据结构(C+描述) 清华大学出版社 2005 4 许卓群等著 数据结构与算法 高等教育出版社 20045 Frank M.Carrano 等著 数据结构与+高级教程清华大学出版社 20046 严蔚敏、吴伟民 数据结构习题集(C语言版)清华大学出版社 7 谭浩强 C+面向对象程序设计 清华大学出版社 2006

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

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