初步接触视图,制作了一个简易的计算器,基本上简单的计算是没有问题的,不是很完美,可能还有一些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:制作一个简易的计算器的更多相关文章

  1. 用XMLHttpRequest制作一个简易ajax

    概述 jquery退出历史舞台之后,我们怎么来发送ajax请求呢?可以用相关的库,也可以自己制作一个简易的ajax. 需要说明的是,我们使用的是XMLHttpRequest 2,它几乎兼容所有主流浏览 ...

  2. 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具

    查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...

  3. iOS学习——制作一个小型加法计算器

    一.项目要求:制作一个加法计算器.在第1个和第2个文本框中输入两个整数,然后点击“计算”按钮,可将计算结果显示在第3个文本框中. 二.开发步骤: 1.搭建UI界面 2.监听按钮的点击事件 3.获取文本 ...

  4. 使用Windows Form 制作一个简易资源管理器

    自制一个简易资源管理器----TreeView控件 第一步.新建project,进行基本设置:(Set as StartUp Project:View/Toolbox/TreeView) 第二步.开始 ...

  5. Opencv探索之路(二十):制作一个简易手动图像配准工具

    近日在做基于sift特征点的图像配准时遇到匹配失败的情况,失败的原因在于两幅图像分辨率相差有点大,而且这两幅图是不同时间段的同一场景的图片,所以基于sift点的匹配已经找不到匹配点了.然后老师叫我尝试 ...

  6. 制作一个简易计算器——基于Android Studio实现

    一个计算器Android程序的源码部分分为主干和细节两部分. 一.主干 1. 主干的构成 计算器的布局 事件(即计算器上的按钮.文本框)监听 实现计算 2. 详细解释 假设我们的项目名为Calcula ...

  7. 使用qt制作一个简单的计算器

    前言:今天使用qt制作了一个很简单的计算器,觉得挺有意思的,所以在这里跟大家分享一下. 这里先跟大家说说使用到的函数: 一.槽连接函数 connect(信号发送者,发送的信号,信号接收者,信号接收者的 ...

  8. python 正则的使用 —— 编写一个简易的计算器

    在 Alex 的博客上看到的对正则这一章节作业是编写一个计算器,要求能计算出下面的算式. 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 + ...

  9. 使用jQuery制作一个简易的购物车结算流程

    因为今天下午时候在网上买了东西,在结算界面的时候突发奇想的也想自己动手做一个结算界面,当然了,只是一个最简易的结算界面,有商品数量的加减,有单价和小计,单个多个删除,全选和区县全选等等一些小功能,我在 ...

随机推荐

  1. Xposed模块开发教程

    转:http://vbill.github.io/2015/02/10/xposed-1/     http://blog.csdn.net/zhangmiaoping23/article/detai ...

  2. mysql 拾遗提高(函数、事务、索引)

    目录 1.tips 2.事务(transaction) 3.索引(index) 4.数据库的导出和备份 5.函数 6.防SQL注入 7.使用Explain分析SQL语句 8.视图(view) 1.ti ...

  3. ip获取所在城市名称等信息接口,及函数

    函数: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ...

  4. web到service简单原理例子

    这是目前的理解 附上服务端源码 package com.lsw.server; import java.io.*; import java.net.*; import java.util.HashMa ...

  5. Java 集合补充

    集合大致可以分List,Set,Queue,Map四种体系. 集合和数组不一样,数组元素可以是基本类型的值,也可以是对象(的引用变量),集合里只能保存对象(的引用变量). 访问:如果访问List集合中 ...

  6. @NamedEntityGraphs --JPA按实体类对象参数中的字段排序问题得解决方法

    JPA按实体类对象参数中的字段排序问题得解决方法@Entity @Table(name="complaints") @NamedEntityGraphs({ @NamedEntit ...

  7. eclipse 背景颜色

    步骤阅读 3 本例使用的背景色是喜大普奔的豆沙绿,比较柔和 设置为:色调:85.饱和度:120.亮度:208 即可,据说长时间使用可以缓解眼疲劳哦. (吐槽:开什么玩笑,远离编程才能缓解眼疲劳好吗)

  8. Collection模块

    一.nametuple--factory function for creating tuple subclasses with named fields 创建类似于元祖的数据类型,除了能够用索引来访 ...

  9. C# 复制、粘贴文本信息到系统剪贴板

    复制: Clipboard.SetDataObject(textBox1.SelectedText); 粘贴: IDataObject iData = Clipboard.GetDataObject( ...

  10. android setContentView

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha setContentView  这个 就是 设置内容视图. 装饰视图 DecorView ...