calculator
#include <stdio.h>
#include <stdlib.h> typedef enum
{
FALSE = ,
TRUE
}BOOL; void calculator(void); int main(void)
{
char y = ' ';
y = 'y';
while('y' == y)
{
printf("start calculator:\n");
calculator();
printf("restart?,printf 'y' to continue\n");
scanf(" %c",&y);
printf("%c\n",y);
}
return ;
} void calculator(void)
{
char c;
char ucOperator = ' ';
int k = ;
int value = ;
int lastValue = ;
int result = ;
int lastk; printf("start calculator input:\n");
/* while((c = getchar()) == '\n'||c == ' ')
{
;
}
//this does work,the below way is more simple
*/
scanf(" %c",&c); //filter space and return
do{
if(c >= '' && c <= '')
{
if(!value)
{
value = c - '';
}
else
{
value = value* + c- '';
}
continue;
} if('+' == c)
{
lastk = k;
k = ;
}
else
{
if('-' == c)
{
lastk = k;
k = -;
c = '+';
}
} switch(c)
{
case '+':
switch(ucOperator)
{
case '*':
result += lastValue * value * lastk;
break;
case '/':
result += lastValue / value * lastk;
break;
case '+':
result += value * lastk;
break;
case ' ':
result += value;
break;
default:
break;
}
ucOperator = '+';
break; case '*':
lastValue = value; ucOperator = '*';
break;
case '/':
lastValue = value; ucOperator = '/';
break;
case '=':
if('+' == ucOperator)
{
result += value * k;
}
if('*' == ucOperator)
{
result += value * lastValue * k;
}
if('/' == ucOperator)
{
result += lastValue / value * k;
}
printf("%d\n",result);
result = ;
ucOperator = ' ';
break;
default:
break;
}
value = ;
}while((c = getchar()) != '\n');
}
calculator的更多相关文章
- [LeetCode] Basic Calculator II 基本计算器之二
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
- [LeetCode] Basic Calculator 基本计算器
Implement a basic calculator to evaluate a simple expression string. The expression string may conta ...
- Basic Calculator II
Implement a basic calculator to evaluate a simple expression string. The expression string contains ...
- Windows Universal 应用 – Tip Calculator
声明 以下内容取材于 Bob Tabor 的课程<Windows Phone 8.1 Development for Absolute Beginners>,链接地址为:http://ww ...
- Calculator(1.5)
Calculator(1.5) Github链接 ps.负数的处理未完成 解题过程中遇到的困难和解决 <stack>的使用: 认真研究了栈,基本上掌握了用法,与<queue>的 ...
- Calculator(1.0)
Calculator(1.0) Github链接 解题过程中遇到的困难 对于c++中类和对象的使用不够明确,看了c++的视频教程学会了用类和对象来写程序. 不会使用<queue>,在网上查 ...
- 数据结构与算法(1)支线任务2——Basic Calculator
题目:https://leetcode.com/problems/basic-calculator/ Implement a basic calculator to evaluate a simple ...
- Basic Calculator
本博客介绍leetcode上的一道不难,但是比较经典的算法题. 题目如下: Implement a basic calculator to evaluate a simple expression s ...
- Matrix Calculator
表达式分析+矩阵+计算器+寄存器=矩阵计算器 怎么想起来搞这个呢.. //刚看龙书兴致勃勃要搞表达式分析 这个寄存器比较简陋,26字母+4缓存,//字母不分大小写 当然,不只能算矩阵,还能算数= = ...
随机推荐
- BizTalk调用WS-Security的web services
最近做个项目,biztalk跟OTM(Oracle Transportation Management)系统做对接,双方通过web services通讯,这部分是BizTalk调用OTM的web se ...
- FlashBuilder 新建项目时提示 java.lang.nullpointerexception
可以尝试安装 Air SDK
- iOS UIButton单双击处理响应不同的方法
//显示目标 双击显示当前用户坐标位置 UIButton * btnShowDistination = [[UIButton alloc]initWithFrame:CGRectMake(, SCRE ...
- Java创建WebService服务及客户端实现(转)
简介 WebService是一种服务的提供方式,通过WebService,不同应用间相互间调用变的很方便,网络上有很多常用的WebService服务,如:http://developer.51cto. ...
- VC++6.0 配置CppUTest测试环境
最近看<软件项目成功之道>,书中无数次提及到“单元测试”对于项目成败的重要性,看到同事将CppUTest用于Linux动态库测试,于是在VC++6.0环境下搭建一个基于CppUTest的单 ...
- 带有静态方法的类(java中的math类)
带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 可以用私有构造函数来限制非抽象类被初始化. 例如,java中的math类.它让构造函数标记为私有,所以你无法创建Math的实例.但Math类却 ...
- 【ios 7】 之后的设置系统的状态栏隐藏的方法分享
由于在做视频播放的的项目,一直困扰的是,视频全屏幕播放的时候,系统的状态栏会隐藏不掉,虽然可以设置为透明的状态来显示,但是电池的状态一直隐藏不掉,查看网上的说法也就是说,要么来控制,他的hidden ...
- AX7: CREATE AN AUTOMATED TEST PACKAGE\MODEL
AX7: CREATE AN AUTOMATED TEST PACKAGE\MODEL It’s really important for a stable solution the use of a ...
- 迁移学习( Transfer Learning )
在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我们看到机器学习算法在当前的Web挖掘研究中存在着一个关 ...
- linux mysql重装问题
系统 :ubuntu16.04 使用apt-get命令安装mysql,启动时出错: can't connect to local mysql server through socket '/var/r ...