1、 1 数据结构课程设计报告 题题 目:目: 多项式相乘与魔王语言多项式相乘与魔王语言 系 部 名 称系 部 名 称 : 专 业 名 称专 业 名 称 : 班班 级级 : 学号学号 : 学 生 姓 名学 生 姓 名 : 指 导 教 师指 导 教 师 : 时间时间 : 20102010 年年1212 月月 6 6日日 至至20102010 年年 1212 月月1 15 5日日 2 一、一、 课程设计目的课程设计目的 通过对数据结构这门课一学期的学习,运用所学知识完成课程设计,进而掌 握并巩固所学知识点,将所学真正与实际问题结合起来。 二、课程设计内容二、课程设计内容 1.多项式相乘 以动态单链表为
2、存储结构,使用排序等操作实现多项式的乘法运算。 2.魔王语言 以栈和队列为数据结构, 使用文件读写查找等操作, 完成对魔王语言的解释。 三三、需求分析、需求分析(对所开发系统功能、性能的描述,想要实现的目标) 1.多项式相乘 应用该系统可以进行系数任意,指数任意的多项式相乘,在输入过程中还可 以进行多项式相同指数项的合并,输出时按降幂排列。 2.魔王语言 应用该系统可以对魔王所说的话进行翻译, 事先要建立好rule 与mean文件, 用来存放转换规则与对应意思,输入模块可任意输入魔王的语言,再通过转换与 翻译模块将其语言翻译为人类语言。 四四、概要概要设计设计 1.多项式相乘 创建函数:用来创
3、建多项式。 乘法运算函数:用来进行多项是相乘的运算。 合并函数:用来将相乘后所得多项式合并同类项。 排序函数:将合并后的多项式暗降幂排列。 打印函数:将最初输入的多项式与最终输出的多项式打印出来。 2.魔王语言 读规则 1 函数:读取规则 1。 读规则 2 函数:读取规则 2。 写入函数:将魔王所说的话写入文件并保存。 去括号函数:将魔王所说话中的括号按要求去掉。 翻译函数:将魔王所说的话翻译为人类语言。 主函数 创建函数 乘法运算函数 合并函数 排序函数 打印函数 主函数 读规则 1 函数 读规则 2 函数 写入 函 数 去 括 号 函数 翻译 函 数 字 母 转 换函数 打 印 规 则 1
4、 函 数 打 印 规 则 2 函 数 主体 函 数 3 字母转换函数:将大写字母转换为小写字母。 打印规则 1 函数:将规则 1 打印出来。 打印规则 2 函数:将规则 2 打印出来。 主体函数:与主函数共同调用模块。 五、详细设计及运行结果五、详细设计及运行结果(流程图, 函数之间相互调用的图示 ,程序设计及编 码, 运行结果) 1.多项式相乘 /*乘法运算函数*/ 假 真 假 真 开 始 L=head p=polya-next; p!=NULL; q=polyb-next; q!=NULL r=(Polylist)malloc(sizeof(Polynode); r-coef=p-coef*q-coef; r-exp=p-exp+q-exp; L-next=r;L=r; q=q-next; p=p-next; L-next=NULL; 结 束 4 /*合并函数*/ 是 否 是 否 是 否 是 开 始 r=L r-next!=NULL; a=r-next-exp;p=r-next; p-next!=NULL; b=p-nex