iOS:制作一个简易的计算器

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

  1 //
  2 //  ViewController.m
  3 //  计算器
  4 //
  5 //  Created by ma c on 15/8/25.
  6 //  Copyright (c) 2015年 bjsxt. All rights reserved.
  7 //
  8
  9 #import "ViewController.h"
 10
 11 @interface ViewController ()
 12 @property (weak, nonatomic) IBOutlet UITextField *ResultField;
 13 @property(nonatomic,assign)CGFloat temp;
 14 @property(nonatomic,assign)CGFloat num1;
 15 @property(nonatomic,assign)CGFloat num2;
 16 @property(nonatomic,strong)NSMutableString *string;
 17 @property(nonatomic,strong)NSArray *arr;
 18 @end
 19 @implementation ViewController
 20 - (IBAction)buttonClear:(UIButton *)sender
 21 {
 22     [_string setString:@""];         //重新开始计算,文本框置空
 23     self.ResultField.text = _string;
 24 }
 25 - (IBAction)button7:(UIButton *)sender
 26 {
 27     [_string appendString:@"7"];
 28     self.ResultField.text = _string;
 29 }
 30 - (IBAction)button8:(UIButton *)sender
 31 {
 32     [_string appendString:@"8"];
 33     self.ResultField.text = _string;
 34 }
 35 - (IBAction)button9:(UIButton *)sender
 36 {
 37     [_string appendString:@"9"];
 38     self.ResultField.text = _string;
 39 }
 40 - (IBAction)button4:(UIButton *)sender
 41 {
 42     [_string appendString:@"4"];
 43     self.ResultField.text = _string;
 44 }
 45 - (IBAction)button5:(UIButton *)sender
 46 {
 47     [_string appendString:@"5"];
 48     self.ResultField.text = _string;
 49 }
 50 - (IBAction)button6:(UIButton *)sender
 51 {
 52     [_string appendString:@"6"];
 53     self.ResultField.text = _string;
 54 }
 55 - (IBAction)button1:(UIButton *)sender
 56 {
 57     [_string appendString:@"1"];
 58     self.ResultField.text = _string;
 59 }
 60 - (IBAction)button3:(UIButton *)sender
 61 {
 62     [_string appendString:@"3"];
 63     self.ResultField.text = _string;
 64 }
 65 - (IBAction)button2:(UIButton *)sender
 66 {
 67     [_string appendString:@"2"];
 68     self.ResultField.text = _string;
 69 }
 70 - (IBAction)button0:(UIButton *)sender
 71 {
 72     [_string appendString:@"0"];
 73     self.ResultField.text = _string;
 74 }
 75
 76 - (IBAction)buttonPoint:(UIButton *)sender
 77 {
 78     [_string appendString:@"."];
 79     self.ResultField.text = _string;
 80 }
 81
 82 //触发算数运算事件
 83 - (IBAction)buttonDiv:(UIButton *)sender
 84 {
 85     [_string appendString:@"/"];
 86     self.ResultField.text = _string;
 87 }
 88
 89 - (IBAction)buttonMul:(UIButton *)sender
 90 {
 91     [_string appendString:@"*"];
 92     self.ResultField.text = _string;
 93 }
 94
 95 - (IBAction)buttonSub:(UIButton *)sender
 96 {
 97     [_string appendString:@"-"];
 98     self.ResultField.text = _string;
 99 }
100
101 - (IBAction)buttonAdd:(UIButton *)sender
102 {
103     [_string appendString:@"+"];
104     self.ResultField.text = _string;
105 }
106
107 //做结果运算操作
108 - (IBAction)buttonEqual:(UIButton *)sender
109 {
110
111     for(int i=0; i<[_string length]; i++)
112     {
113
114         self.arr = [[NSArray alloc]init];
115
116         //只输入一个数,不做运算
117         if([_string length] == 1)
118         {
119             self.temp = [_string doubleValue];
120             break;
121         }
122
123
124         //做加法运算
125         if([_string characterAtIndex:i] == ‘+‘)
126         {
127             self.arr = [_string componentsSeparatedByString:@"+"];
128
129             self.num1 = [self.arr[0] doubleValue];
130             self.num2 = [self.arr[1] doubleValue];
131             self.temp = self.num1 + self.num2;
132             break;
133         }
134
135
136         //做减法运算
137         if([_string characterAtIndex:(i+1)] == ‘-‘)
138         {
139             self.arr = [_string componentsSeparatedByString:@"-"];
140
141             if([self.arr count] == 2)
142             {
143                 self.num1 = [self.arr[0] doubleValue];
144                 self.num2 = [self.arr[1] doubleValue];
145                 self.temp = self.num1 - self.num2;
146             }
147             else
148             {
149                 self.num1 = [self.arr[1] doubleValue];
150                 self.num2 = [self.arr[2] doubleValue];
151                 self.temp = -(self.num1 + self.num2);
152             }
153             break;
154         }
155
156
157         //做除法运算
158         if([_string characterAtIndex:i] == ‘/‘)
159         {
160             self.arr = [_string componentsSeparatedByString:@"/"];
161             self.num1 = [self.arr[0] doubleValue];
162             self.num2 = [self.arr[1] doubleValue];
163             self.temp = self.num1 / self.num2;
164             break;
165         }
166
167         //做乘法运算
168         if([_string characterAtIndex:i] == ‘*‘)
169         {
170             self.arr = [_string componentsSeparatedByString:@"*"];
171             self.num1 = [self.arr[0] doubleValue];
172             self.num2 = [self.arr[1] doubleValue];
173             self.temp = self.num1 * self.num2;
174             break;
175         }
176
177     }
178
179     //输出结果
180     [_string setString:[NSString stringWithFormat:@"%.2f",self.temp]];
181     self.ResultField.text = _string;
182 }
183
184 - (void)viewDidLoad {
185     [super viewDidLoad];
186
187     //创建一个可变的字符串
188     _string = [NSMutableString stringWithCapacity:20];
189 }
190
191 - (void)didReceiveMemoryWarning {
192     [super didReceiveMemoryWarning];
193     // Dispose of any resources that can be recreated.
194 }
195
196 @end
时间: 2024-10-06 01:21:48

