简单的一元多项式计算器程序_第1页
简单的一元多项式计算器程序_第2页
简单的一元多项式计算器程序_第3页
简单的一元多项式计算器程序_第4页
简单的一元多项式计算器程序_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、简单图形处理系统简单图形处理系统专业名称:信息管理与信息系统班 级:12-1 班学 号:2012508214姓 名:吴成强指导教师:郑老师2013 年 3 月 1 日石河子大学信息科学与技术学院信息管理与信息系统专业课程设计简单的一元多项式计算器程序摘要摘要.21. 绪论绪论.22. 系统设计系统设计.22.1 功能需求.22.2 数据需求.32.3 性能需求.33. 总体设计总体设计.33.1 功能模块设计.33.2 系统设计方案.44. 详细设计详细设计.44.1 输入并建立模块.44.2 输出模块.64.3 相加模块.64.4 相减模块.85. 调试与测试调试与测试.95.1 调试.95

2、.2 测试.96. 结论结论.9结束语结束语.9参考文献参考文献.10附录附录 2源程序源程序.14石河子大学信息科学与技术学院信息管理与信息系统专业课程设计1 摘要摘要计算器是人们生活中必不可少的简单程序。在我们的学习生活中经常会用到计算器来进行简单的运算。因此如何编写一个简单的一元多项式计算器程序也是我们所应该掌握的。本系统使用的 C 语言作为程序开发的语言,开发设计一个一元多项式的和差计算程序实现输入并建立多项式;输出多项式;两个多项式相加,建立并输出和多项式;两个多项式相减,建立并输出差多项式。本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试

3、等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。关键词:计算器;系数;指数;一元多项式;关键词:计算器;系数;指数;一元多项式;1. 绪论绪论计算器是人们生活中必不可少的简单工具。在我们的学习生活中经常会用到计算器来进行简单的运算。因此如何编写一个简单的一元多项式计算器也是我们所应该掌握的。本系统使用的 C 语言作为程序开发的语言,开发设计一个一元多项式的和差计算程序实现输入并建立多项式;输出多项式;两个多项式相加,建立并输出和多项式;两个多项式相减,建立并输出差多项式。根据课程设计任务书要求,本系统开发主要完成以下功能。 (1)能够实现输入并建立多项式;(2)能够实

4、现输出多项式;(3)能够实现两个多项式相加,建立并输出和多项式;(4)能够实现两个多项式相减,建立并输出差多项式。2. 系统设计系统设计2.1 功能需求功能需求本系统主要是一个简单的一元多项式计算器程序系统。本程序需要设计一个一元多项式的和,差计算程序。多项式的每一项用数石河子大学信息科学与技术学院信息管理与信息系统专业课程设计2组表示,每项包括一个系数和一个指数(一个数组存系数,一个数组存指数) 。2.2 数据需求数据需求需要向系统输入运算符,所需要运算的数据。2.3 性能需求性能需求在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。3. 总体设计总体设计

5、 简单一元多项式计算程序 输 入 并 建 立 模 块输 出 模 块相 减 模 块相 加 模 块图图 1 1 功能模块图功能模块图3.1 功能模块设计功能模块设计根据分析整个系统主要划分为 4 个功能模块,分别执行要求该系统中的功能。输入并建立模块,输出模块,相加模块,相减模块。需要有功能模块图如图 1 所示。(1)输入并建立模块石河子大学信息科学与技术学院信息管理与信息系统专业课程设计3能够实现输入并建立多项式子模块。(2)输出模块能够实现输出多项式子模块。(3) 相加模块能够实现两个多项式相加,建立并输出和多项式子模块。(4) 相减模块能够实现两个多项式相减,建立并输出差多项式子模块。4.

6、详细设计详细设计 4.1 输入并建立模块输入并建立模块 输入所要求的一元多项式,首先输入项数,在依次输入第一个多项式的第一个系数,项数,回车输出一元多项式,程序流程图如图 2石河子大学信息科学与技术学院信息管理与信息系统专业课程设计4开始inti,coef,expn;i=1inext;printf(%+dX%d,p-coef,p-expn);printf(%dX%d,p-coef,p-expn);结束YNYN图图 3 输出流程图输出流程图 4.3 相加模块相加模块输入两个多项式,相加运算并求和。按提示输入并建立第一个多项式,再输入并建立第二个多项式,进行加法运算并求和;。最后,输出运算结果。程

