`
hx.19890101
  • 浏览: 109923 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初学者——Objective c 编写简单的计算器

    博客分类:
  • ios
阅读更多
首先用Interface Builder做出一个简单的计算器图形:


先再.h文件中定义好输出口,全局变量还有方法
@interface calculatorViewController : UIViewController {

	IBOutlet UITextField *textField;
	int number;
	BOOL function;
	BOOL isFlage;
	BOOL isResult;
	BOOL isAgain;
	BOOL isPress;
	NSString *num;
	NSString *nums;
	int TEMP;
}
@property(retain,nonatomic)UITextField *textField;

- (IBAction)buttionPressed:(id)sender;
- (void)plus:(id)sender:(NSString *)value;
- (void)minus:(id)sender:(NSString *)value;
- (void)multiple:(id)sender:(NSString *)value;
- (void)divide:(id)sender:(NSString *)value;
- (void)clearshow:(id)sender:(int)value;
@end


连接好输出口,按下Ctrl键并从file's Owner中拖到text框中选择好合适的textfield输出口
 
之后要注意file's Owner的链接,按住ctrl从file's Owner拖到要显示的窗口,再选中要控制按钮,再按花+2键在里面找到touch up inside,点住后面的圆点拖到file's Owner中,按钮依次照做。


再在.m文件中写入方法:首先是buttonpressed方法,里面有对按钮的识别和每个运算方法的调用。
- (IBAction)buttionPressed:(id)sender{
	
	if (!isFlage) {
		num = [sender titleForState:UIControlStateNormal];
		nums = [[NSString alloc] initWithFormat:@"%@%@",textField.text,num];
		textField.text = nums;
	}else {
		if (!isPress) {
			isFlage=FALSE;
			num = [sender titleForState:UIControlStateNormal];			
			nums = [[NSString alloc] initWithFormat:@"%@",num];
			textField.text = nums;
		}
						
	}
	[self plus:sender:nums];
	[self minus:sender:nums];›
	[self multiple:sender :nums];
	[self divide:sender :nums];
	[self clearshow:sender:number];
	
	if ([num isEqualToString:@"="]) {
		isPress=TRUE;
		isFlage=TRUE;
		switch (TEMP) {
			case 1:
				number=number+[nums intValue];
				textField.text=[NSString stringWithFormat:@"%d",number];
				isResult=TRUE;
				break;
			case 2:
				number=number-[nums intValue];
				textField.text=[NSString stringWithFormat:@"%d",number];
				isResult=TRUE;
				break;
			case 3:
				number=number*[nums intValue];
				textField.text=[NSString stringWithFormat:@"%d",number];
				isResult=TRUE;
				break;
			case 4:
				number=number/[nums intValue];
				textField.text=[NSString stringWithFormat:@"%d",number];
				isResult=TRUE;				
				break;
			default:
				break;
		}
		
	}
}


之后就是对每个运算方法的调用。这里举一个加法的例子,其他运算方法套用即可,还有一个清零的方法
- (void)plus:(id)sender:(NSString *)value{
	num = [sender titleForState:UIControlStateNormal];
	if ([num isEqualToString:@"+"]) {
		TEMP=1;
		isPress=FALSE;
		isFlage=TRUE;
		
		if (isResult) {
			function=FALSE;
		}
		if (!function) {
			number=number+[value intValue];
		}else{
			function=TRUE;
			isResult=FALSE;
			number=[value intValue];
		}
		textField.text=[NSString stringWithFormat:@"%d",number];
	}	
}

- (void)clearshow:(id)sender:(int)value{
	num = [sender titleForState:UIControlStateNormal];
	if ([num isEqualToString:@"Clear"]) {
		
		number=0;
		isFlage=FALSE;
		textField.text=[NSString stringWithFormat:@"%d",number];
	}
}

功能并不是很多,主要是运用到了一些基本的知识。自己需要注意的是字符串的连接
nums = [[NSString alloc] initWithFormat:@"%@%@",textField.text,num];

还有int型转化为string型:
textField.text=[NSString stringWithFormat:@"%d",number];

string型转化为int型:
[value intValue];

  • 大小: 23.9 KB
  • 大小: 32.5 KB
  • 大小: 30.8 KB
  • 大小: 43.8 KB
  • 大小: 83.2 KB
分享到:
评论

相关推荐

    斯坦福——一步步教你制作计算器软件

    本教程不仅提供了制作计算器软件的具体步骤,还涵盖了Objective-C编程的基础知识,对于初学者来说是一次很好的学习机会。通过实际操作,可以加深对理论知识的理解,并为将来开发更复杂的iOS应用打下坚实的基础。

    IOS应用源码——房贷计算器改进.zip

    【标题解析】 ...综上所述,这个压缩包文件提供了一个深入了解iOS应用开发、房贷计算器实现以及代码改进过程的机会,无论是对于初学者还是经验丰富的开发者,都能从中学习到很多实用的知识和技巧。

    《Objective-C程序设计_第4版》PDF版本下载.txt

    根据提供的文件信息,我们可以推断出这是一本关于Objective-C编程语言的专业书籍——《Objective-C程序设计_第4版》。接下来,我们将基于这个信息,深入探讨与该书相关的几个重要知识点。 ### 1. Objective-C简介 ...

    简易计算器

    【简易计算器】是一款基于Xcode 3.2开发的iOS应用程序,旨在提供基本的计算功能。...同时,对于初学者来说,这是一个很好的练习,可以帮助理解和掌握Objective-C编程语言以及iOS应用开发的基本流程。

    [Objective-C编程(第6版)]Programming in Objective-C

    ### Objective-C编程(第6版) —— Programming in Objective-C #### 书籍概述 《Objective-C编程(第6版)》是由Stephen G. Kochan编写的权威指南,旨在为程序员提供学习Objective-C语言所需的全部基础知识。该书由...

    Objective-C基础教程

    本教程旨在为初学者提供Objective-C的基础知识,帮助他们理解和掌握这种强大的编程工具。 首先,我们来了解一下Objective-C的基本结构。Objective-C是在C语言的基础上扩展的,它引入了消息传递机制,使得对象间的...

    Objective C Programming The Big Nerd Ranch Guide 2nd Edition(英文版)

    《Objective C Programming The Big Nerd Ranch Guide 2nd Edition》是一本专为初学者设计的Objective-C编程指南,由Big Nerd Ranch团队精心编写。这本书以其清晰易懂的风格和丰富的实践案例,深受广大程序员的喜爱...

    SocketTool.zip:基于ObjectiveC开发的TCP/IP客户端通讯命令行程序

    本文将深入探讨一款基于Objective-C开发的TCP/IP客户端通讯命令行程序——SocketTool。该程序的设计目的是为了演示如何使用Socket进行网络通信,适用于想要了解网络编程基础和TCP/IP协议栈的开发者。 SocketTool...

    Object-C的介绍及相关学习资源推荐

    - **Objective-C 应用程序开发基础** —— Coursera提供了一门名为“Objective-C 应用程序开发基础”的课程,适合初学者入门。 - **计算机编程语言:Objective-C** —— [Computer Programming Languages: ...

    IOS应用源码——一个很简单的滤镜应用.zip

    描述中的信息与标题一致,再次强调这是一个简单的滤镜应用,意味着它的设计和实现可能相对基础,适合初学者或者希望了解滤镜处理技术的开发者进行学习。 标签“IOS”和“ios 源码”进一步确认了这是iOS开发相关的源...

    Objective-C基础教程(中文版)

    《Objective-C基础教程(中文版)》正是针对初学者,通过通俗易懂的语言讲解这一技术。 本书首先会介绍Objective-C的基础知识,包括语法结构、变量和数据类型、运算符以及控制流程语句。Objective-C中的主要特色——...

    Objective-C 基础教程

    综上所述,Objective-C基础教程覆盖了从入门到进阶的多个方面,适合Objective-C初学者系统学习该语言。通过掌握以上知识点,开发者可以更好地理解和应用Objective-C,在实际项目开发中发挥其强大的功能。

    IOS应用源码——一个很简单的滤镜应用.rar

    本资源“IOS应用源码——一个很简单的滤镜应用.rar”提供了一个基础的滤镜应用源代码,这对于初学者理解iOS图像处理和滤镜应用的实现原理非常有帮助。下面将详细探讨相关的知识点。 首先,iOS应用开发主要使用...

    啊哈C语言ahaC-C++3.0.zip

    《啊哈C语言ahaC-C++3.0.zip——初学者的C++编程之路》 在编程的世界里,C++是一门重要的基础语言,对于初学者或是希望引导孩子们接触编程的人来说,选择合适的工具至关重要。"啊哈C语言ahaC-C++3.0.zip"就是这样一...

    Learn Objective-C On The Mac, 2nd Edition

    无论您是初学者还是有一定编程基础的开发者,本书都能为您提供必要的指导和支持。 #### 三、主要内容 1. **Objective-C语言基础**:本书首先介绍了Objective-C的基础语法,包括变量声明、数据类型、控制结构等,为...

    Programming in Objective-C(最新第四版)

    - **Objective-C简介**:本书为初学者提供了深入浅出的Objective-C介绍,无需预先掌握面向对象编程语言或C语言的基础。 - **编程入门**:通过实例介绍如何编写基本的Objective-C程序,包括变量、数据类型、运算符等...

    NSHIPSTER:Obscure Topics In Cocoa & Objective-C

    这表明本书可能不是面向初学者,而是针对有一定基础的iOS开发者,他们可能已经熟悉了Cocoa和Objective-C的基本概念,正在寻找深入学习和提升的机会。 标签“ios”进一步确认了本书的专注领域,即iOS开发。虽然标题...

    IOS应用源码——一个简易QQ列表,仅供学习QQ_TableView.rar

    首先,我们需要知道iOS应用开发主要使用Objective-C或Swift语言,而这个项目可能是用Objective-C编写的,因为Swift在近几年才成为主流,而“QQ_TableView”的命名方式更符合Objective-C的编程习惯。TableView是iOS...

    iOS游戏应用源代码——jrcdude-Helicopter-be94e87.zip

    首先,我们要了解的是iOS游戏的基础——Objective-C或Swift编程语言。"jrcdude-Helicopter"项目可能是用Objective-C编写的,因为早期的iOS开发主要使用此语言。Objective-C是C语言的超集,添加了面向对象编程特性,...

Global site tag (gtag.js) - Google Analytics