iOS:制作一个简易的计算器的相关文章

Objective-C:制作一个简易的计算器

初步接触视图,制作了一个简易的计算器,基本上简单的计算是没有问题的,不是很完美,可能还有一些bug,再接再厉. 1 // 2 // ViewController.m 3 // 计算器 4 // 5 // Created by ma c on 15/8/25. 6 // Copyright (c) 2015年 bjsxt. All rights reserved. 7 // 8 9 #import "ViewController.h" 10 11 @interface ViewContr

利用yacc和lex制作一个小的计算器

买了本<自制编程语言>,这本书有点难,目前只是看前两章,估计后面的章节,最近一段时间是不会看了,真的是好难啊!! 由于本人是身处弱校,学校的课程没有编译原理这一门课,所以就想看这两章,了解一下编译原理,增加一下自己的软实力.免得被别人鄙视. 一.安装yacc和lex 我是在Windows下使用这两个软件的.所以使用bison代替yacc,用flex代替lex.两者的下载地址是http://sourceforge.net/projects/winflexbison/ 我的gcc环境是使用以前用过

使用cocos制作一个简易的小闹钟

使用cocos制作一个简易的小闹钟 本文转载至学习使用Cocos制作<闹钟> 使用的引擎版本是cocos2.1 具体开发过程指导 (1)Cocos Studio部分 1.打开Cocos工具,新建一个项目: 2.设置好相关的配置,点击完成,从而发布到Cocos Studio中: 3.Cocos Studio IDE介绍: 左上角的是开发常用的游戏元素.UI控件.容器等,可以像VS2013一样拖拽,并在右边设置对应的属性:左下角是资源导入,可以导入所需的图片背景:下面是时间戳,用于设置基于时间戳的

用XMLHttpRequest制作一个简易ajax

概述 jquery退出历史舞台之后,我们怎么来发送ajax请求呢?可以用相关的库,也可以自己制作一个简易的ajax. 需要说明的是,我们使用的是XMLHttpRequest 2,它几乎兼容所有主流浏览器:XMLHttpRequest advanced features 参考: stackoverflow答案 实现get请求 先从支持get请求开始,代码如下: function ajax(a, b, c){ // URL, callback, just a placeholder c = new

AndroidStudio制作一个简易的订餐交易小demo【日常小练习】

AndroidStudio模拟制作一个简易的订餐交易小demo[日常小练习]     ————安德风 一.最终效果图: 二.布局设计activity_main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/a

iOS 制作一个简单的画板

制作简单画板 作为iOS初学者,在学习完UI的几个简单控件(UILable,UITextField,UIButton)之后,就可以制作一个简单的画图板demo,以下是具体制作流程(在MRC下),如有不足之处,还请各位大神们指教 0.0. 1.搭建界面,主要由UIButton,UITextField组成,底部的按钮是UITextField的一个自定义键盘(inputView) . - (void)viewDidLoad { [super viewDidLoad]; //创建菜单按钮 UIButto

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

自制一个简易资源管理器----TreeView控件 第一步.新建project,进行基本设置:(Set as StartUp Project:View/Toolbox/TreeView) 第二步.开始添加节点 添加命名空间using System.IO; 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Dra

用TX-1C的开发板写了一个简易的计算器

前不久看完了矩阵键盘和数码管的应用,自己动手花了一天时间写了一个简单的计算器 . 下面贴上源代码,大家可以测试一下. 上面4*4的矩阵键盘,作用分别是: 1 2 3 + 4 5 6 — 7 8 9 * on/c 0 = / 其中矩阵键盘的部分基本是照着书本的代码改的,然后自己做了部分修改. 由于是直接用 int 变量做的计算,而如果用 long 变量的话又要用到大数的运算,所以只能计算小于65536的数. 计算的步骤是这样的: (主操作数)(操作符)(被操作数)(=) //main.c #inc

由JavaScript,setInterval制作一个简易的时钟

用js可以做许多有趣的小动画,下面是一个简易时钟的小例子,可能样式写的有点多了,下方最终效果图(作为老司机的我有点小完美的强迫症哈哈哈...) <!DOCTYPE html><html><head> <title>时钟</title> <meta charset = "utf-8"> <style type="text/css"> span{ margin: 0; padding: