一元多项式计算器.doc

上传人:w****2 文档编号:6569896 上传时间:2020-02-29 格式:DOC 页数:19 大小:479KB
返回 下载 相关 举报
一元多项式计算器.doc_第1页
第1页 / 共19页
一元多项式计算器.doc_第2页
第2页 / 共19页
一元多项式计算器.doc_第3页
第3页 / 共19页
点击查看更多>>
资源描述
一元多项式计算器 目录 摘 要 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 摘 要 随着生活水平的提高 现代科技也日益发达 日常生活中多位计算再所难 免 因此设计一个简单计算器可解决许多不必要的麻烦 开发这样一个程序主要运用了 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 所示 P L O Y h e a d i n p t X 0 i n p t P L O Y m a l l o c s i z e o f P L O Y r e t u r n h e a d Y N 结束 开始 图 2 多项式建立 4 2 多项式相加 此阶段是计算器的加法运用功能 对你输入的多项式进行相加计算 主要运用了链表 及 链表的插入等知识 如图 3 所示 开始 P L O Y i n p t f l a g 0 p r e n e x t N U L L f l a g 1 p r e p r e n e x t r e t u r n h e a d 结束 N N Y Y 图 3 多项式相加 4 3 多项式相减 此阶段是计算器的减法运用功能 对你输入的多项式进行相减计算 主要运用了链表 链 表查询 及链表的插入等知识 如图 4 所示 开始 P L O Y i n p t f l a g 0 p r e n e x t N U L L f l a g 1 p r e p r e n e x t r e t u r n h e a d 结束 N N Y Y 图 4 多项式相减 4 4 多项式相乘 此阶段是计算器的乘法运用功能 对你输入的多项式进行相乘计算 主要运用了链表 链 表查询 及链表的插入等知识 如图 5 所示 开始 P L O Y i n p t r e s p r e f l a g 0 p r e n e x t N U L L p r e h e a d 2 c o n t i n u e h e a d 1 N U L L f l a g 1 c o n t i n u e p r e p r e n e x t r e t u r n r e s 结束 N N Y Y N Y 图 5 多项式相乘 4 5 计算器主函数 此阶段是计算器的功能选择 对你要进行的操作选择相应的程序 主要运用了链表 链表 查询 链表连接及链表的插入等知识 如图 6 所示 开始 P L O Y f g s i g n 0 s c a n f 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 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 minusPLOY f g print f sign 1 start break case 4 sign 1 start break default printf 输入有误 请重新选择操作 n start break printf 谢谢使用 n 完成日期 年 月 日
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!