zoukankan      html  css  js  c++  java
  • 在xcode中用oc实现计算器

    在建立工程后建立关于计算器的类。

    在类的.h 中进行类的方法和成员的声明,在.m是实现:

    值得注意的是,在其他文件中用到这个类需要 加上这个类的头文件。

    然后在main.storybroad中添加你所需要的控件,并加上函数:

    我做的是将数字按钮拖入到一个函数中,将所有运算符拖入到到另一个函数中,其他的按钮都有独立的函数。

    然后在viewcontroll.h中申明一个全局的类的对象

    在viewcontroll.m中的代码为:

    //

    //  ViewController.m

    //  jisuanqi

    //

    //  Created by apple on 14-7-10.

    //  Copyright (c) 2014年 无名. All rights reserved.

    //

    #import "ViewController.h"

    #import "jisuanqi.h"

    @interface ViewController ()

    @property (weak, nonatomic) IBOutlet UILabel *xianshi;

                

    @end

    int i=10;

    @implementation ViewController

    - (IBAction)dianji:(UIButton *)sender {

        float value=[sender.currentTitle floatValue];

        if(jsq.j=='+'|| jsq.j=='-'|| jsq.j=='/' || jsq.j=='*')

        {

            

            if(jsq.dian=='.')

           {

               jsq.b=jsq.b+value/i;

               i=i*10;

           }

            else

            jsq.b=jsq.b*10+value;

            

            self.xianshi.text=[NSString stringWithFormat:@"%f",jsq.b];

        }

        else

        {

            if(jsq.dian=='.')

            {

                jsq.a=jsq.a+value/i;

                i=i*10;

            }

            else

            jsq.a=jsq.a*10+value;

            self.xianshi.text=[NSString stringWithFormat:@"%f",jsq.a];

        }

    }

    - (IBAction)diandian:(id)sender {

         jsq.dian='.';

    }

    - (IBAction)yunsuan:(UIButton *)sender {

         jsq.dian='0';

        i=10;

       

        if( sender.tag==1)

        {

            jsq.j='+';

        }

        else if(sender.tag==2)

        {

            jsq.j='-';

        }

        else if(sender.tag==3)

        {

            jsq.j='*';

        }

        else if (sender.tag==4)

        {

            jsq.j='/';

        }

        

        

    }

    - (IBAction)work:(id)sender {

        float gg=[jsq work];

        self.xianshi.text=[NSString stringWithFormat:@"%f",gg];

        jsq.b=0;

        jsq.a=0;

        jsq.j=0;

        jsq.dian=0;

        i=10;

    }

    - (void)viewDidLoad {

        [super viewDidLoad];

     jsq=[[jisuanqi alloc] init];

        // Do any additional setup after loading the view, typically from a nib.

    }

    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

    @end

    运行编译后的结果为:

  • 相关阅读:
    Postfix 邮件服务器搭建
    DER、CRT、CER、PEM格式的证书及转换
    Apache SSL 服务搭建
    scapy 中的ARP
    关于linux特殊含义的转义符33
    关于javascript中defineProperty的学习
    python QT 编程之路
    python socket编程制作后门木马(原创)
    mybatis学习——映射器(mappers)
    mybatis学习——properties属性实现引用配置文件
  • 原文地址:https://www.cnblogs.com/lucan727/p/3836933.html
Copyright © 2011-2022 走看看