1、中文输入法和英文输入法下的“()”括号是有区别的,会导致报错,一定要注意区分,写代码的时候尽量只使用英文输入法;
2、给应用程序插入图标分为两步,第一步:将图标文件加入到Resources目录中;第二步:打开.plist,icon file中填入图片文件名(需带后缀名);
3、如何给控件添加输出口,右键File's owner,拖动到控件,选择需要添加的输出口;
4、给按钮添加响应函数:ctrl+2弹出连接框,选择相应的操作,拖动到File's owner;
简易计算器需求分析:实现简单的加、减、乘、除运算即可。
PS:本来想对包含了运算符和括号符的表达式进行运算,但是需要使用到栈和后缀表达式,对此不是很了解,后期熟悉之后会进行实现。
设计:
1、输入一个数字,输入一个运算符,输入另外一个数字;
2、再次输入运算符时,在text控件中返回这两个数字的运算结果,此结果作为下次运算的第一位数值,该运算符为此次运算的运算符。
计算器界面
头文件
#import <UIKit/UIKit.h>
@interface CalculatorViewController : UIViewController {
//定义IB中用到的按钮
IBOutlet UITextField *allMath;
IBOutlet UITextField *math;
UIButton *leftBraket;//左右括号的功能本程序中不实现
UIButton *rightBraket;
UIButton *clear;
UIButton *num0;
UIButton *num1;
UIButton *num2;
UIButton *num3;
UIButton *num4;
UIButton *num5;
UIButton *num6;
UIButton *num7;
UIButton *num8;
UIButton *num9;
UIButton *point;
UIButton *plus;
UIButton *minus;
UIButton *multiply;
UIButton *divide;
UIButton *equal;
//定义程序中使用到的变量
NSMutableString *endData;//用来显示整个表达式的字符串,本程序中不实现该功能
BOOL isPointPressed;//用来标记是否按下了点号
float value,secondValue;//记录将要进行运算的两个值
int whichButtonPressed;//记录按下的button的tag
int pointFlag;//用于点号运算
}
//控件的属性定义
@property(retain,nonatomic) UITextField *allMath;
@property(retain,nonatomic) UITextField *math;
@property(retain,nonatomic) IBOutlet UIButton *leftBraket;
@property(retain,nonatomic) IBOutlet UIButton *rightBraket;
@property(retain,nonatomic) IBOutlet UIButton *clear;
@property(retain,nonatomic) IBOutlet UIButton *num0;
@property(retain,nonatomic) IBOutlet UIButton *num1;
@property(retain,nonatomic) IBOutlet UIButton *num2;
@property(retain,nonatomic) IBOutlet UIButton *num3;
@property(retain,nonatomic) IBOutlet UIButton *num4;
@property(retain,nonatomic) IBOutlet UIButton *num5;
@property(retain,nonatomic) IBOutlet UIButton *num6;
@property(retain,nonatomic) IBOutlet UIButton *num7;
@property(retain,nonatomic) IBOutlet UIButton *num8;
@property(retain,nonatomic) IBOutlet UIButton *num9;
@property(retain,nonatomic) IBOutlet UIButton *point;
@property(retain,nonatomic) IBOutlet UIButton *plus;
@property(retain,nonatomic) IBOutlet UIButton *minus;
@property(retain,nonatomic) IBOutlet UIButton *multiply;
@property(retain,nonatomic) IBOutlet UIButton *divide;
@property(retain,nonatomic) IBOutlet UIButton *equal;
//控件响应函数
- (IBAction)numberPressed:(id)sender;//计算操作数
- (IBAction)pointPressed:(id)sender;//点运算
- (IBAction)mathPressed:(id)sender;//操作运算
- (IBAction)equalPressed:(id)sender;//等号运算
- (IBAction)clearZero:(id)sender;//清零
- (IBAction)negative:(id)sender;//负数
//与等号操作一样,用来被其他运算符调用的函数
- (void)equalFunc;
@end