用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. iOS programming Delegation and Text Input

    iOS programming Delegation and Text Input  1.1 Text Fields    CGRect textFieldRect = CGRectMake(40, ...

  2. rar在linux下安装更新

    1.下载:根据主机系统下载合适的版本,当前64为centos系统演示下载: wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz 2.解压安 ...

  3. iOS-控件响应用户控制事件之事件处理

    事件处理 响应者对象 在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件.我们称之为“响应者对象” UIApplication.UIViewControlle ...

  4. 重装macOS环境配置笔记

    由于早些年买mac的时候写代码的经验还不够,导致多年使用后mac上装满了乱七八糟的软件,比如python就有系统自带的,xcode里的,pyenv的,以及brew安装的各种版本,nginx,Apach ...

  5. HDU_1237_简单计算器

    运算符为+,-,*,/:操作数为整数:且没有括号 设定符号优先级,先在栈底压运算符0 #include<iostream> #include<cstdio> #include& ...

  6. CSS3 自动旋转

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. CREATE SCHEMA - 定义一个新的模式

    SYNOPSIS CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element [ ... ] ] CREATE SCHEM ...

  8. ALTER DOMAIN - 改变一个域的定义

    SYNOPSIS ALTER DOMAIN name { SET DEFAULT expression | DROP DEFAULT } ALTER DOMAIN name { SET | DROP ...

  9. [实现] 利用 Seq2Seq 预测句子后续字词 (Pytorch)

    最近有个任务:利用 RNN 进行句子补全,即给定一个不完整的句子,预测其后续的字词.本文使用了 Seq2Seq 模型,输入为5个中文字词,输出为一个中文字词. 目录 关于RNN 语料预处理 搭建数据集 ...

  10. 【讲●解】火车进出栈类问题 & 卡特兰数应用

    火车进出栈类问题详讲 & 卡特兰数应用 引题:火车进出栈问题 [题目大意] 给定 \(1\)~\(N\) 这\(N\)个整数和一个大小无限的栈,每个数都要进栈并出栈一次.如果进栈的顺序为 \( ...