求用oc做个如图的计算器 简单的实现加减乘除的 求神级的!!!!!!!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求用oc做个如图的计算器 简单的实现加减乘除的 求神级的!!!!!!!!相关的知识,希望对你有一定的参考价值。

//主要代码如下,Main.storyboard,图片素材,AppDelegate类略
//ViewController.h
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

//判断当前小数点是否可输入

@property (assign,nonatomic)bool isDian;

//判断当前数字是否可输入

@property (assign,nonatomic)bool isNumber;

//第一个运算数

@property (assign,nonatomic)double operA;

//第二个运算数

@property (assign,nonatomic)double operB;

//运算方式

@property (assign,nonatomic)int operType;

//是否再次输入符号

@property (assign,nonatomic)bool isOper;

@end

// ViewController.m
#import "ViewController.h"

#import "PutOutFormat.h"

@interface ViewController ()

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

@end

@implementation ViewController

@synthesize isDian,isNumber,operA,operB,operType,isOper;

//退出应用程序

- (IBAction)GetOut:(UIButton *)sender

exit(0);



//删除按钮,用于删除错输的数据

- (IBAction)backClicked:(UIButton *)sender

NSString *str=self.displayLabel.text;

int lenth_str=str.length;

if(lenth_str!=0)

str=[str substringToIndex:lenth_str-1];

self.displayLabel.text=str;



else



self.displayLabel.text=@"0";





//清空显示框的内容

- (IBAction)ClearDisplayLabel:(UIButton *)sender

self.displayLabel.text=@"0";

self.isNumber=NO;

self.isDian=YES;



//输入数字和小数点,并在显示框中显示

- (IBAction)numberClicked:(UIButton *)sender

NSString *str=self.displayLabel.text;

NSString *str_Title=[NSString stringWithFormat:@"%d",sender.tag];

if ([str_Title isEqualToString:@"10"])

if(isDian==YES)

str=[str stringByAppendingFormat:@"."];

isDian=NO;





else



if ([str isEqualToString:@"0"] || [str isEqualToString:@"警告:除数不能为0!"])

str=@"";



str=[str stringByAppendingString:str_Title];



self.displayLabel.text=str;

self.isNumber=YES;



//符号键按钮,保存第一个运算数operA,并清空显示框为第二个运算数operB做准备

- (IBAction)operatorClicked:(UIButton *)sender

self.isDian=YES;

self.isNumber=NO;

self.operType=sender.tag;

self.operA=[self.displayLabel.text doubleValue];

self.displayLabel.text=@"0";

self.isOper=YES;



//等号按钮及相应的数据处理,并在显示框中显示运算结果

- (IBAction)equalClicked:(UIButton *)sender

// 当输入了符号执行相应的运算,防止重复点等号

if(isOper==YES)

PutOutFormat *put_str=[PutOutFormat new];

double result;

if (self.operType==11)

if (self.isNumber==YES)

self.operB=[self.displayLabel.text doubleValue];



result=self.operA+self.operB;

self.operA=result;

self.isNumber=NO;

NSString *str_result=[NSString stringWithFormat:@"%f",result];

self.displayLabel.text=[put_str putOutFormat:str_result];



else if(self.operType==12)

if (self.isNumber==YES)

self.operB=[self.displayLabel.text doubleValue];



result=self.operA-self.operB;

self.operA=result;

self.isNumber=NO;

NSString *str_result=[NSString stringWithFormat:@"%f",result];

self.displayLabel.text=[put_str putOutFormat:str_result];



else if(self.operType==13)

if (self.isNumber==YES)

self.operB=[self.displayLabel.text doubleValue];



result=self.operA*self.operB;

self.operA=result;

self.isNumber=NO;

NSString *str_result=[NSString stringWithFormat:@"%f",result];

self.displayLabel.text=[put_str putOutFormat:str_result];



else if(self.operType==14)

if (self.isNumber==YES)

self.operB=[self.displayLabel.text doubleValue];



if (operB!=0)

result=self.operA/self.operB;

self.operA=result;

self.isNumber=NO;

NSString *str_result=[NSString stringWithFormat:@"%f",result];

self.displayLabel.text=[put_str putOutFormat:str_result];



