数据结构课程设计报告撰写要求(一)纸张与页面要求1.采用国际标准A4型打印纸或复印纸,纵向打印。2.封页和页面按照下面模板书写(正文为:小四宋体1.5倍行距)。3.图表及图表标题按照模板中的表示书写。(二)课设报告书的内容应包括以下各个部分:(按照以下顺序装订)1.封页(见课设模版)2、学术诚信声明,所有学生必须本人签字,否则教师拒绝给予成绩。2.任务书(学生教师均要签字,信息填写完整)3.目录4.正文一般应包括以下内容:(1)题目介绍和功能要求(或描述)课程设计任务的详细描述(注意不能直接抄任务书),将内容做更详细的具体的分析与描述;(2)系统功能模块结构图绘制系统功能结构框图及主要模块的功能说明;(3)使用的数据结构的描述:数据结构设计及用法说明;(4)涉及到的函数的描述;(5)主要算法描述(程序流程图)(6)给出程序测试/运行的结果设计多组数据加以描述(包括输入数据和输出结果)(7)课程设计的总结及体会(8)参考文献格式要求:[1]作者,等.书名.出版地:出版社,出版年5.附录:程序清单(应带有必要的注释)沈阳航空航天大学课程设计报告课程设计名称:数据结构课程设计课程设计题目:大整数计算器院(系):计算机学院专业:班级:学号:姓名:指导教师说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。沈阳航空航天大学课程设计报告I学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。本人签名:日期:年月日沈阳航空航天大学课程设计报告II沈阳航空航天大学课程设计任务书课程设计名称数据结构课程设计专业网络工程学生姓名李典通班级34010201学号2013040102031题目名称大整数计算器的实现起止日期2015年1月5日起至2015年1月16日止课设内容和要求:内容:由于整形数据存储位数有限,因此引入串的概念,将整型数据用字符串进行存储,利用字符串的一个字符存储大整数的一位数值,然后根据四则运算规则对相应位依次进行运算,同时保存进位,从而实现大整数精确的运算。要求:1.以大整数形式从键盘输入操作数。2.演算在求值的运算操作中,输入操作数和主要的操作的变化过程。3.利用所学知识,设计相应的数据结构。参考资料:[1]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2006[2]吕国英.算法设计与分析[M].北京:清华大学出版社,2006[3]徐宝文李志.C程序设计语言[M].北京:机械工业出版社,2004教研室审核意见:同意教研室主任签字:指导教师(签名)2014年12月29日学生(签名)2014年12月31日沈阳航空航天大学课程设计报告III目录1课程设计内容............................................................................................................11.1题目介绍..............................................................................................................11.2功能要求..............................................................................................................22系统功能模块............................................................................................................32.1主模块..................................................................................................................32.1.1系统功能结构图.............................................32.2主要模块功能说明...............................................................................................33详细设计....................................................................................................................53.1数据结构描述.....................................................................................................53.2算法流程..........................................................................................................74程序测试及总结.........................................................................................................114.1测试、运行.........................................................................................................11参考文献........................................................................................................................13附录(关键部分程序清单)..................................................................................16沈阳航空航天大学课程设计报告11课程设计内容1.1题目介绍由于整形数据存储位数有限,因此将整型数据用字符串进行存储。在大整数计算器分为四个大模块,分别为大整数加法运算、大整数减法运算、大整数乘法运算、大整数除法运算函数模块。由一个主模块所调用。加法运算功能,从个位开始逐位相加,超过或达到10则进位,同时将该位计算结果存到另一个字符串中,直至加完大整数的所有位为止。减法运算功能,首先调用库函数strcmp判断这两个大整数是否相等,如果相等则结果为0,否则用Compare函数判断被减数和减数的大小关系,进而确定结果为正数还是负数,然后对齐位依次进行减法,不够减则向前借位,直至求出每一位减法之后的结果。乘法运算功能,首先让乘数的每一位都和被乘数进行乘法运算,两个乘数之积与进位相加作为当前位乘积,求得当前位的同时获取进位值,进而实现大整数的乘法运算。除法运算功能,类似做减法,基本思想是反复做减法,从被除数里最多能减去多少次除数,所求得的次数就是商,剩余不够减的部分则是余数,这样便可计算出大整数除法的商和余数。主函数,主函数是程序的入口,采用模块化设计。通过一定的入口可以进行加法运算功能、减法运算功能、乘法运算功能、除法运算功能。沈阳航空航天大学课程设计报告21.2功能要求1.大整数加法:采用数学中列竖式的方法,从个位开始逐位相加,超过或达到10则进位,同时将该位计算结果存到另一个字符串中,直至加完大整数的所有位为止。2.大整数减法:首先调用库函数判断这两个大整数是否相等,如果相等则结果为0,否则用Compare函数判断被减数和减数的大小关系,进而确定结果为正数还是负数,然后对齐位依次进行减法,不够减则向前借位,直至求出每一位减法之后的结果。3.大整数乘法:首先让乘数的每一位都和被乘数进行乘法运算,两个乘数之积与进位相加作为当前位乘积,求得当前位的同时获取进位值,进而实现大整数的乘法运算。4.大整数除法:反复做减法,从被除数里最多能减去多少次除数,所求得的次数就是商,剩余不够减的部分则是余数。5.其实就是利用算法中的高精度算法进行加减乘除的实现。来实现大整数计算器。沈阳航空航天大学课程设计报告32系统功能模块2.1主模块2.1.1系统功能结构图设计程序实现两个大整数四则运算,输出这两个大整数的和、差、积、商及余数,实现大整数(200位以内的整数)的加、减、乘、除运算。根据需要可以进行如下操作:加法、减法、乘法、除法。其功能模块图如图2-1所示。图2.1主模块设计图2.2数据结构描述大整数计算器分为四个大模块,分别为大整数加法运算、大整数减法运算、大整数乘法运算、大整数除法运算函数模块。加法运算功能,加法运算功能是将两个字符从个位开始进行逐位相加,然后沈阳航空航天大学课程设计报告4把每一位的相加结果存放到字符串中,并且输出运算结果。其流程图如图3-2所示。输入两个相加的字符,然后从个位开始逐位相加,判断两个数相加的结果是否大于或等于十,如果是,那么向前一位进一,并将所得结果存放到另一个字符串中,如果不是,则直接将所得结果存放到另一个字符串中。当所有结果都存入该字符串中时,判断是否所有位都进行了加法运算,若是,输出结果,若不是,重复上述过程,继续进行运算,直至所有位都进行了加法运算时输出结果。减法运算功能,减法运算功能是将输入的两个相减的大整数,对齐位依次进行减法运算,并输出结果。首先,在输入两个大整数后开始判断他们是否相等,若相等,输出结果为零,结束运算。若不相等,开始进行运算结果的正负判断,当被减数大于减数时,结果为正,否则结果为负。然后,对两个大整数对齐位依次进行减法,若够减且每一位都已减完,那么输出运算结果;若不够减,则向前借位依次进行减法运算,直到每一位都已减完,输出结果。其功能流程图如图3-3所示。乘法运算功能,首先让乘数的每一位都和被乘数进行乘法运算,两个乘数之积与进位相加作为当前位乘积,求得当前位的同时获取进位值,进而实现大整数的乘法运算。除法运算功能,类似做减法,基本思想是反复做减法,从被除数里最多能减去多少次除数,所求得的次数就是商,剩余不够减的部分则是余数,这样便可计算出大整数除法的商和余数。主函数,主函数是程序的入口,采用模块化设计。通过一定的入口可以进行加法运算功能、减法运算功能、乘法运算功能、除法运算功能。沈阳航空航天大学课程设计报告错误!未指定书签。53算法描述3.1数据结构描述⑴加法运算功能加法运算功能是将两个字符从个位开始进行逐位相加,然后把每一位的相加结果存放到字符串中,并且输出运算结果。输入两个相加的字符,然后从个位开始逐位相加,判断两个数相加的结果是否大于或等于十,如果是,那么向前一位进一,并将所得结果存放到另一个字符串中,如果不是,则直接将所得结果存放到另一个字符串中。当所有结果都存入该字符串中时,判断是否所有位都进行了加法运算,若是,输出结果,若不是,重复上述过程,继续进行运算,直至所有位都进行了加法运算时输出结果。详细代码及程序见附录中的代码的——voidIntAddition(char*augend,ch