iOS:制作一个简易的计算器
初步接触视图,制作了一个简易的计算器,基本上简单的计算是没有问题的,不是很完美,可能还有一些bug,再接再厉。

//
// ViewController.m
// 计算器
//
// Created by ma c on 15/8/25.
// Copyright (c) 2015年 bjsxt. All rights reserved.
// #import "ViewController.h" @interface ViewController ()
@property (weak, nonatomic) IBOutlet UITextField *ResultField;
@property(nonatomic,assign)CGFloat temp;
@property(nonatomic,assign)CGFloat num1;
@property(nonatomic,assign)CGFloat num2;
@property(nonatomic,strong)NSMutableString *string;
@property(nonatomic,strong)NSArray *arr;
@end
@implementation ViewController
- (IBAction)buttonClear:(UIButton *)sender
{
[_string setString:@""]; //重新开始计算,文本框置空
self.ResultField.text = _string;
}
- (IBAction)button7:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
}
- (IBAction)button8:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
}
- (IBAction)button9:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
}
- (IBAction)button4:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
}
- (IBAction)button5:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
}
- (IBAction)button6:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
}
- (IBAction)button1:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
}
- (IBAction)button3:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
}
- (IBAction)button2:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
}
- (IBAction)button0:(UIButton *)sender
{
[_string appendString:@""];
self.ResultField.text = _string;
} - (IBAction)buttonPoint:(UIButton *)sender
{
[_string appendString:@"."];
self.ResultField.text = _string;
} //触发算数运算事件
- (IBAction)buttonDiv:(UIButton *)sender
{
[_string appendString:@"/"];
self.ResultField.text = _string;
} - (IBAction)buttonMul:(UIButton *)sender
{
[_string appendString:@"*"];
self.ResultField.text = _string;
} - (IBAction)buttonSub:(UIButton *)sender
{
[_string appendString:@"-"];
self.ResultField.text = _string;
} - (IBAction)buttonAdd:(UIButton *)sender
{
[_string appendString:@"+"];
self.ResultField.text = _string;
} //做结果运算操作
- (IBAction)buttonEqual:(UIButton *)sender
{ for(int i=; i<[_string length]; i++)
{ self.arr = [[NSArray alloc]init]; //只输入一个数,不做运算
if([_string length] == )
{
self.temp = [_string doubleValue];
break;
} //做加法运算
if([_string characterAtIndex:i] == '+')
{
self.arr = [_string componentsSeparatedByString:@"+"]; self.num1 = [self.arr[] doubleValue];
self.num2 = [self.arr[] doubleValue];
self.temp = self.num1 + self.num2;
break;
} //做减法运算
if([_string characterAtIndex:(i+)] == '-')
{
self.arr = [_string componentsSeparatedByString:@"-"]; if([self.arr count] == )
{
self.num1 = [self.arr[] doubleValue];
self.num2 = [self.arr[] doubleValue];
self.temp = self.num1 - self.num2;
}
else
{
self.num1 = [self.arr[] doubleValue];
self.num2 = [self.arr[] doubleValue];
self.temp = -(self.num1 + self.num2);
}
break;
} //做除法运算
if([_string characterAtIndex:i] == '/')
{
self.arr = [_string componentsSeparatedByString:@"/"];
self.num1 = [self.arr[] doubleValue];
self.num2 = [self.arr[] doubleValue];
self.temp = self.num1 / self.num2;
break;
} //做乘法运算
if([_string characterAtIndex:i] == '*')
{
self.arr = [_string componentsSeparatedByString:@"*"];
self.num1 = [self.arr[] doubleValue];
self.num2 = [self.arr[] doubleValue];
self.temp = self.num1 * self.num2;
break;
} } //输出结果
[_string setString:[NSString stringWithFormat:@"%.2f",self.temp]];
self.ResultField.text = _string;
} - (void)viewDidLoad {
[super viewDidLoad]; //创建一个可变的字符串
_string = [NSMutableString stringWithCapacity:];
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end
iOS:制作一个简易的计算器的更多相关文章
- 用XMLHttpRequest制作一个简易ajax
概述 jquery退出历史舞台之后,我们怎么来发送ajax请求呢?可以用相关的库,也可以自己制作一个简易的ajax. 需要说明的是,我们使用的是XMLHttpRequest 2,它几乎兼容所有主流浏览 ...
- 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具
查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...
- iOS学习——制作一个小型加法计算器
一.项目要求:制作一个加法计算器.在第1个和第2个文本框中输入两个整数,然后点击“计算”按钮,可将计算结果显示在第3个文本框中. 二.开发步骤: 1.搭建UI界面 2.监听按钮的点击事件 3.获取文本 ...
- 使用Windows Form 制作一个简易资源管理器
自制一个简易资源管理器----TreeView控件 第一步.新建project,进行基本设置:(Set as StartUp Project:View/Toolbox/TreeView) 第二步.开始 ...
- Opencv探索之路(二十):制作一个简易手动图像配准工具
近日在做基于sift特征点的图像配准时遇到匹配失败的情况,失败的原因在于两幅图像分辨率相差有点大,而且这两幅图是不同时间段的同一场景的图片,所以基于sift点的匹配已经找不到匹配点了.然后老师叫我尝试 ...
- 制作一个简易计算器——基于Android Studio实现
一个计算器Android程序的源码部分分为主干和细节两部分. 一.主干 1. 主干的构成 计算器的布局 事件(即计算器上的按钮.文本框)监听 实现计算 2. 详细解释 假设我们的项目名为Calcula ...
- 使用qt制作一个简单的计算器
前言:今天使用qt制作了一个很简单的计算器,觉得挺有意思的,所以在这里跟大家分享一下. 这里先跟大家说说使用到的函数: 一.槽连接函数 connect(信号发送者,发送的信号,信号接收者,信号接收者的 ...
- python 正则的使用 —— 编写一个简易的计算器
在 Alex 的博客上看到的对正则这一章节作业是编写一个计算器,要求能计算出下面的算式. 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 + ...
- 使用jQuery制作一个简易的购物车结算流程
因为今天下午时候在网上买了东西,在结算界面的时候突发奇想的也想自己动手做一个结算界面,当然了,只是一个最简易的结算界面,有商品数量的加减,有单价和小计,单个多个删除,全选和区县全选等等一些小功能,我在 ...
随机推荐
- idea 设置svn忽略 .idea内的文件
从ToolView中打开 Version Control -> Local Changes 中的Default ChangesList里面的文件全选中右键选择 Move to Anothe ...
- iOS 9应用开发教程之iOS 9新特性
iOS 9应用开发教程之iOS 9新特性 iOS 9开发概述 iOS 9是目前苹果公司用于苹果手机和苹果平板电脑的最新的操作系统.该操作系统于2015年6月8号(美国时间)被发布.本章将主要讲解iOS ...
- [ 转载 ] Mysql 远程连接+开放80和3306端口 常用配置
直接上方法: 首先配置CentOS下防火墙iptables规则: # vim /etc/sysconfig/iptables 向其中加入下列规则: -A INPUT -m state –state N ...
- BZOJ 2302: [HAOI2011]Problem c [DP 组合计数]
2302: [HAOI2011]Problem c Time Limit: 30 Sec Memory Limit: 256 MBSubmit: 648 Solved: 355[Submit][S ...
- 【20181103T1】地球发动机【dp优化】
题面 一眼dp 设\(f_i\)表示前\(i\)个且\(i\)必须选的最大功率 有 \(f _i= max_{1 \leq j < i,A_i - A_j > X_j} \{f_j \}+ ...
- 【Python3】【贪心】hdu4296 Buildings
题意: n个板,每个板有重量和强度w和s,还有PDV值(上面的总重量-该板的强度) 对于某种叠放方式,PDV的最大值为其代表值 求该值的最小值 考虑只有两个板的情况:a和b,很显然下面的比上面的容 ...
- 【8.13校内测试】【DP】【按除数分类】【二分】
感觉今天状态不太好啊一大早就很困,t1卡得有点久,以为三道题都是这个难度,结果难度完全是倒着排的啊!!在dp和数学上还得多练题!! 很像背包的一道DP??先不考虑树的结构,给每个点都先分配一个度数,剩 ...
- Oracle sql语句中(+)作用
select * from operator_info o, group_info g where o.group_id = g.group_id(+); 理解: + 表示补充,即哪个表有加号 ...
- PHP通过AJAX及Access-Control-Allow-Origin实现跨域访问
这里的跨域实质上是由浏览器同源策略限制的一类请求场景,浏览器同源策略SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全 ...
- BZOJ 1269: [AHOI2006]文本编辑器editor (splay tree)
1269: [AHOI2006]文本编辑器editor Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1213 Solved: 454[Submit ...