稍微完善了一些的简单计算器的设计

 相对上次做得计算器,稍微将代码简化了一些,加了小树点的功能,能够在实现第一次运算后能够继续将结果进行多次运算,将昨天学的动画设计,和文字的设计加入到了界面中

  1 #import "ViewController.h"
  2 
  3 @interface ViewController ()
  4 @property (weak, nonatomic) IBOutlet UILabel *show;
  5 
  6 
  7 
  8 @end
  9 
 10 @implementation ViewController
 11 int i=10;
 12 
 13 - (void)viewDidLoad {
 14     [super viewDidLoad];
 15     jisuan=[[jisuanqi alloc]init];
 16     
 17     
 18     UILabel *lab=[[UILabel alloc] initWithFrame:CGRectMake(100,400,1200,20)];
 19     //lab.backgroundColor=[UIColor greenColor];
 20     lab.text=@"欢迎使用!";
 21     lab.textColor=[UIColor blueColor];
 22     //lab.textColor=[UIColor colorWithRed:63/255.0 green:130/255.0 blue:139/255.0 alpha:1];
 23     lab.font=[UIFont systemFontOfSize:20];
 24     lab.shadowColor=[UIColor yellowColor];
 25     lab.shadowOffset=CGSizeMake(10,0);
 26     [self.view addSubview:lab];
 27     
 28     // Do any additional setup after loading the view, typically from a nib.
 29     jisuan=[[jisuanqi alloc]init];
 30     
 31     UIImageView *imgview=[[UIImageView alloc]initWithFrame:CGRectMake(80, 190, 200, 100)];
 32     UIImage *img1=[UIImage imageNamed:@"5.png"];  //创建一个对象,并初始化
 33     UIImage *img2=[UIImage imageNamed:@"6.png"];
 34     UIImage *img3=[UIImage imageNamed:@"7.png"];
 35     UIImage *img4=[UIImage imageNamed:@"8.png"];
 36     UIImage *img5=[UIImage imageNamed:@"9.png"];
 37     UIImage *img6=[UIImage imageNamed:@"10.png"];
 38     UIImage *img7=[UIImage imageNamed:@"11.png"];
 39     
 40     imgview.alpha=0.4;
 41     
 42     NSArray *array=[NSArray arrayWithObjects:img1,img2,img3,img4 ,img5,img6,img7,nil]; //创建数组
 43     //    NSArray *array = [NSArray arrayWithObjects:img1, img2, img3,img4, nil];
 44     imgview.animationDuration=1;   //动画跳动的时间间隔 1/7秒
 45     imgview.animationImages = array; //跳动的图片
 46     [imgview startAnimating]; //调用方法
 47     [self.view addSubview:imgview];
 48     // Do any additional setup after loading the view, typically from a nib.
 49 }
 50 - (IBAction)clicknum:(UIButton *)sender {
 51     
 52     
 53   /*if(jisuan.opp1==0){
 54         jisuan.opr1=jisuan.opr1*10+sender.tag;
 55      self.show.text = [NSString stringWithFormat:@"%f", jisuan.opr1];
 56     }
 57     else{
 58         jisuan.opr2=jisuan.opr1*10+sender.tag;
 59         self.show.text = [NSString stringWithFormat:@"%f", jisuan.opr2];
 60     }*/
 61     if(jisuan.opp1=='+'||jisuan.opp1=='-'||jisuan.opp1=='*'||jisuan.opp1=='/') //判断是否已经按了运算符
 62     //if (jisuan.opp1==0)
 63     {
 64         
 65         if (jisuan.dot=='.')
 66         {
 67              jisuan.opr1 = jisuan.opr1 + sender.tag*1.0/i;
 68              i=i*10;
 69         }
 70             else
 71             {
 72             jisuan.opr1 = jisuan.opr1*10 + sender.tag;
 73             }
 74         self.show.text = [NSString stringWithFormat:@"%f",jisuan.opr1];
 75     }
 76     
 77     
 78     else {
 79         jisuan.opp1=0;
 80         if (jisuan.dot=='.') {
 81             
 82         jisuan.opr2 = jisuan.opr2+ sender.tag*1.0/i;
 83         i=i*10;
 84             
 85             
 86         } else {
 87             
 88         jisuan.opr2 = jisuan.opr2*10 + sender.tag;
 89         
 90         }
 91         
 92         self.show.text = [NSString stringWithFormat:@"%f",jisuan.opr2];
 93         
 94     }
 95     
 96     
 97 }
 98 
 99 
100 - (IBAction)function:(UIButton *)sender {
101     switch(sender.tag)
102         
103     {
104         case(10):
105         {
106         self.show.text =@"+";
107         
108        jisuan.opp1 = '+';
109             jisuan.dot=0;
110             i=10;
111             //jisuan.opr1=jisuan.opr1+jisuan.opr2;
112             break;
113         }
114         case(11):
115         {
116             self.show.text =@"-";
117             
118            jisuan.opp1 = '-';
119             jisuan.dot=0;
120             i=10;
121              break;
122         }
123 
124         case(12):
125         {
126             self.show.text =@"*";
127             
128             jisuan.opp1 = '*';
129             jisuan.dot=0;
130             i=10;
131             break;
132         }
133         case(13):
134         {
135             self.show.text =@"/";
136             
137             jisuan.opp1 = '/';
138             jisuan.dot=0;
139             i=10;
140              break;
141         }
142         case 14:
143         {
144         self.show.text=@"%";
145             jisuan.opp1='%';
146         }
147         default:break;
148     }
149     
150 }
151 
152 - (IBAction)clear:(id)sender {
153     jisuan.opr1=0;
154     jisuan.opr2=0;
155     jisuan.dot=0;
156     jisuan.opp1=0;
157     i =10;
158     self.show.text = @"0";
159 
160 }
161 
162 
163 
164 - (IBAction)dot:(id)sender {       //给dot属性赋值
165      jisuan.dot='.';
166 }
167 
168 
169 
170 - (IBAction)eql:(id)sender {    //  给=号添加响应
171     float result;
172     switch (jisuan.opp1)
173     {
174         case '+':
175         {
176            
177             result=[jisuan work1];
178             
179           
180 
181             break;
182         }
183             case '-':
184         {
185             
186             result=[jisuan work2];
187             break;
188         }
189             case '*':
190         {
191             
192             result=[jisuan work3];
193             break;
194         }
195             case '/':
196         {
197             
198             result=[jisuan work4];
199             
200             break;
201         }
202             
203                 default:
204             break;
205         
206             
207     }
208 
209 
210     self.show.text = [NSString stringWithFormat:@"%f", result];
211     jisuan.opp1=0;
212     jisuan.opr1=0;
213     jisuan.opr2=result;
214 
215     
216 }
217 
218 - (void)didReceiveMemoryWarning {
219     [super didReceiveMemoryWarning];
220     // Dispose of any resources that can be recreated.
221 }
222 
223 @end

原文地址:https://www.cnblogs.com/changfei/p/3836628.html