else



self.displayLabel.text=[NSString stringWithFormat:@"警告:除数不能为0!"];





isOper=NO;





- (void)viewDidLoad



[super viewDidLoad];

// 初始设置,小数点为可输入状态即isDian=1,数字状态为isNUmber=1

isDian=YES;

isNumber=YES;

isOper=NO;

// 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
//PutOutFormat.h
#import <Foundation/Foundation.h>

@interface PutOutFormat : NSObject

//输出规范方法

-(NSString *)putOutFormat:(NSString *)preStr;

@end
//PutOutFormat.m
#import "PutOutFormat.h"

@implementation PutOutFormat

-(NSString *)putOutFormat:(NSString *)preStr



NSString *str=preStr;

NSString *sufStr=[[NSString alloc]init];

while (![str hasPrefix:@"."])

// int length_str=str.length;

NSRange rang=NSMakeRange(0, 1);

sufStr=[sufStr stringByAppendingString:[str substringWithRange:rang]];

str=[str substringFromIndex:1];



while ([str hasSuffix:@"0"] || [str hasSuffix:@"."])

int length_str=str.length;

if(length_str!=0)

str=[str substringToIndex:length_str-1];





sufStr=[sufStr stringByAppendingString:str];

return sufStr;



@end
参考技术A 拜托这种样子的当然很累 参考技术B 20分么?神级的?有人表示很累。追问

这个需要很多代码吗?既然有能力那就必须显示出来啊,不然浪费了。另外我会多加点分的!!

JS实现一个简单的计算器

使用JS完成一个简单的计算器功能。实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除。效果如上:

第一步: 创建构建运算函数count()。

第二步: 获取两个输入框中的值和获取选择框的值。

提示:document.getElementById( id名 ).value 获取或设置 id名的值。

第三步: 获取通过下拉框来选择的值来改变加减乘除的运算法则。

提示:使用switch判断运算法则。

第四步:  通过 = 按钮来调用创建的函数,得到结果。

注意: 使用parseInt()函数可解析一个字符串,并返回一个整数。

代码:

技术分享

 1 <!DOCTYPE html> 2 <html> 3  <head> 4   <title> 事件</title>   5   <script type="text/javascript"> 6    function count(){ 7     var a = document.getElementById("txt1").value; 8     var b = document.getElementById("txt2").value; 9     //获取第一个输入框的值10     //获取第二个输入框的值11     //获取选择框的值12     var c = document.getElementById("select").value;13     a = parseFloat(a);14     b = parseFloat(b);15     //获取通过下拉框来选择的值来改变加减乘除的运算法则16     //设置结果输入框的值 17     switch(c){18         case "+":19         document.getElementById("fruit").value=parseInt(a)+parseInt(b);20         break;21         case "-":22         document.getElementById("fruit").value=parseInt(a)-parseInt(b);23         break;24         case "*":25         ocument.getElementById("fruit").value=parseInt(a)*parseInt(b);26         break;27         case "/":28         document.getElementById("fruit").value=parseInt(a)/parseInt(b);29         break;30     }31    }32   </script> 33  </head> 34  <body>35    <input type=‘text‘ id=‘txt1‘ /> 36    <select id=‘select‘>37         <option value="+">+</option>38         <option value="-">-</option>39         <option value="*">*</option>40         <option value="/">/</option>41    </select>42    <input type=‘text‘ id=‘txt2‘ /> 43    <input type=‘button‘ value=‘ = ‘ onclick = "count()"/>44    <input type=‘text‘ id=‘fruit‘ />   45  </body>46 </html>

技术分享


以上是关于求用oc做个如图的计算器 简单的实现加减乘除的 求神级的!!!!!!!!的主要内容,如果未能解决你的问题,请参考以下文章

求简单java写计算器代码加减乘除

怎么在eclipse中做个简单的加减乘除的计算器,html页面如下,高手请回答,非诚勿扰

用PYTHON2做个计算器,只要加减乘除

求嵌入式开发,简单的加减乘除计算机代码。。利用ARM9进行的。。

汇编 两个十进制数的加法 帮我做个流程图就够了!

求用envi软件实现遥感影像的道路特征提取的步骤,急,求大神帮忙!!!