一元多项式计算器.doc_第1页
一元多项式计算器.doc_第2页
一元多项式计算器.doc_第3页
一元多项式计算器.doc_第4页
一元多项式计算器.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一元多项式计算器 I 一元多项式计算器 目录 摘摘 要要 1 1 绪论绪论 1 2 系统分析系统分析 1 2 1 功能需求 1 2 2 数据需求 1 2 3 性能需求 1 3 总体设计总体设计 1 3 1 系统设计方案 1 3 2 功能模块设计 2 4 详细设计详细设计 3 4 1 建立多项式 3 4 2 多项式相加 4 4 3 多项式相减 4 4 4 多项式相乘 5 4 5 计算器主函数 6 5 调试与测试调试与测试 7 5 1 调试 7 5 2 测试 8 6 结论结论 9 结束语结束语 9 参考文献参考文献 9 附录附录 1 用户手册 用户手册 10 附录附录 2 源程序 源程序 12 一元多项式计算器 1 摘摘 要要 随着生活水平的提高 现代科技也日益发达 日常生活中多位计算再所难 免 因此设计一个简单计算器可解决许多不必要的麻烦 开发这样一个程序主要运用了 C 的结点 链表等方面知识 系统主要实现 了多项式的建立 多项式的输入输出 以及多项式加减乘等运算 报告主要从计算器的程序段 对输入输出数据的要求 计算器的性能 以 及总体的设计来介绍此计算器程序的实现过程 关键词 多项式 链表 结点 1 绪论绪论 随着日益发达的科技 计算器已应用于各行各业 设计一个计算器需要运 用 C 中多方面知识 更是以多项式的建立 输入输出 以及结点 链表为主 扩充 任务书 2 系统分析系统分析 2 1 功能需求功能需求 多项式的建立多项式的建立 多项式输入输出多项式输入输出 多项式加减乘等运算多项式加减乘等运算 2 2 数据需求数据需求 在输入过程中 首先要确定输入的数据 数据不能是字母 只能是数字 不能连续输入数据 必须按要求配以空格输入要计算的数据 1 链节 节点 数字 2 数字 2 3 性能需求性能需求 系统必须安全可靠 不会出现无故死机状态 速度不宜过慢 一元多项式计算器 3 总体设计总体设计 3 1 系统设计方案系统设计方案 采用菜单设计 选择你需要的功能 用单链表储存你输入的数据 1 菜单 菜单包括计算器加减乘等功能的选择 2 文件保存方式 运用带头节点的单链表储存多项式 3 抽象数据类型定义 主要定义多项式的系数和指数 系数项用浮点类型定义 指数项用整型定 义 4 存储结构 采用链式结构 建立链表储存输入的多项式 5 算法设计 运用链表知识 建立链表 给链表分配一定量的存储空间 查找链表 插 入链表和链表的连接 3 2 功能模块设计功能模块设计 一元多项式计算器 一元多项式计算器 建 立 多 项 式 多 项 式 相 加 多 项 式 相 减 多 项 式 相 乘 图图 1 功能模块图功能模块图 1 建立多项式模块 该模块分为 建立多项式 输入多项式 2 多项式相加模块 该模块是将输入的多项式实现相加功能 3 多项式相减模块 该模块是将输入的多项式实现相减功能 4 多项式相乘模块 该模块是将输入的多项式实现相乘功能 4 详细设计详细设计 一元多项式计算器主要分为 4 大部分 多项式建立 多项式加法 多项式 一元多项式计算器 减法和多项式乘法 多项式的建立主要需要建立新链表 并分配给这个新链表 一定量的存储空间 分配的存储空间内进行运算 多项式加减乘等运算主要运 用了链表的建立 链表存储空间分配 链表的查找 插入与连接进行计算 4 1 建立多项式建立多项式 此阶段是多项式的建立 可以对计算器进行输入 输出等功能 主要运用链表方面的知识 如图 2 所示 PLOY head inpt X 0 inpt PLOY malloc sizeof PLO Y return head Y N 结束 开始 图图 2 多项式建立多项式建立 4 2 多项式相加多项式相加 此阶段是计算器的加法运用功能 对你输入的多项式进行相加计算 主要运用了链表 及 链表的插入等知识 如图 3 所示 一元多项式计算器 开始 PLOY inpt flag 0 pre next NULL flag 1pre pre next return head 结束 N N Y Y 图图 3 多项式相加多项式相加 4 3 多项式相减多项式相减 此阶段是计算器的减法运用功能 对你输入的多项式进行相减计算 主要运用了链表 链 表查询 及链表的插入等知识 如图 4 所示 开始 PLOY inpt flag 0 pre next NULL flag 1pre pre next return head 结束 N N Y Y 图图 4 多项式相减多项式相减 4 4 多项式相乘多项式相乘 此阶段是计算器的乘法运用功能 对你输入的多项式进行相乘计算 主要运用了链表 链 一元多项式计算器 表查询 及链表的插入等知识 如图 5 所示 开始 PLOY inpt res pr e flag 0 pre next NUL L pre head2 continue head1 NULL flag 1 continue pre pre next return res 结束 N N Y Y N Y 图图 5 多项式相乘多项式相乘 4 5 计算器主函数计算器主函数 此阶段是计算器的功能选择 对你要进行的操作选择相应的程序 主要运用了链表 链表 查询 链表连接及链表的插入等知识 如图 6 所示 一元多项式计算器 开始 PLOY f g sign 0 scanf d int expn struct node next PLOY void start 用户选择界面 printf n printf 两个一元多项式的相加 相减 相乘 n printf n printf 请选择操作 n printf 0 退出 n printf 1 两个一元多项式相加 n printf 2 两个一元多项式相乘 n printf 3 两个一元多项式相减 n void insert PLOY head PLOY inpt PLOY pre now int signal 0 pre head if pre next NULL pre next inpt else now pre next while signal 0 if inpt expnexpn if now next NULL now next inpt signal 1 else pre now now pre next else if inpt expn now expn 一元多项式计算器 inpt next now pre next inpt signal 1 else now coef now coef inpt coef signal 1 free inpt if now coef 0 pre next now next free now PLOY creat char ch PLOY head inpt float x int y head PLOY malloc sizeof PLOY head next NULL printf 请输入一元多项式 c 格式是 系数 指数 以 0 0 结束 n ch scanf f d while x 0 inpt PLOY malloc sizeof PLOY inpt coef x inpt expn y inpt next NULL insert head inpt printf 请输入一元多项式 c 的下一项 以 0 0 结束 n ch scanf f d return head PLOY addPLOY PLOY head PLOY pre PLOY inpt 一元多项式计算器 int flag 0 while flag 0 if pre next NULL flag 1 else pre pre next inpt PLOY malloc sizeof PLOY inpt coef pre coef inpt expn pre expn inpt next NULL insert head inpt return head PLOY minusPLOY PLOY head PLOY pre PLOY inpt int flag 0 while flag 0 if pre next NULL flag 1 else pre pre next inpt PLOY malloc sizeof PLOY inpt coef 0 pre coef inpt expn pre expn inpt next NULL insert head inpt return head PLOY byPLOY PLOY head1 PLOY head2 PLOY inpt res pre int flag 0 res PLOY malloc sizeof PLOY res next NULL head1 head1 next pre head2 一元多项式计算器 while flag 0 if pre next NULL pre head2 head1 head1 next continue if head1 NULL flag 1 continue pre pre next inpt PLOY malloc sizeof PLOY inpt coef pre coef head1 coef inpt expn pre expn head1 expn inpt next NULL insert res inpt return res void print PLOY fun PLOY printing int flag 0 printing fun next if fun next NULL printf 0 n return while flag 0 if printing coef 0 if printing coef 1 else if printing coef 1 printf else printf f printing coef if printing expn 0 printf x d printing expn else if printing coef 1 printing coef 1 printf 1 一元多项式计算器 if printing next NULL flag 1 else printing printing next printf n void main PLOY f g int sign 1 start while sign 0 scanf d switch sign case 0 break case 1 printf 你选择的操作是多项式相加 n f creat f printf f x print f g creat g printf g x print g printf F x f x g x f addPLOY f g print f sign 1 start break case 2 printf 你选择的操作是多项式相乘 n f creat f printf f x print f g creat g printf g x print g 一元多项式计算器 printf F x f x g x f byPLOY f g print f sign 1 start break case 3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论