用Object-C写的一个简单的计算机程序,主要学习按钮的action动作。

以下是主界面:

以下代码时界面按钮和ViewController.h连接的地方:

- (IBAction)button_0:(UIButton *)sender;
- (IBAction)button_dian:(UIButton *)sender;
- (IBAction)button_dengyu:(UIButton *)sender;
- (IBAction)button_1:(UIButton *)sender;
- (IBAction)button_2:(UIButton *)sender;
- (IBAction)button_3:(UIButton *)sender; - (IBAction)button_4:(UIButton *)sender;
- (IBAction)button_5:(UIButton *)sender;
- (IBAction)button_6:(UIButton *)sender;
- (IBAction)button_7:(UIButton *)sender;
- (IBAction)button_8:(UIButton *)sender;
- (IBAction)button_9:(UIButton *)sender;
- (IBAction)button_jia:(UIButton *)sender;
- (IBAction)button_jian:(UIButton *)sender;
- (IBAction)button_cheng:(UIButton *)sender;
- (IBAction)button_chu:(UIButton *)sender;
@property (weak, nonatomic) IBOutlet UITextField *result;

以下在ViewController.m中来写按钮的点击事件:


- (IBAction)button_0:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"0"];
self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_dian:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"."];
self.result.text = [NSString stringWithFormat:@"%@",newString];
} - (IBAction)button_dengyu:(UIButton *)sender {
NSString *resString = self.result.text;
double sum;
if([strOperator isEqualToString:@"+"]){
sum = [str doubleValue] + [resString doubleValue];
self.result.text =[NSString stringWithFormat:@"%f",sum];
}else if([strOperator isEqualToString:@"-"]){
sum = [str doubleValue] - [resString doubleValue];
self.result.text =[NSString stringWithFormat:@"%f",sum];
}else if([strOperator isEqualToString:@"+"]){
sum = [str doubleValue] * [resString doubleValue];
self.result.text =[NSString stringWithFormat:@"%f",sum];
}else if([strOperator isEqualToString:@"+"]){
sum = [str doubleValue] / [resString doubleValue];
self.result.text =[NSString stringWithFormat:@"%f",sum];
}
} - (IBAction)button_1:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"1"];
self.result.text = [NSString stringWithFormat:@"%@",newString];
}
- (IBAction)button_2:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"2"];
self.result.text = [NSString stringWithFormat:@"%@",newString]; }
- (IBAction)button_3:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"3"];
self.result.text = [NSString stringWithFormat:@"%@",newString]; } - (IBAction)button_4:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"4"];
self.result.text = [NSString stringWithFormat:@"%@",newString]; }
- (IBAction)button_5:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"5"];
self.result.text = [NSString stringWithFormat:@"%@",newString]; }
- (IBAction)button_6:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"6"];
self.result.text = [NSString stringWithFormat:@"%@",newString]; }
- (IBAction)button_7:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"7"];
self.result.text = [NSString stringWithFormat:@"%@",newString]; }
- (IBAction)button_8:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"8"];
self.result.text = [NSString stringWithFormat:@"%@",newString]; }
- (IBAction)button_9:(UIButton *)sender {
NSString *resString = self.result.text;
NSString *newString = [resString stringByAppendingString:@"9"];
self.result.text = [NSString stringWithFormat:@"%@",newString]; }
- (IBAction)button_jia:(UIButton *)sender {
str = self.result.text;
strOperator = @"+";
self.result.text = [NSString stringWithFormat:@" "]; }
- (IBAction)button_jian:(UIButton *)sender {
str = self.result.text;
strOperator = @"-";
self.result.text = [NSString stringWithFormat:@" "];}
- (IBAction)button_cheng:(UIButton *)sender {
str = self.result.text;
strOperator = @"*";
self.result.text = [NSString stringWithFormat:@" "];
}
- (IBAction)button_chu:(UIButton *)sender {
str = self.result.text;
strOperator = @"/";
self.result.text = [NSString stringWithFormat:@" "];}

注意这里的str 和strOperator在ViewController.h中声明的:

 NSString *strOperator;
NSString *str;

这就完毕了一个简单的计算器~

