




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程设计课程设计题目: 多 项 式 问 题 目 录一、问题描述-3二、需求分析-4三、概要设计-41.概要设计目的与要求-42.概要设计内容-43.功能算法描述与数据结构说明-5四、详细设计-5五、系统测试-8六、使用说明-9七、总结及心得体会 -10多项式问题一问题描述 给你九个整数,这九个整数分别是x的8次方至0次方的系数,请你按照多项式的一半形式合理地构造(去除不必要的)。例如九个系数分别是为0,0,0,1,22,-333,0,1,-1,你要构造并输出一行多项式:x5 + 22x4 333x3 + x 1。它的格式规则如下:1.多项式的项必须按其指数从高到低排列。2.指数必须跟在符号“”后显示。3.有常数的只显示常数项(无需跟x0)。4.只显示系数不为0的项;若系数全为0,需显示常数项。5.在多项式中唯一需要空格的地方是项与项之间的加号或减号的两边需加上空格。6.如果首项的系数是正数,则系数前不加符号;如果首项的系数是负数,则符号与数字之间不加空格,就如:-3x2 + -2x。7.系数为1,指数为0时,系数的1才显示(推广到系数为-1)。输入/输出说明1.输入/输出方式为文件方式,输入文件有一行或多行的系数,系数之间有空格分隔。2.每行共有九个系数,每个系数的绝对值为小于1000的整数。输出文件包含构造完地多项式,每行一个多项式。输入范例0 0 0 1 22 -333 0 1 -10 0 0 0 0 0 -55 5 0输出范例x5 + 22x4 333x3 + x 1-55x2 + 5x二需求分析2.1可行性研究该程序主要从技术的角度来分析可行性。技术上的可行性研究主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该系统采用了windows 7操作系统结合visual c+ 6.0等软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,其硬件平台也比较能满足此系统的需要。2.2结构与主要功能模块从实现多项式输出过程的角度来分析,至少需要这样一些子功能模块。如:1. 多项式创建功能;2. 多项式输出功能;3. 释放多项式功能;4. 操作界面显示功能;三概要设计1.概要设计目的与要求通过多项式程序设计,使我们进一步掌握和利用c+语言进行结构化程序设计的能力;进一步理解和运用结构化程设计的思想和方法;初步掌握开发一个小型系统程序设计的基本方法;学会调试一个较长程序的基本方法;以及掌握书写课程设计开发文档的能力(书写课程设计报告)。总之,通过本课程设计加深对c+语言及数据结构课程所学知识的理解,进一步巩固c+语言语法规则,在程序中体现出算法的思想,提高程序的运行效率。学会编制结构清晰、风格良好、数据结构适当的c+语言程序,从而具备解决综合性实际问题的能力。2.概要设计内容多项式输出程序具有以下基本功能:1创建多项式。接收输入的数据,并保存到链表中。2txt文档输入输出功能。3 清除内存内容,释放创建的链表,退出程序。3.功能算法描述与数据结构说明该多项式程序除了main()函数外,主要有以下函数:node *createpolyn()void firstnode(node *p)void othernode(node *p)void printpolyn(node *pa)void deletechain(node *h)下面对这些函数逐一介绍。.main()函数main函数主要调用其他函数,用来实现输入、显示功能。在main()函数中,定义一维数组p用来保存多项式的系数,pa定义程序所需链表的头指针。在程序开始要求输入多项式的系数,随后创建链表以保存多项式,再显示出构建的符合要求的多项式。.node *createpolyn()该函数功能是创建新的多项式链表。使用for语句,控制输入多项式的每一项。.void firstnode(node *p)该函数功能是判断输出多项式第一项。对于第一项的系数为1或-1,指数为0或-1等五种情况进行讨论。.void othernode(node *p)该函数功能是判断输出多项式除第一项外的其它项。对于第一项的系数为1或-1,指数为0或-1等五种情况进行讨论。.void printpolyn(node *pa)该函数功能:显示构造的符合要求的多项式链表。在该函数中调用、函数,进行多项式的输出。.void deletechain(node *h)该函数的功能是释放掉创建的链表,释放内存。四详细设计下面讨论重要函数具体实现过程:1. node *createpolyn() 定义int i=9计数,当i0时,for语句反复提示用户输入该多项式的每一项的指数。当i=1时,输入完毕,该链表也创建完毕。详细的实现过程如下:node *createpolyn()node *head,*pa,*s;int i; pa=head=new node;/创建一个新的结点head-next=null; for (i = 9; i 0;i-) / 依次输入9项 s=new node; s-next=null;s-coef = p9-i;s-exp=i-1;/x指数从8递减到0if(s-coef !=0)/系数不为零时,结点p链接spa-next=s;pa=s;return head;2. void firstnode(node *p) 对多项式第一项输出可能性进行多种分类讨论。void firstnode(node *p)/输出多项式第一个结点/指数不为1且不为0,系数绝对值不为1(正常的输出)if(p-exp!=1&p-exp&fabs(p-coef)!=1)if(p-coef0)outfilecoefxexp;elseoutfilecoefxexp;if(p-exp=0)/指数为0,即常数项if(p-coef0)outfilecoef;elseoutfilecoef; /指数大于0且不为1,系数绝对值为1if(p-exp0&fabs(p-coef)=1&p-exp!=1)if(p-coef0)outfilexexp;elseoutfile-xexp;if(p-exp=1&fabs(p-coef)!=1)/指数为1且系数绝对值不为1if(p-coef0&p-coef!=1)outfilecoefcoefcoef!=-1)outfilecoefexp=1&fabs(p-coef)=1)/指数为1且系数绝对值为1if(p-coef=1)outfilex;elseoutfilenext=null)/首项判断,如果首项无,则显示“0”outfilenext);p=pa-next-next;/定义指针p指向pa的下下个指针while(p!=null)othernode(p);p=p-next;/将p指向下个一个结点 outfileendl;五系统测试该程序在vc6.0中调试通过,没有错误和警告,运行结果经过检验为正确。以下图为该程序运行结果效果图: 图5-1 范例 图5-2 一行输出 图5-3 多行输出六使用说明1打开1.txt文件,在里面任意输入9个整数,每个数字间要有空格,可以输入一行或者多行,输入多行的时候需要换行。 2.编译运行后,打开2.txt文件,即可看到输出的符合要求的多项式。七总结及心得体会通过这次课程设计练习,使我更深刻地理解了c+语言的精髓-指针的使用。完成整个程序设计有很大的收获,对指针掌握的更加熟练。同时通过直接对单链表的操作,加深了对数据结构的理解和认识。并在完成课程设计的过程作主动查阅了相关资料,学到了不少课本上没有的技术知识。经过这次课程设计,我深刻认识到算法在程序设计中的重要性,如何让程序简单、易读是这个课程设计的难点。程序总是由若干个函数构成的,这些相应的函数体现了算法的基本思想。编程是一件枯燥乏味工作,但是只要认真专研,我们会从中学到很多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建省泉州技师学院招聘合同教师考试笔试试题(含答案)
- 物业保安培训考试试题及答案
- 静脉输液治疗基础知识考核试题(有答案)
- 2024年事业单位考试安阳市龙安区A类《职业能力倾向测验》预测试题含解析
- 2024年医院感染知识试题(含答案)
- 临床医学西医学生理学试题库+答案
- 标准日本语43课课件
- 小学数学教师专业素养测试题(附答案)
- 供应室院感试题及答案
- 2024年云南省事业单位c类考试真题(含答案)
- 2024年销售居间合同
- YC/T 310-2024烟草漂浮育苗基质
- 智慧公厕设备采购投标方案(技术方案技术标)
- 有限空间安全检查表
- 关于吃火锅的心得感悟
- MapInfo使用教程教学课件
- 电梯高处施工方案
- 脑梗死的健康宣教
- 医药产品经理成长手册
- 新能源汽车综合故障诊断技术PPT完整全套教学课件
- 青海+甘肃丝路研学简易版
评论
0/150
提交评论