7、序流程如图 4 所示;石河子大学信息科学与技术学院信息管理与信息系统专业课程设计6开始pa&pbpapbpa-expnexpns=(POLY)malloc(sizeof(struct PNode); s-coef=pb-coefs-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-next=s; pc=spa=pa-next; ; YNYN结束s=(POLY)mallo

8、c(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; YNint x; POLY pa,pb,pc,s; Hc=(POLY)malloc(sizeof(struct PNode); Hc-next=NULL;pc=Hc;pa=Ha-next;

9、pb=Hb-next; pa-expnpb-expnYx=pa-coef+pb-coefNx!=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;NNNY 图图 4 相加流程图相加流程图石河子大学信息科学与技术学院信息管理与信息系统专业课程设计74.4 相减模块相减模块输入两个多项式,相减运算并求差。按提示输入并建立第一个多项式,再输入并建立第二个多项式,进行减法运算并求差;。最后,输出运算结果。程序流程如图 5

10、 所示开始pa&pbpapbpa-expnexpns=(POLY)malloc(sizeof(struct PNode); s-coef=pb-coefs-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-next=s; pc=spa=pa-next; ; YNYN结束s=(POLY)malloc(sizeof(struct PNode); s-coef=pa-coef

11、;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; YNint 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-expnYNx!=0 s=(PO

12、LY)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;NNNYx=pa-coef-pb-coef 图图 5 相减流程图相减流程图石河子大学信息科学与技术学院信息管理与信息系统专业课程设计85. 调试调试与测试与测试5.1 调试调试(1)运行完程序一次有错误提醒原因是上次运行程序后没有关闭操作界面当点击编译时会有一个错误提示,解决方法:将上一次运行时的操作界面关闭。其原因是指针指向的位置出现错误导致程序传参错乱,无法运行,解决办法:

13、使程序进入调试状态在传参,出现错误的位置一句句查找传递的参数是否是你所希望的,如若不是就加以修正。5.2 测试测试测试数据过程如下。一元多项式计算器设计本系统需要有(1)能够实现输入并建立多项式;(2)能够实现输出多项式;(3)能够实现两个多项式相加,建立并输出和多项式;(4)能够实现两个多项式相减,建立并输出差多项式的功能。本系统全部实现6. 结论结论课程设计顺利完成,任务书中所提出的要求全部实现,实现输入并建立多项式;输出多项式;两个多项式相加,建立并输出和多项式;两个多项式相减,建立并输出差多项式。不过这个程序还有些不够完善。结束语结束语为期两个星期的计算机综合训练终于顺利完成,在这期间

14、真正的学到了一些经验,能够熟练的掌握一些 C 语言的编程思路,能够熟练的运用学到的函数,学会了在曾经编写过的函数上加以修改实现了我期望实现的功能,知道学习编程必须亲手将每一个字符敲入电脑中这样才能真正的学到课本或一些理论中学石河子大学信息科学与技术学院信息管理与信息系统专业课程设计9不到的知识,这才达到了实践的目的,当程序编写完成而且能够正常运行心里一种说不出的自豪感,虽然这对于一名程序员来说可能什么也不是,但这是我编程的开始,如果希望在编程这方面能够有所发展我所要走过的路还很长,还需要不断的努力学习.参考文献参考文献 1 谭浩强. C 语言程序设计(第三版).北京:清华大学出版社,2005.

15、72 高涛,陆丽娜. C 语言计程序设计.西安交通大学出版社,2007.2石河子大学信息科学与技术学院信息管理与信息系统专业课程设计10附录附录 1 1用户手册用户手册1.点击运行,首先出现的是创建第一个多项式,按提示进行操作,如图 6 所示. 图图 6 输入第一个多项式界面输入第一个多项式界面2.创建完成第一个多项式,开始创建第二个多项式,如图 7 所示. 图图 7 输入第二个多项式界面输入第二个多项式界面石河子大学信息科学与技术学院信息管理与信息系统专业课程设计113.创建完成第二个多项式,如图 8 所示. 图图 8 创建完成界面创建完成界面4.输出两个多项式如图 9 所示图 9 多项式输

16、出界面5.两个多项式相加,输出差多项式,如图 10 所示.石河子大学信息科学与技术学院信息管理与信息系统专业课程设计12 图图 10 相加界面相加界面6.两个多项式相减,输出和多项式,如图 11 所示. 图图 11 相减界面相减界面附录附录 2源程序源程序#includeusing namespace std;void main()int m,n,h,g,x,z,i;int a100,b100; coutm;for(h=0;h=m;h+)cout输入hah; coutendl; coutn;for(g=0;g=n;g+)cout输入gbg;coutendl;do cout1.输出多项式 a,b

17、endl; cout2.计算多项式 a+bendl; cout3.计算多项式 a-bendl; cout4.结束endl; coutx; if(x=1) cout1)h=h-1; coutahxh+; couta0endl;cout1)g=g-1; coutbgxg+; 石河子大学信息科学与技术学院信息管理与信息系统专业课程设计14coutb0endl; else if(x=2) cout多项式 a+b=n?n:m; couta0+b0+; for(i=1;i=z;i+) coutai+bixi+; if(zm) z=z+1; while(zm) coutazxz+; z=z+1; coutamxmendl; else z=z+1; while(zn) coutbzxz+; z=z+1; coutbnxnendl; else if(x=3)石河子大学

温馨提示

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

最新文档

评论

0/150

提交评论