77范文网 - 专业文章范例文档资料分享平台

五进制加减法

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

编号:17

河北工业大学计算机软件技术基础(VC)课程设计报告

一、题目:

17五进制加减法

二、设计思路

1、总体设计

(1)由用户输入两个五进制无符号整数,计算得到它们的和、差并输出 (2)程序运行时,提示用户输入两个五进制整数 (3)程序计算后,输出运算结果 2、各功能模块的设计

1) 单个字符与数字的转换

在字符转数字时,'0'~'4'只需减去'0'即可;同样的,数字转字符时,只需加上'0'。 2) 求两个数据(字符数组中)的和

从低位向高位逐位相加,每位数字相加时,实际是三个数字相加:两个加数的当前位

数字和低位向当前位的进位。要将两个加数的数组元素(字符型)转换成相应的数字再相加,相加后转换为字符存入存放和的字符数组中。最后对存放和的字符数组求逆序,使得高位存放在下标为0的元素中。

3) 当输入大于4的数时 程序显示错误,退出循环,当输入小于4的数时程序正常运行,

主要用循环模式来实现,如果与条件不相符,就退出循环。

4) 求两个数据(字符数组中)的差

从低位向高位逐位相减,每位数字相减时,实际是三个数字相减,要将两个加减数的

数组元素(字符型)转换成相应的数字再相减,相加后转换为字符存入存放和的字符数组中。最后对存放和的字符数组求逆序,使得高位存放在下标为0的元素中。

3、设计中的主要困难及解决方案 1)困难1

相减时高位的零无法去掉 不影响运行结果 2)困难2

乘法没有编出来

4、你所设计的程序最终完成的功能

1) 说明你编制的程序能完成的功能

由用户输入两个五进制无符号整数,计算得到它们的和、差并输出。 2)准备的测试数据及运行结果 准备测试数据

34210234 243102 运行结果

第1页/共7 页

三、程序清单

本程序清单: #include char s1[100],s2[100],s3[100],s4[100],t;

int i=0,k=0,max,min,c=0,h,N,M,x,d=0;

void math(int a,char s[]); void main() {

cout<<\ cin.getline(s1,100); cout<<\ cin.getline(s2,100); while(s1[i]!='\\0') //计算字符长度 { i++;

N=i;

}

math(N,s1); //排逆序

while(s2[k]!='\\0') //计算字符长度 {

k++; M=k; }

math(M,s2); //排逆序 if(M>N) { min=N;max=M;

}

else if(M

max=N;min=M; } else { max=N;

min=N;

编号:17

第2页/共7 页

编号:17

}

for(int f=0;f'4') { cout<<\ cout<

break;

}

else if(s2[f]>'4') {

cout<<\ cout<

break;

}

for(int u=N;u>=0;u--)

cout<

for(int e=M;e>=0;e--)

cout<

for(int j=0;j=5) { h-=5;

c=1;

} else

c=0;

s3[j]=h+'0'; //数字转字符

}

if(M>N) { for(int j=min;j=5) { h-=5;

c=1;

}

else

第3页/共7 页

c=0; s3[j]=h+'0';

}

} else if(M=5) { h-=5; c=1;

}

else c=0; s3[j]=h+'0';

}

}

if(c==0)

{ math(max,s3); //排逆序 for(int p=0;p

cout<

}

else if(c==1) { s3[max]='1';

math(max+1,s3); //排逆序 for(int p=0;p

cout<

}

for(int o=N;o>=0;o--) cout<

for(int q=M;q>=0;q--) cout<

if(M

h=s1[z]-'0'-(s2[z]-'0')-d; //字符转数字编号:17

第4页/共7 页

cout<

编号:17

if(h<0) { }

h+=5; d=1;

else

d=0;

s4[z]=h+'0'; //数字转字符

}

for(int b=min;b

h=s1[b]-'0'-d; if(h<0) { h+=5; d=1;

} else d=0; s4[b]=h+'0';

}

math(max,s4); //排逆序 for(x=0;x

cout<

else if(M>N) { for(int z=0;z

}

else c=0; s4[z]=h+'0';

} for(int b=min;b

{

h=s2[b]-'0'-d;

if(h<0)

{

第5页/共7 页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库五进制加减法在线全文阅读。

五进制加减法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/419198.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: