第一部分:引言
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言是一门实践性很强的课程。为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。完成c语言课程设计不仅可以加深对课程内容的理解,还可为以后学习其他计算机语言打下好的基础。要求学生完成课程设计的同时能写出比较规范的设计报告,能让我们初步感受到软件开发过程的项目管理方法和规范。
第二部分:系统功能和原始数据
大整数的四则运算。大整数指超过十位的十进制整数,假定不超过五十位。这类大整数在C语言系统中因超界溢出,是不能直接表达和计算的。可以用数组来表示大整数,在此基础上编写出实现大整数加、减、乘、除的程序。
第三部分:程序总体设计
(1)模块划分和层次结构
定义加法运算
定义减法运算
定义乘法运算
定义除法运算
运用主函数进行运算
(2)函数原型清单
(3)程序总体框架
第四部分:功能模块函数设计和调试
大整数的四则运算。大整数指超过十位的十进制整数,这类大整数在C语言系统中因超界溢出,是不能直接表达和计算的。可以用数组来表示大整数,在此基础上编写出实现大整数加、减、乘、除的程序。
main函数主要打印菜单选项,对用户所输入的进行判断,调用相应的子函数
void addition是加法运算函数,输入采用字符数组保存,然后将输入转化数字为存在整形数组里,然后逐位相加即可,同时注意进位处理。
void subtraction是减法运算函数,输入采用字符数组保存,然后将输入转化数字为存在整形数组里,原理同加法运算一样,逐位相减,考虑借位上位减一。
void multiplication是乘法运算函数,输入采用字符数组保存,然后将输入转化数字为存在整形数组里,原理上也是采用数组模拟,两两相乘,保存在另外一个数组中,要注意进位。
void division是除法运算,输入采用字符数组保存,然后将输入转化数字为存在整形数组里,除法也是利用数组模拟,不过这里不是直接按照除法的运算来,而是把除法转变为减法运算,从而求得结果。
第五部分:程序清单
第六部分:课程设计总结
这次我的课程设计是模拟大整数的四则运算系统,平时在做练习时曾有遇到类似的问题就比如阶乘计算升级版就有用到这种思想(运用数组模拟人工手算)。对于一般应用并不需要用到这么大的数,但在某些领域却经常需要这种大整数的运算。这类大整数在C语言系统中因超界溢出,是不能直接表达和计算的所以我将大整数用字符串和数组的形式表示出来,进行四则运算。在课程设计过程中我也遇到很多困难,比如对于出错的处理(用户乱输入),还有输出和除法运算。这里我就讲讲除法运算我所遇到的困难。做除法时并没有什么思路,后来看到别人是将除法转化为减法运算,一直相减直到不能减为止。
通过这次课程设计使我更加掌握了有关c语言设计方面的知识,在设计有遇到一些困难,但我也不断思考将其解决。虽然我完成了此次课程设计,但仍有许多不足,不如我的代码将加减乘除分开处理并且只能完成两个数的运算,我的除法运算并不考虑除后的余数,也就是结果都是整数并没有小数。这也是我今后要改进的地方。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
第七部分:参考资料
《c程序设计教程》机械工程出版社
大整数的四则运算-海子博客园
共同学习,写下你的评论
评论加载中...
作者其他优质文章