IOS开发之简单计算器的更多相关文章

  1. IOS开发之简单音频播放器

    今天第一次接触IOS开发的UI部分,之前学OC的时候一直在模拟的使用Target-Action回调模式,今天算是真正的用了一次.为了熟悉一下基本控件的使用方法,和UI部分的回调,下面开发了一个特别简易 ...

  2. iOS开发-UINavigationController简单介绍

    导航条或者说导航栏目现在在App中基本上也算是标配,类似于父子级别的味道在里面,UINavigationController就是负责简化这一实现功能的,属于iOS开发中比较常用的一种容器View co ...

  3. iOS开发-UIActivityIndicatorView简单使用

    软件开发的时候经常会遇到半天才加载出来数据的情况,不管是程序写的烂,还是说本来网速比较慢,一般都都会给个提示让用户感觉到我们在努力的加载数据,iOS可以通过UIActivityIndicatorVie ...

  4. iOS开发-UIActionSheet简单介绍

    UIActionSheet和UIAlertView都是ios系统自带的模态视图,模态视图的一个重要的特性就是在显示模态视图的时候可以阻断其他视图的事件响应.一般情况下我们对UIAlertView使用的 ...

  5. IOS做一个简单计算器

    //声明非原创 步骤: 1.打开Xcode,单机Creat a new Xcode project 2.左边选择ios下Application,右边选择single view Application ...

  6. ios开发之--简单动画效果的添加

    记录一个简单的动画效果,自己写的,很简单,仅做记录. 附一个demo的下载地址: https://github.com/hgl753951/hglTest.git 代码如下: 1,准备 BOOL _i ...

  7. iOS开发--录音简单实现

  8. [分享]IOS开发-简单实现搜索框显示历史记录的本地缓存及搜索历史每次只能获取到一个的解决方案

    注:原文:http://www.zhimengzhe.com/IOSkaifa/40433.html 1.首先,我们需要对进行过搜索的textField的输入内容进行一个NSUserDefaults的 ...

  9. IOS开发-手势简单使用及手势不响应处理办法

    1.点击 2.长按 3.拖拽 4.轻扫.捏合.旋转 5.使用手势需要注意的地方 1.注意处理轻扫和拖拽的冲突 //那个时间短的话 就让那个先执行 //处理 拖拽和轻扫 两个手势的冲突 //需要轻扫手势 ...

随机推荐

  1. 调度工具taskctl跨调度服务依赖实现

    调度工具taskctl虽然支持分布式调度,但是有的时候,不同重要程度的调度服务还是要区分开来,在区分开后,不同调度服务之间怎么实现依赖啦, 其实有很多方式,比如写文件,写数据库之类的,这些都可以根据用 ...

  2. 解决重置PostgreSQL 9.6密码的问题

    一.PostgreSql9.6重置密码的方法: 1.打开windows服务管理器,找到“postgresql-x64-9.6”服务,停止服务. 2.找到PostgreSQL9.6的安装目录(以我的E盘 ...

  3. 浅谈CSS中的定位知识

    1,静态定位(static) 表示按照正常定位方案,元素盒按照在文档流中出现的顺序依次格式化: 2,相对定位(relative) 将移动元素盒,但是它在文档流中的原始空间会保留下来: 相对定位元素有如 ...

  4. Oracle11g 审计介绍

    审计是记录数据库上方方面面操作.事件等信息,是数据安全管理的重要手段. 开启审计,虽然不同级别的审计会有不同,但是对数据库的性能是有影响的,并且占用存储空间. --1.创建审计数据专用表空间 crea ...

  5. VirtualBox中的Linux读取Windows共享目录

    1.安装VirtualBox的增强功能.菜单 -> 设备 -> 安装增强功能此时在Linux中会载入安装包,用管理员权限运行安装即可. 2.在VirtualBox设置共享目录.设置 -&g ...

  6. 第4节 hive调优:1、2、fetch抓取和表的优化

    hive的调优:第一个调优:fetch抓取,能够避免使用mr的,就尽量不要用mr,因为mr太慢了 set hive.fetch.task.conversion=more 表示我们的全局查找,字段查找, ...

  7. Tomcat的配置方法(解压版)

    Tomcat解压版虽然不用安装,但是死难配!!之前刚学的时候很是郁闷了一阵,Jsp倒还好,但是Servlet死活跑不起来.今天就把你给记下来!! 解压到C:/Tomcat 然后再配置环境变量: 添加三 ...

  8. python使用zipfile解压文件中文乱码问题

    中文在编程中真实后娘养的,各种坑爹,python3下中文乱码这个问题抓破了头皮,头疼.看了alex的文章,才有种恍然大悟的感觉(链接在底部). 一句话,就是转换成unicode,压缩前是什么编码,使用 ...

  9. android实战简易教程-链接

    http://blog.csdn.net/yayun0516/article/category/2799943

  10. 启发式合并CodeForces - 1009F

    E - Dominant Indices CodeForces - 1009F You are given a rooted undirected tree consisting of nn vert ...