用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. 到T-SQL DML 三级的阶梯:在SQL server中实现关系模型

    作者: Gregory Larsen, 2017/08/02 (第一次出版: 2011/11/09) 翻译:谢雪妮,许雅莉,赖慧芳,刘琼滨 译文: 系列 该文章是阶梯系列的一部分:T-SQL DML的 ...

  2. Farseer.net轻量级ORM开源框架 V1.x 入门篇:视图实体类映射

    导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:表的数据操作 下一篇:Farseer.net轻量级ORM开源框 ...

  3. 常用css属性拓展

    text-overflow:clip | ellipsis(默认值:clip)clip:当内联内容溢出块容器时,将溢出部分裁切掉.ellipsis:当内联内容溢出块容器时,将溢出部分替换为(...). ...

  4. 迅为嵌入式开发板iTOP-6818开发板八核Cortex-A53架构,满足各种产品需求

    性价比更高 内存:1G(可选2G);存储:16G;4418:四核 Cortex-A9;6818:八核Cortex-A53. 功能更强 板载4G(全网通),GPS,WIFI,千兆以太网,重力加速度计等, ...

  5. nutwk的maven中央仓库及配置

    官方maven服务器:https://jfrog.nutz.cn/artifactory/jcenter/ 如果用阿里的maven服务器,特别提醒:

  6. leetcode_378. Kth Smallest Element in a Sorted Matrix_堆的应用

    Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth ...

  7. window10换系统为windows7

    第一步 第二步 第三步 下载系统:http://www.dnxtc.net 1.GHO镜像安装器和WIN7,GHO文件必须一起放在除C盘外的其他盘的根目录 2.“GHO镜像安装器“工具上右键管理员方式 ...

  8. count() 方法

    count() :方法用于统计字符串里某个字符出现的次数.可选参数为在字符串搜索的开始与结束位置. num1,num2 = input('请输入字符串:'),input('请输入要查询的子串:') p ...

  9. ios中摄像头/相册获取图片压缩图片上传服务器方法总结

    本文章介绍了关于ios中摄像头/相册获取图片,压缩图片,上传服务器方法总结,有需要了解的同学可以参考一下下.     这几天在搞iphone上面一个应用的开发,里面有需要摄像头/相册编程和图片上传的问 ...

  10. css一个div设置多个背景图片

    html:定义一个div <div class="item__content"></div> css:样式 .item__content { positio ...