c++实现任意长整数的四则运算 联系客服

发布时间 : 星期日 文章c++实现任意长整数的四则运算更新完毕开始阅读b5c7d5d200d276a20029bd64783e0912a3167c16

实用文档

实验题目:设计一数据结构可处理任意长度的整数

概要设计

1.数据结构的定义

采用双向链表存储任意长整数。双向链表的定义如下:

class DblList { private: DblNode *head, *tail; DblNode *current; int sign; public: DblList(); //构造函数 ~DblList(); //析构函数 bool CreatList(string); //生成一个双向链表,存储整数 int GetCount(); //获取整数的长度 void Insert(DblNode *); //从表尾插入一个结点 void InsertFront(DblNode *); //从表头插入 void Clear(); //清除该链表 void operator+(DblList &); //实现两个任意整数的加法 void operator*(DblList &); //实现两个任意整数的乘法 DblList & operator=(DblList &); //重载赋值运算符

int Compare(DblList &); //两个整数的绝对值比较 void Display(); //任意长度整数的标准化输出 };

说明:数据的存储,无外乎顺序或者链表。顺序存储时,定义数组无法实现任意长度,而且需要预设一个maxsize,不是特别的方便。所以采用链式存储方式。而且任意长数据通过字符串输入。在链表的每一个结点中,数据域是在该数位上的数字大小。

2.主要功能模块的功能 ? 任意长整数的输入

? 任意长整数的标准化输出 ? 两个整数的加法 ? 两个整数的乘法

三.详细设计(主模块流程图)

标准

实用文档

五、 使用说明及测试结果

1.使用说明:

点击打开应用程序pro1.exe。依次输入任意两个整数(例如123456,+1234567),按回车,会出现菜单,如下图:

标准

实用文档

按‘1’则实现两整数的加法 按‘2’则实现两整数的乘法 按‘#’结束

注:菜单可重复出现直至‘#’退出。 实现加法,乘法如下图:

2.测试结果:

标准

实用文档

(1) 123456 (2) +1234567 (3) -987654321 (4) 12a3 (5) +

注:当输入错误时,允许重新输入。

六、 源程序

/* 主函数 */ /***************************************************/ #include \

void main(){ string s; string p; DblList list1; while(1){ //输入错误时,允许重新输入 cout<<\ cin>>s; bool ok1=list1.CreatList(s); if (!ok1) { cout<<\ } else{ cout<<\ list1.Display(); break; } } DblList list2; while(1){ cout<<\ cin>>p; bool ok2=list2.CreatList(p); if (!ok2)

标准