数据结构课程设计.rar

RAR格式版权申诉手机打开展开

数据结构课程设计,--大整数加减运算程序一.需求分析1.问题描述:大整数加减运算程序.本文力图设计实现一个任意长的整数进行加            减法运算的演示程序。具体的情况是这样的:利用双向循环链表实现长整数的存贮,每个结点含一个整型变量。整型变量的表示范围是 -(215-1) ~ (215-1)。输入、输   出...
编号:88-31226大小:62.10K
分类: 论文>计算机论文

该文档为压缩文件,包含的文件列表如下:

内容介绍

原文档由会员 beijing2008 发布

数据结构课程设计--大整数加减运算程序



一. 需求分析
1. 问题描述:大整数加减运算程序.本文力图设计实现一个任意长的整数进行加            减法运算的演示程序。具体的情况是这样的:利用双向循环链表实现长整数的存贮,每个结点含一个整型变量。整型变量的表 示范围是 -(215-1) ~ (215-1)。输入、输   出形式按简体中文表示习惯,每四位一组,组间用逗号分隔。
2. 基本需要:
(1)要求可以存储两个无限大的整数.
  (2)能够实现任意两个无限大的整数进行加减运算
3.测试数据:
  (1)6545421389451315+2356566545242216
     =8901987934693531
  (2)9456126641321132-322164649448133
     =9133961991872999
二.概要设计
1.数据结构:在程序中使用双向链表来存储大整数.具体情况是:运用链式存储结构,每当有数据元素需要进行存储的时候,通过new函数向系统动态申请所需要的存储空间,通过链表中的指针来实现数据元素的逻辑顺序,而且在双向链表是可以扩充的,这有利于实现大整数的存储.
2.程序模块:
这个程序分三个部分:
(1) 数据定义部分
大数节点结构类型的定义 struct linklist
(2) 调用函数有两部分:
大数节点存储链表的创建函数creatlt()
大数减法函数dosubtract(struct linklist *num1,struct linklist *num2)
大数加法函数doadd(struct linklist *num1,struct linklist *num2)
(3 ) 主程序部分分为两个部分:
第一部分是建立两个用作存储大数的链表空间
   第二部分是通过用户的选择,分情况作加法或者减法
3.各模块间的调用关系以及算法设计
  (1)主程序第一部分调用节点创建函数creatlt()
主程序第二部分是通过用户的选择,分情况调用大数加法函数或者是大数减法函数
(2)算法思想:
A.从键盘输入1表示进行加法运算,输入2表示进行减法运算.
     B.然后从键盘出入数据A和数据B,回车后,进行程序运算,得出运算结果. 
     C.如果还要进行运算,重复步骤A,B.
     D.如果运算完毕,输入3,退出程序.