您所在位置: 网站首页 / c++实现任意长整数的四则运算.doc / 文档详情
c++实现任意长整数的四则运算.doc 立即下载
2024-09-09
约8.2千字
约14页
0
117KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

c++实现任意长整数的四则运算.doc

c++实现任意长整数的四则运算.doc

预览

免费试读已结束,剩余 9 页请下载文档后查看

5 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开


/NUMPAGES14

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

概要设计
1.数据结构的定义
采用双向链表存储任意长整数。双向链表的定义如下:
classDblList{
private:
	DblNode*head,*tail;
DblNode*current;
	intsign;
public:
	DblList();//构造函数
~DblList();//析构函数
	boolCreatList(string);//生成一个双向链表,存储整数
	intGetCount();//获取整数的长度
	voidInsert(DblNode*);//从表尾插入一个结点
voidInsertFront(DblNode*);//从表头插入
	voidClear();//去除该链表
	voidoperator+(DblList&);//实现两个任意整数的加法
	voidoperator*(DblList&);//实现两个任意整数的乘法
	DblList&operator=(DblList&);//重载赋值运算符
intCompare(DblList&);//两个整数的绝对值比拟
	voidDisplay();//任意长度整数的标准化输出
};
说明:数据的存储,无外乎顺序或者链表。顺序存储时,定义数组无法实现任意长度,而且需要预设一个maxsize,不是特别的方便。所以采用链式存储方式。而且任意长数据通过字符串输入。在链表的每一个结点中,数据域是在该数位上的数字大小。

主要功能模块的功能
任意长整数的输入
任意长整数的标准化输出
两个整数的加法
两个整数的乘法

三.详细设计〔主模块流程图〕

使用说明与测试结果
1.使用说明:
点击打开应用程序pro1.exe。依次输入任意两个整数〔例如123456,+1234567〕,按回车,会出现菜单,如下列图:


按‘1’那么实现两整数的加法
按‘2’那么实现两整数的乘法
按‘#’完毕
注:菜单可重复出现直至‘#’退出。
实现加法,乘法如下列图:



2.测试结果:
(1)123456
(2)+1234567
(3)-987654321
(4)12a3
+
注:当输入错误时,允许重新输入。

源程序
/*主函数*/
/***************************************************/
#include"cal.h"

voidmain(){
	strings;
stringp;
	DblListlist1;
	while(1){//输入错误时,允许重新输入
	cout<<"Inputnum1"<<endl;
	cin>>s;
		boolok1=list1.CreatList(s);
		if(!ok1)
		{
		cout<<"error!"<<endl;
		}
		else{
			cout<<"num1:";
			list1.Display();
			break;
		}
	}
	DblListlist2;
	while(1){
		cout<<"Inputnum2:"<<endl;
		cin>>p;
		boolok2=list2.CreatList(p);
		if(!ok2)
		{
			cout<<"error!"<<endl;
		}
		else{
			cout<<"num2:";
			list2.Display();
			break;
		}
	}
	stringchoose;
	while(1)
	{
		cout<<"请选择运算法:"<<endl;
		cout<<"--------------------------"<<endl;/*菜单*/
		cout<<"|1.num1+num2|"<<endl;/*可以重复输入运算符,按'#'退出*/
		cout<<"|2.num1*num2|"<<endl;
		cout<<"|#.exit|"<<endl;
		cout<<"--------------------------"<<endl;
		while(1)
		{	
cin>>choose;
		if(choose=="1")
			{
list1+list2;
				break;
			}
		elseif(choose=="2")
			{
			list1*list2;
				break;
			}
		elseif(choose=="#")
			{
			return;
			}
		else
			{
			cout<<"输入有误,请重新输入!!"<<endl;
				continue;
			}
		}
	}
}

/*头文件,包括长整数数据结构的定义,成员函数的
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

c++实现任意长整数的四则运算

文档大小:117KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用