在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

 

运行编译后的结果为:

 

 

 

 

 

 

 

posted @ 2014-07-11 08:32  卢灿  阅读(3585)  评论(0编辑  收藏  举报