简单的一元多项式计算器程序.

上传人:我** 文档编号:115332050 上传时间:2019-11-13 格式:DOC 页数:20 大小:644.50KB
返回 下载 相关 举报
简单的一元多项式计算器程序._第1页
第1页 / 共20页
简单的一元多项式计算器程序._第2页
第2页 / 共20页
简单的一元多项式计算器程序._第3页
第3页 / 共20页
简单的一元多项式计算器程序._第4页
第4页 / 共20页
简单的一元多项式计算器程序._第5页
第5页 / 共20页
点击查看更多>>
资源描述

《简单的一元多项式计算器程序.》由会员分享,可在线阅读,更多相关《简单的一元多项式计算器程序.(20页珍藏版)》请在金锄头文库上搜索。

1、I 简单的一元多项式计算器程序 朱琳 摘要摘要2 1. 绪论绪论.2 2. 系统设计系统设计.2 2.1 功能需求2 2.2 数据需求3 2.3 性能需求3 3. 总体设计总体设计.3 3.1 功能模块设计3 3.2 系统设计方案4 4. 详细设计详细设计.4 4.1 输入并建立模块4 4.2 输出模块6 4.3 相加模块6 4.4 相减模块8 5. 调试与测试调试与测试.9 5.1 调试9 5.2 测试9 6. 结论结论.9 结束语结束语9 参考文献参考文献10 附录附录 2源程序源程序.14 2 摘要摘要 计算器是人们生活中必不可少的简单程序。在我们的学习生活中经常会用 到计算器来进行简单

2、的运算。因此如何编写一个简单的一元多项式计算器程序 也是我们所应该掌握的。 本系统使用的 C 语言作为程序开发的语言,开发设计一个一元多项式的 和差计算程序实现输入并建立多项式;输出多项式;两个多项式相加,建立并 输出和多项式;两个多项式相减,建立并输出差多项式。 本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分 析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程, 最后对系统的完成情况进行了总结。 关键词:计算器;系数;指数;一元多项式;关键词:计算器;系数;指数;一元多项式; 1. 绪论绪论 计算器是人们生活中必不可少的简单工具。在我们的学习生活中经常会用

3、 到计算器来进行简单的运算。因此如何编写一个简单的一元多项式计算器也是 我们所应该掌握的。 本系统使用的 C 语言作为程序开发的语言,开发设计一个一元多项式的和 差计算程序实现输入并建立多项式;输出多项式;两个多项式相加,建立并输 出和多项式;两个多项式相减,建立并输出差多项式。 根据课程设计任务书要求,本系统开发主要完成以下功能。 (1)能够实现输入并建立多项式; (2)能够实现输出多项式; (3)能够实现两个多项式相加,建立并输出和多项式; (4)能够实现两个多项式相减,建立并输出差多项式。 2. 系统设计系统设计 2.1 功能需求功能需求 本系统主要是一个简单的一元多项式计算器程序系统。

4、 本程序需要设计一个一元多项式的和,差计算程序。多项式的每一项用数 组表示,每项包括一个系数和一个指数(一个数组存系数,一个数组存指数) 。 3 2.2 数据需求数据需求 需要向系统输入运算符,所需要运算的数据。 2.3 性能需求性能需求 在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统 稳定性好,安全,可靠。 3. 总体设计总体设计 简单一元多项式计算程序 输 入 并 建 立 模 块 输 出 模 块 相 减 模 块 相 加 模 块 图图 1 1 功能模块图功能模块图 3.1 功能模块设计功能模块设计 根据分析整个系统主要划分为 4 个功能模块,分别执行要求该系统中的功 能。输

5、入并建立模块,输出模块,相加模块,相减模块。需要有功能模块图如 图 1 所示。 (1)输入并建立模块 能够实现输入并建立多项式子模块。 4 (2)输出模块 能够实现输出多项式子模块。 (3) 相加模块 能够实现两个多项式相加,建立并输出和多项式子模块。 (4) 相减模块 能够实现两个多项式相减,建立并输出差多项式子模块。 3.2 系统设计方案系统设计方案 根据分析整个系统设计一个总菜单,分别执行要求的功能.1 输入并建立多项式;2 输出多项式;3 两个多项式相加,建立并输出和多项式;4 两个多项式相减,建 立并输出差多项式。 (1)建立结构体如下: typedef struct PNode i

6、nt coef; /系数 int expn; /指数 struct PNode *next; /指针域 (2)函数如下: void CreatPoly() /一元多项式的创建操作,其中 n 为一元多项式的项数 void OutputPoly() /一元多项式的输出操作 void SubtractPoly() /一元多项式的相减操作,即实现 Hc=Ha-Hb void SubtractPoly2( ) /一元多项式的相减操作,即实现 Hc=Ha+Hb 4. 详细设计详细设计 4.1 输入并建立模块输入并建立模块 输入所要求的一元多项式,首先输入项数,在依次输入第一个多项式的第一 个系数,项数,回

7、车输出一元多项式,程序流程图如图 2 5 开始 inti,coef,expn; i=1 inext; printf(“%+dX%d“,p-coef,p-expn);printf(“%dX%d“,p-coef,p-expn); 结束 Y N Y N 图图 3 输出流程图输出流程图 4.3 相加模块相加模块 输入两个多项式,相加运算并求和。按提示输入并建立第一个多项式,再输 入并建立第二个多项式,进行加法运算并求和;。最后,输出运算结果。程序流 程如图 4 所示; 7 开始 pa s-coef=pb-coef s-expn=pb-expn;s-next=NULL; pc-next=s;pc=s;

