用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. R in action读书笔记(9)-第八章:回归 -回归诊断

    8.3回归诊断 > fit<-lm(weight~height,data=women) > par(mfrow=c(2,2)) > plot(fit) 为理解这些图形,我们来回 ...

  2. Asp.Net 设计模式 之 “特殊”的单例模式

    特殊的单例模式 要点在这里,提前预览: public SingleDemo() { name = "yy"; age = 20; //特殊的单例,this指代得失当前的Single ...

  3. maven多模块项目,多web合并项目使用心得

    Fixflow,做中国最好的开源流程引擎!项目地址https://github.com/fixteam/fixflow 此文章适合maven初学者或想接触maven的用户,讲的只是皮毛,高手请自觉略过 ...

  4. H5 canvas 之乱画

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. js 判断访问终端类型

    // 判断访问终端类型 var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appV ...

  6. 09CSS高级定位

    CSS高级定位 定位方式——position position:static|absolute|relative static表示为静态定位,是默认设置.  absolute表示绝对定位,与下位置属 ...

  7. How To:利用frm和idb文件进行数据恢复.txt

    在另外一个机器上准备测试数据,并传输到dbadb05机器的/mysql/backup/reco/位置下.开始尝试恢复数据一.使用mysqlfrm获取表结构信息及DDL语句. [mysql@dbadb0 ...

  8. 精准判断是360、IE和其他浏览器

    function myexplorer(){ var explorer = window.navigator.userAgent; if (!!window.ActiveXObject || &quo ...

  9. 样例GeoQuiz应用开发 第2章

    先介绍一下MVC,Model View Controller,是软件架构中最常见的一种框架. 简单来说就是通过 controller 的控制去操作 model 层的数据,并且返回给 view 层展示, ...

  10. [kuangbin带你飞]专题四 最短路练习

    对于最短路,我主要使用的就是dijkstra,Floyd,SPFA这三个算法.先来介绍一下这三个算法. 1. dijkstra算法.它适用于边权为正的情况,它是单源最短路,就是从单个源点出发到所有的结 ...