Calculator in iPhone

Introduction

In this article I will create a single-view application. Here I use one text field, 10 buttons for each digit and another 6 buttons for operations. To better understand use this walthrough.

Step 1

Open XCode by double-clicking on it.

Select-xcode-in-iphone.jpg

Step 2

Create a New XCode Project by clicking on it.

create-project-in-iphone.jpg

Step 3

Now select Single View Application and click on Next.

single-view-application-in-iphone.jpg

Step 4

Now provide your Product Name and Company Identifier then click on Next.

project-name-in-iPhone.jpg

Step 5

Select the location where you want to save your project and click on Create.

save-project-location-in-iphone.jpg

Step 6

Here we write code:

CalciViewController.h

//
// CalciViewController.h
// Calculator
//
// Created by Sachin Bhardwaj on 23/11/12.
// Copyright (c) 2012 Sachin Bhardwaj. All rights reserved.
//

#import <UIKit/UIKit.h>
typedef enum{ Plus,Minus,Multiply,Divide} CalcOperation;
@interface CalciViewController : UIViewController<UITextFieldDelegate>
{
IBOutlet UITextField *display;
IBOutlet UIButton *cbutton;
NSString *storage;
CalcOperation operation;

}
@property(strong,nonatomic)IBOutlet UITextField *display;

@property(strong,nonatomic) IBOutlet UIButton *cbutton;

@property(strong,nonatomic)NSString *storage;

- (IBAction) button1;
- (IBAction) button2;
- (IBAction) button3;
- (IBAction) button4;
- (IBAction) button5;
- (IBAction) button6;
- (IBAction) button7;
- (IBAction) button9;
- (IBAction) button0;
- (IBAction) plusbutton;
- (IBAction) equalsbutton;
- (IBAction) clearDisplay;

@end

CalciViewController.m

//
//  CalciViewController.m
//  Calculator
//
//  Created by Sachin Bhardwaj on 23/11/12.
//  Copyright (c) 2012 Sachin Bhardwaj. All rights reserved.
//

#import "CalciViewController.h"

@interface CalciViewController ()

@end

@implementation CalciViewController
@synthesize display,cbutton,storage;

- (IBAction) clearDisplay {
    display.text = @"";
}

- (IBAction) button1 {
   
    display.text=[NSString stringWithFormat:@"%@1",display.text];
}
- (IBAction) button2 {
    display.text=[NSString stringWithFormat:@"%@2",display.text];
}
- (IBAction) button3 {
    display.text=[NSString stringWithFormat:@"%@3",display.text];
}

- (IBAction) button4 {
    display.text=[NSString stringWithFormat:@"%@4",display.text];
}

- (IBAction) button5 {
    display.text=[NSString stringWithFormat:@"%@5",display.text];
}

- (IBAction) button6 {
    display.text=[NSString stringWithFormat:@"%@6",display.text];
}

- (IBAction) button7 {
    display.text=[NSString stringWithFormat:@"%@7",display.text];
}

- (IBAction) button8 {
    display.text=[NSString stringWithFormat:@"%@8",display.text];
}

- (IBAction) button9 {
    display.text=[NSString stringWithFormat:@"%@9",display.text];
}

- (IBAction) button0 {
    display.text=[NSString stringWithFormat:@"%@0",display.text];
}

- (IBAction) plusbutton {
    operation = Plus;
    storage = display.text;
    display.text=@"";
}

- (IBAction) minusbutton {
    operation = Minus;
    storage = display.text;
    display.text=@"";
}

- (IBAction) multiplybutton {
    operation = Multiply;
    storage = display.text;
    display.text=@"";
}

- (IBAction) dividebutton {
    operation = Divide;
    storage = display.text;
    display.text=@"";
}

- (IBAction) equalsbutton {
    NSString *val = display.text;
    switch(operation) {
        case Plus :
            display.text= [NSString stringWithFormat:@"%qi",[val longLongValue]+[storage longLongValue]];
            break;
        case Minus:
            display.text= [NSString stringWithFormat:@"%qi",[storage longLongValue]-[val longLongValue]];
            break;
        case Divide:
            display.text= [NSString stringWithFormat:@"%qi",[storage longLongValue]/[val longLongValue]];
            break;
        case Multiply:
            display.text= [NSString stringWithFormat:@"%qi",[val longLongValue]*[storage longLongValue]];
            break;
    }
}


- (void)viewDidLoad
{
    [super viewDidLoad];
      // 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

CalciViewController.xib

CalciViewController.xib-in-iPhone.jpg

Step 7

After mapping all connections we click on the file owner:

action-in-iPhone.jpg

Step 8

At last we run our application and see the output.

run-in-iPhone.jpg

Output

Here we add two numbers: 54+42=96.

Output 1 in iPhone:

output1-in-iPhone.jpg

Output 2 in iPhone:

output2-in-iPhone.jpg

Output 3 in iPhone:

output3-in-iPhone.jpg

Output 4 in iPhone:

output4-in-iPhone.jpg

Up Next
    Ebook Download
    View all
    Learn
    View all