计算器设计实验报告
发布时间:2024-11-21
发布时间:2024-11-21
C语言大作业设计文档
学 院 电子信息工程学院
专业班级 电子信息工程
学生姓名 刘锦濠
指导教师 邓一星
提交日期 2013年12月31日
1.概述
开发环境:Vsiual c++ 6.0;
使用的基本原理和技术:
1.if语句的选择结构;
2.switch语句的多分支选择结构;
3.While,do...while语句的循环结构;
4.for语句的循环结构;
5.数组的运用;
6.调用函数;
7.基本的运算函数;
2.详细设计
目前实现的功能:整数小数的四则运算;两数之间的求余运算;二进制,八进制,十六进制
转换十进制;在四则运算中能对错误的提醒,程序能循环进行。
目前还没有实现的功能:在进制转换间不能对其输入的数进行限定。在运算时只能进行两位
数的加减乘除运算,在进制转换间出现错误不能提示,不能进行进制间的转换,不能进行进制的
运算,不能计算二进制的原码、补码、反码。
程序一开始要求输入t,t是选择进行什么运算。而且我是重新定义了一个结构体AA
若t=’+’,则进行加法运算,程序会跳入加法的函数中,程序就要求输入所相加的数,可以是
整数也可以是实数,每输入一个数后需要按一下回车键,直到屏幕显示出结果为,如若中途出现
错误输入则需要退出程序,再运行程序在输入数值。
若t=’-’,则进行减法运算,程序会跳入减法的函数中;程序就要求输入所相减的数,可以是
整数也可以是实数,每输入一个数后需要按一下回车键,直到屏幕显示出结果为,如若中途出现
错误输入则需要退出程序,再运行程序在输入数值。
若t=’*’,则进行乘法运算,程序会跳入乘法的函数中;程序就要求输入所相乘的数,可以是
整数也可以是实数,每输入一个数后需要按一下回车键,直到屏幕显示出结果为,如若中途出现
错误输入则需要退出程序,再运行程序在输入数值。
若t=’/’,则进行除法运算,程序会跳入除法的函数中;程序就要求输入所相除的数,可以是
整数也可以是实数,每输入一个数后需要按一下回车键,直到屏幕显示出结果为,如若中途出现
错误输入则需要退出程序,再运行程序在输入数值。
若t=’%’,则进行两数的求余,然后用m去保存两个数相余的值,再显示。,如若中途出现
错误输入则需要退出程序,再运行程序在输入数值。
若t=’1’,则系统会选择循环计算。
若t=’2’则系统会显示退出字眼,退出系统。
(注:在程序中,以上的加减乘除以及求余数可以整数也可以实数,以下二,八,十,十六
进制之间的转换紧限于整数)
(注:在程序中,二进制只能输入数字0或1,八进制只能输入数字0到7包括0和7,十
六进制输入的是0到9包括0和9还有a 到f包括a和f)
在进制间转换时我没有用到switch语句,我只是用了if语句,因为我对if比较熟悉。开始时需要输入字符串个两个变量,然后再用变量t控制trats函数,将d1进制的tum,转换为十进制
数s,不合规则(d1进制)的tum就会输出错误。再调用trats2函数,将无符号整数t翻译成d
(2<=d<=16)进制表示的字符串s,用一数组digits[]保存16进制数由0-F;不合理的进制,
置s为空字符串,然后函数返回0;译出最低位,对应字符存入对应工作数组中,将译出在工作
数组中的字符串复制到s 。
而其他进制我是在trats函数中先转换为10进制,然后再进行转换的。不过在程序中编写
的比较模糊,始终运行不到。不知道是哪里出错了。而其他进制的程序编写,个人还不是很懂。
所以程序中编写错误,运行不到。
3.总结
在做这个程序的时候,我发现我对书本的知识掌握力度不够,不够熟悉。所以我翻查了书本,
还有上网看过在C语言中某些函数的用法。然后把自己不懂得步骤都记下来,做成文档输入电脑,
当复习的时候能够重新对自己不熟悉的知识回顾一遍。还有在所有进制间的转换的程序,我还未
能够完全的编写,只是能将其他进制转换成十进制。所以在这方面自己的不足,我会从其他途径
中再学习。由于我的电脑是win8系统,所以在下载的C语言软件对比C++是有不足的,很难运行。
4.参考文献
C程序设计、网络资料。