《程序语言课程设计---一元多项式简单的计算器》..

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西安文理学院软件学院课程设计报告设计名称:程序语言课程设计设计题目:一元多项式简单的计算器学生学号:1402120135专业班级:软件学院一班学生姓名:张文东学生成绩:指导教师(职称):袁溪(讲师)课题工作时间:2013.12.9至2013.12.23软件学院课程设计任务书学生姓名张文东学号1402120135专业班级1班设计题目一元多项式简单的计算器内容概要:设计或开发环境:MicrosoftVisualStudio2010关键技术:C语言主要功能:[1]建立一元多次多项式[2]多项式相加[3]多项式相减[4]多项式相乘文献资料:[1]谭浩强《C语言程序设计》(第三版)清华大学出版社2007[2]姜敏芝余健《C语言程序设计案例精编》清华大学出版社2008[3]李健学余健《数据结构课程设计案例精编》2007[4]唐国民王国均《数据结构》(C语言版)清华大学出版社[5]网上相关文献资料设计要求:A.功能要求1)输入并建立多项式;2)输出多项式;3)两个多项式相加,输出和多项式;4)两个多项式相减,输出差多项式。B.文档格式*.c工作期限:设计工作自2013年12月9日至2013年12月23日止。指导教师:院长:日期:2013年12月9日软件学院课程设计进度安排表学生姓名:张文东学号:1402120135专业:软件工程班级:一班起止日期内容备注12月9日下达任务书,制定进度安排计划12月10日~12月12日系统整体设计和详细设计12月13日~12月17日系统编码实现12月18日~12月19日系统测试12月20日~12月23日撰写课程设计报告12月25日演示软件和答辩指导教师签名:2013年12月11日成绩评定表学生姓名:张文东学号:1402120135专业:软件工程班级:一班类别合计分值各项分值评分标准实际得分合计得分平时表现1010按时参加设计指导,无违反纪律情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3510报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程进行全面的总结,得出有价值的结论或结果。5参考文献数量在2篇以上,格式符合要求,在正文中正确引用。答辩情况2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩:分指导教师:(签字)日期:2013年12月25日摘要摘要:随着科技的不断发展,人们生活水平的不断提高,方便、高效、快捷成为了人们所追求的主要目标,面对一些复杂的技术总会花费大量时间进行计算,因此有一个多项式功能的计算器是很有必要的。开发这样一个程序需要用到C结点、链表方面的知识,系统分为多项式的输入输出、多项式的加法、多项式的减法、多项式的乘法四个模块。该报告主要是通过系统的程序段、程序设计的要求以及计算器的功能来介绍该计算器实现过程。关键字:多项式;C语言;结点;链表西安文理学院软件学院课程设计报告-1-目录目录.........................................................................1第一章课题背景...............................................................21.1绪论.......................................................................21.2主要内容...................................................................2第二章设计简介及设计方案论述.................................................32.1系统分析...................................................................32.2总体设计...................................................................3第三章详细设计...............................................................53.1建立多项式.................................................................53.2多项式相加.................................................................73.3多项式相减.................................................................93.4多项式相乘................................................................10主要代码如下:................................................................12主要代码如下:...............................................................14第四章设计结果及分析........................................................174.1调试与测试................................................................174.2运行结果..................................................................194.3结果分析..................................................................21总结.........................................................................22参考文献.....................................................................23附录..........................................................................24西安文理学院软件学院课程设计报告-2-第一章课题背景1.1绪论随着科技的进步,社会的不断发展,计算器已普遍应用于各行各业,为了帮助人们提高工作效率,节约运算时间,设计一个多功能的计算器是很有必要的,在此设计一个多项式计算器可以很方便的对多项式相加、相减、相乘,对提高人们的运算效率很有帮助。一个计算器需要用到C多方面的知识,要实现多项式的建立和输入输出等功能,必须要熟练的掌握C,在此尤其是链表和结点。1.2主要内容用C语言实现多项式的输入输出和多项式的加减乘等运算,其中主要用到链表和结点的相关知识,具体功能如下:1)输入并建立多项式;2)输出多项式;3)两个多项式相加,输出和多项式;4)两个多项式相减,输出差多项式。西安文理学院软件学院课程设计报告-3-第二章设计简介及设计方案论述2.1系统分析2.1.1功能需求多项式的建立多项式的输入输出多项式的加减乘等运算2.1.2数据需求在输入过程中,首先要给定输入的数据,数据只能是数字,不能是字母或其他,不能连续输入数据,必须要求以空格分开要输入的数据。2.1.3系统需求系统必须安全可靠,不会出现无故死机状态,运算速度要快。2.2总体设计2.2.1系统设计方案采用菜单设计,选择你需要的功能,用单链表储存你输入的数据。(1)菜单菜单包括计算器加减乘等功能的选择(2)文件保存方式运用带头节点的单链表储存多项式(3)抽象数据类型定义主要定义多项式的系数和指数。系数项用浮点类型定义,指数项用整型定义(4)存储结构采用链式结构,建立链表储存输入的多项式西安文理学院软件学院课程设计报告-4-(5)算法设计运用链表知识,建立链表,给链表分配一定量的存储空间,查找链表,插入链表和链表的连接2.2.2功能模块设计一元多项式计算器建立多项式多项式相加多项式相减多项式相乘图2-1功能模块设计建立一元多项式输出一元多项式将输入的多项式相加将输入的多项式相减将输入的多项式相乘西安文理学院软件学院课程设计报告-5-第三章详细设计一元多项式计算器主要分为4大部分,多项式建立,多项式加法,多项式减法和多项式乘法。多项式的建立主要需要建立新链表,并分配给这个新链表一定量的存储空间,分配的存储空间内进行运算;多项式加减乘等运算主要运用了链表的建立,链表存储空间分配,链表的查找,插入与连接进行计算。3.1建立多项式此阶段是多项式的建立,可以对计算器进行输入输出等功能。主要运用链表方面的知识如图3-1所示:开始PLOY*head,*inpt;NX!=0Yinpt=(PLOY*)malloc(sizeof(PLOY))Returnhead结束图3-1多项式的建立西安文理学院软件学院课程设计报告-6-主要代码如下:PLOY*creat(charch)//建立多项式{PLOY*head,*inpt;floatx;inty;head=(PLOY*)malloc(sizeof(PLOY));head-next=NULL;printf(请输入一元多项式%c:(格式是:系数指数;以00结束!)\n,ch);scanf(%f%d,&x,&y);while(x!=0){inpt=(PLOY*)malloc(sizeof(PLOY));inpt-coef=x;inpt-expn=y;inpt-next=NULL;insert(head,inpt);printf(请输入一元多项式%c:(以00结束!)\n,ch);scanf(%f%d,&x,&y);}returnhead;}西安文理学院软件学院课程设计报告-7-3.2多项式相加此阶段是计算器的加法运用功能,对你输入的多项式进行相加计算,主要运用了链表,及链表的插入等知识,如图3-2所示:开始PLOY*inpt;Nflag==0YNpre-next==NULLYFlag==1pre=pre-nextReturnhead结束图3-2多项式相加西安文理学院软件学院课程设计报告-8-主要代码如下:PLOY*addPLOY(PLOY*head,PLOY*pre)//多项式相加{PLOY*inpt;intflag=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);}}returnhead;西安文理学院软件学院课程设计报告-9-3.3多项式相减此阶段是计算器的减法运用功能,对你输入的多项式进行相减计算,主要运用了链表,链表查询,及链表的插入等知识,如图3-3所示:开始PLOY*inpt;Nflag==0YNpre-next==NULLYFlag==1pre=pre-nextReturnhead结束图3-3多项式相减西安文

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功