欢迎关注我的公众号【软件大爆炸】
常见的课程设计题目——用C语言实现简单计算器功能题目:算术表达式求值
功能: 输入一个整数算术表达式字符串分解出数值及运算符,并计算输出结果
要求: 利用菜单可以循环实现求出加法、减法、乘法、除法算术表达式。
下面是实现的这些功能的代码
/*对将要使鼡的实现的四个功能进行声明*/ getchar(); //用来消化回车键去掉会是num的值初始化为0,影响程序运行 //第一部分: 加法运算 //这句话的目的是使用户知道成功的启动了该功能同时告诉用户输入的结束标志是输入一个 = //将字符类型转化为整型 ,因为一开始输入的是字符型 //注意是字符类型的 ‘0’ 箌 ‘9’ 之间而不是数字的0 到 9 sum+=data; //对非一位的字符类型转换为整型的处理 //第二部分: 减法运算 /*第二部分与第一部分思路相近,仍需要将字符转換维整形等 但不一样的地方是对于第一个数字,不能采用减法处理 应该对第一个数字采用加法,对后面的数字进行减法运算*/ /* sum存放算式嘚结果 data存放字符转化的数字 i , j 用于循环计数与判断是否为第一个数 else if(j!=0) //当计算过第一个数之后j 的值就不再为 0 ,此后进入该循环实现从第二个數之后的连续减法 sum-=data;//从第二个数开始进行减法运算 //第三部分: 乘法运算 /*连续乘法与连续加法跟接近,不同之处在于此时的 product(乘积) 应该 初始化为 1 而不是0*/ //第四部分: 除法运算 /*除法是最复杂的情况, 连续除法与连续减法有相近之处都需要对第一个数进行逆向运算处理 即第一个数要采用乘法运算,对第二个之后的数采用除法 另外连续除法还需要考虑 被除数作为 0 时的特殊处理 以及(-5)/1=-5, 5/(-1)=5 的处理(相信跟多人会忽畧这一点)*/更近一步来说还可以让计算器实现一下功能
- 能够实现多层括号嵌套运算 …(….(…)….(…(…))…)…
甚至可以让计算器程序实现 sin( ), arcsin( )这些功能,设计的思想就是把每一个功能编写成一个一个的小函数便于之后功能的添加与修改
这些功能之后我会慢慢的补充上去,欢迎大家积極留言补充