8、pb=pb-next; s=(POLY)malloc(sizeof(struct PNode); s-coef=pa-coef;s-expn=pa-expn; s-next=NULL; pc-next=s; pc=spa=pa-next; ; Y N Y N 结束 s=(POLY)malloc(sizeof(struct PNode); s-coef=pa-coef; s-expn=pa-expn;s-next=NULL; pc-next=s; pc=s; pa=pa-next; s=(POLY)malloc(sizeof(struct PNode);s-coef=pb-coef; s-exp

9、n=pb-expn; s-next=NULL; pc-next=s; pc=s; pb=pb-next; Y N int x; POLY pa,pb,pc,s; Hc=(POLY)malloc(sizeof(struct PNode); Hc-next=NULL;pc=Hc;pa=Ha-next; pb=Hb-next; pa-expnpb-expn Y x=pa-coef+pb-coef N x!=0 s=(POLY)malloc(sizeof(struct PNode);s-coef=x; s-expn=pa-expn; s-next=NULL;pc-next=s; pc=s; Y pa=

10、pa-next; pb=pb-next; N N N Y 图图 4 相加流程图相加流程图 8 4.4 相减模块相减模块 输入两个多项式,相减运算并求差。按提示输入并建立第一个多项式,再输入并建立第 二个多项式,进行减法运算并求差;。最后,输出运算结果。程序流程如图 5 所示 开始 pa s-coef=pb-coef s-expn=pb-expn;s-next=NULL; pc-next=s;pc=s; pb=pb-next; s=(POLY)malloc(sizeof(struct PNode); s-coef=pa-coef;s-expn=pa-expn; s-next=NULL; pc-n

11、ext=s; pc=spa=pa-next; ; Y N Y N 结束 s=(POLY)malloc(sizeof(struct PNode); s-coef=pa-coef; s-expn=pa-expn;s-next=NULL; pc-next=s; pc=s; pa=pa-next; s=(POLY)malloc(sizeof(struct PNode);s-coef=pb-coef; s-expn=pb-expn; s-next=NULL; pc-next=s; pc=s; pb=pb-next; Y N int x; POLY pa,pb,pc,s; Hc=(POLY)malloc(

12、sizeof(struct PNode); Hc-next=NULL;pc=Hc;pa=Ha-next; pb=Hb-next; pa-expnpb-expn Y N x!=0 s=(POLY)malloc(sizeof(struct PNode);s-coef=x; s-expn=pa-expn; s-next=NULL;pc-next=s; pc=s; Y pa=pa-next; pb=pb-next; N N N Y x=pa-coef-pb-coef 图图 5 相减流程图相减流程图 9 5. 调试调试与测试与测试 5.1 调试调试 (1)运行完程序一次有错误提醒 原因是上次运行程序后没

13、有关闭操作界面当点击编译时会有一个错误提示, 解决方法:将上一次运行时的操作界面关闭。 其原因是指针指向的位置出现错误导致程序传参错乱,无法运行,解决办 法:使程序进入调试状态在传参,出现错误的位置一句句查找传递的参数是否 是你所希望的,如若不是就加以修正。 5.2 测试测试 测试数据过程如下。 一元多项式计算器设计本系统需要有 (1)能够实现输入并建立多项式; (2)能够实现输出多项式; (3)能够实现两个多项式相加,建立并输出和多项式; (4)能够实现两个多项式相减,建立并输出差多项式的功能。 本系统全部实现 6. 结论结论 课程设计顺利完成,任务书中所提出的要求全部实现,实现输入并建立多

14、 项式;输出多项式;两个多项式相加,建立并输出和多项式;两个多项式相减, 建立并输出差多项式。不过这个程序还有些不够完善。 结束语结束语 为期两个星期的计算机综合训练终于顺利完成,在这期间真正的学到了一 些经验,能够熟练的掌握一些 C 语言的编程思路,能够熟练的运用学到的函数, 学会了在曾经编写过的函数上加以修改实现了我期望实现的功能,知道学习编 程必须亲手将每一个字符敲入电脑中这样才能真正的学到课本或一些理论中学 不到的知识,这才达到了实践的目的,当程序编写完成而且能够正常运行心里 一种说不出的自豪感,虽然这对于一名程序员来说可能什么也不是,但这是我 10 编程的开始,如果希望在编程这方面能

15、够有所发展我所要走过的路还很长,还 需要不断的努力学习. 参考文献参考文献 1 谭浩强. C 语言程序设计(第三版).北京:清华大学出版社,2005.7 2 高涛,陆丽娜. C 语言计程序设计.西安交通大学出版社,2007.2 11 附录附录 1 1用户手册用户手册 1.点击运行,首先出现的是创建第一个多项式,按提示进行操作,如图 6 所示. 图图 6 输入第一个多项式界面输入第一个多项式界面 2.创建完成第一个多项式,开始创建第二个多项式,如图 7 所示. 图图 7 输入第二个多项式界面输入第二个多项式界面 3.创建完成第二个多项式,如图 8 所示. 12 图图 8 创建完成界面创建完成界面

16、 4.两个多项式相减,输出差多项式,如图 9 所示. 图图 9 相减界面相减界面 5.两个多项式相加,输出和多项式,如图 10 所示. 13 图图 10 相加界面相加界面 14 附录附录 2源程序源程序 #include “stdio.h“ #include “string.h“ #include “malloc.h“ typedef struct PNode int coef; int expn; struct PNode *next; *POLY; /POLY 为一元多项式的类型 void CreatPoly(POLY H=(POLY)malloc(sizeof(PNode); POLY p,s; H-next=NULL; p=H; for(i=1;icoef=coef; s-expn=expn; s-next=NULL; p-next=s; p=s; void OutputPoly(POLY

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号