数据结构课程设计《一元多项式的四则运算》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一元多项式的四则运算
学生姓名:XX 指导老师:XX
摘要本课程设计主要解决一元多项式的运算问题,通过链表的使用,实现对一元多项式的构建、录入、存储、打印、以及之间的运算。在本课程设计中,程序设计语言为C++语言,程序运行平台为Windows/98/2000/XP,程序采用了链表存储方法以及结构化和模块化的设计方法,通过调试运行,可以进行多项式的加、减、乘运算,勉强实现了设计目标,并且经过适当完善后,将可应用到实际中解决某些问题。
关键词程序设计;C++ ;一元多项式;运算
1 引言
一般来说,我们只知道数学上的一元多项式的运算,这一般都是用笔来进行运算的,然而此课程设计将一元多项式的运算用电脑来进行,只需要将多项式输入,然后就可以出结果,速度快,省去了认为计算的环节,在现实中带来不少方便。
1.1 课题背景
一元多项式的运算,虽然无法直接在除数学外的其他领域作出贡献,但是在数学上,它可以为人们解决一些自己动笔动手很难解决的问题,比如说那些很长很长的多项式,用笔算可能要算半天,但是用该程序,只需短短的几秒钟,所以它给人们带来了不少方便,同时相信它也能间接地为其他领域做出贡献。
1.2 课程设计目的
个人觉得,该数据结构课程设计一方面可以让自己更加熟悉那些些常用的数据结构,掌握数据结构内在的逻辑关系,以及它们在计算机中的存储表示,和对它们实行的各种运算;另一方面,可以让自己对于整体和局部,以及结构化和模块化编程有一个更深层次的了解。作为网络工程的学生,虽然之前有过一次C语言课程设计,但是深知自己编程能力尚为欠缺,所以这一次数据结构课程设计是对我的编程能力和组织能力的又一次考验。
1.3课程设计内容
本课程设计是用链表实现一元多项式的存储及运算,其中包括多项式系数及指数的录入(即一元多项式的录入),以及储存、一元多项式的显示、一元多项式之间的加、减、乘法运算。
2 设计思路与方案
2.1设计思路
该系统使用C++语言进行开发和实现,程序中的各个功能分别由不同的的函数实现,然后在main 函数中调用实现。其设计思路基于结构化的程序设计和链表的存储等,应用了高级语言程序设计中的基本控制结构,如循环和选择等。
2.2设计方案
先定义链表类型结点和一元多项式,然后申明个功能函数并分别编写这些功能函数的算法,然后定义一个菜单函数Menu(),最后在main()函数中分别调用这些函数,其中输入的数据则由链表进行储存。其系统结构图如图2-1所示:
图2-1 一元多项式的四则运算
一元多项式相乘
一元多项式输出
一元多项式销
毁
退出
一元多项式创建
一元多项式相加
一元多项式的四则运算
一元多项式相减
3 详细实现
3.1一元多项式创建
操作流程图如下图所示:
N
Y
图3-1 一元多项式的创建流程图
开始
创建一个含n 个链表类型结点的项
分别输入各项的系数和指数 判断是否系数不为0且指数
大于0
重新输入
一元多项式创建
成功
先判断多项式的系数与项数之间大小关系,流程图如下所示: Y
N
Y
N Y
N
N
N
图3-2一元多项式相加流程图
开始
运算时系数想加
删除该项
判断所输入的多项式系数是否为0
判断输入的两个多项式指数是否相等
输入的第1个多项式为B
判断输入的多项式1,2
指数是否e1>e2
输入的第2个多项式为B
进行运算
相减即取第二个的相反数,然后进行加法运算,操作流程图如下图所示:
开始
将多项式B进行复制
取多项式B的相反数
调用多项式加法函数进行运算
图3-3一元多项式相减流程图
3.4一元多项式相乘
操作流程图如下图所示:
开始
给出运算的两个多项式
按系数相乘指数相加进行运算
将运算的结果相加并输出
图3-4一元多项式相乘流程图
先判断录入的两个多项式是否有空项,如果两个多项式都不是空的,那么顺序输出多项式A 和多项式B ,否则多项式创建不成功,提示重新输入。操作流程图如下图所示:
Y N
图3-5一元多项式输出流程图
3.6一元多项式销毁
先判断存储多项式的链表类型结点是否都不为空结点,若有空结点,则提示重新选择,否则,按顺序销毁多项式A,B 。操作流程图如下图所示:
N
Y
图3-6一元多项式销毁流程图
输出多项式B
输出多项式A
开始
判断所输入的两个多项式是否有空的
多项式创建有误,重新输入
销毁存储多项式B 的结点 销毁存储多项式A 的结点
开始
判断存储多项式的
链表类型结点是否
都不为空 多项式不存在,重新选择
3.7退出
本过程较为简单,用exit(0)强制终止程序,返回状态码0表示正常结束。其操作流程图如下图所示:
开始
强制终止程序
提示退出
图3-6一元多项式退出流程图
4 运行环境与结果
4.1运行环境
在本课程设计中,系统开发平台为WindowsXP,程序设计语言为C++,程序的运行环境为Visual C++ 6.0。
4.2运行结果
(1)在程序开始运行时,会出现一个编号1-7的菜单并提示选择,如下图所示:
图4-1 最初运行界面