学号
2014-2015学年 第学期
1308210115
软件工程
课程设计报告
题目:
一元稀疏多项式计算器
专业:
计算机科学与技术
班级:
计算机科学与技术(2)班
姓名:
指导教师:
成绩:


一、问题描述
1.1基本要求
(1)输入并建立多项式;
(2)输出多项式,输出形式为整数序列:n,c1,e1, c2,e2,,,,,,, cn,en,其中n是多项式的项数,ci,ei,分别是第i项的系数和指数,序列按指数降序排序;
(3)多项式ab相加,建立多项式a+b
(4)多项式ab相减,建立多项式a-b
(5)计算多项式在x处的值。
(6)计算器的仿真界面。
1.2设计目的
数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用
二、 需求分析
2.1 设计开发环境
  软件方面:系统  windows 7        编程软件:VC++ 6.0
2.2思路分析
①一般情况下的一元n次多项式可写成pn(x)=p1xe1+p2xe2+……+pmxem
    其中,p1是指数为ei的项的非零系数,且满足0≦e1<e2<……<em=n ,若用一个长度为m且每个元素有两个数据项(系数项和指数项)的线性表((p1,e1),(p2,e2),……,(pm,em))便可惟一确定多项式pn(x)。
②用两个带表头结点的单链表分别存储两个多项式
③根据一元多项式相加的运算规则:对于两个一元多项式中所有指数相同的项,对应系数相加,若其和不为零,则构成“和多项式”中的一项;
④只需要将第二个多项式的系数改为其相反数,然后根据一元多项式相加的运算规则便可以得到其相应的“差多项式”   
三、概要设计
c++课程设计报告图3-1功能模块图
为实现上述程序功能,用带表头结点的单链表存储多项式。元素类型,节点类型,和指针类型:typedef struct Polynomial{
int coe; //系数
int exp;//指数
struct Polynomial *next;
}*Polyn,Polynomial;
各个模块之间的调用如图3-1所示,调用insert()函数将输入的多项式按降幂排列,通过主函数main()中swith语句,选择用户所选择的对应的模块,然后又模块对应的功能函数对用户输入的数据进行相应的操作,最后通过desktop()模块将最后结果输出。
四、详细设计
图4-1 功能实现流程图
4.1 输入模块

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。