Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #import <Foundation/Foundation.h>
- @interface Calculator: NSObject
- {
- double accumulator;
- double memory;
- }
- //accumulator methods
- -(void) setAccumulator: (double) value;
- -(void) clear;
- -(double) accumulator;
- //arithmetic methods
- -(double) add: (double) value;
- -(double) subtract: (double) value;
- -(double) multiply: (double) value;
- -(double) divide: (double) value;
- //extra methods
- -(double) changeSign;
- -(double) reciprocal;
- -(double) xSquared;
- //curiosity methods
- // -(double) gcfnonneg: (double) v1, (double) v2;
- //memory methods
- -(double) memory;
- -(double) memoryClear; //clear memory
- -(double) memoryStore; //set memory to accumulator
- -(double) memoryRecall; //set accumulator to memory
- -(double) memoryAdd; //add accumulator to memory
- -(double) memorySubtract; //subtract accumulator from
- @end
- @implementation Calculator
- //accumulator methods
- -(void) setAccumulator: (double) value;
- {
- accumulator = value;
- }
- -(void) clear;
- {
- accumulator = 0;
- }
- -(double) accumulator;
- {
- return accumulator;
- }
- //arithmetic methods
- -(double) add: (double) value;
- {
- accumulator += value;
- return accumulator;
- }
- -(double) subtract: (double) value;
- {
- accumulator -= value;
- return accumulator;
- }
- -(double) multiply: (double) value;
- {
- accumulator *= value;
- return accumulator;
- }
- -(double) divide: (double) value;
- {
- accumulator /= value;
- return accumulator;
- }
- //other methods
- -(double) changeSign;
- {
- accumulator = accumulator * -1;
- return accumulator;
- }
- -(double) reciprocal;
- {
- accumulator = 1 / accumulator;
- return accumulator;
- }
- -(double) xSquared;
- {
- accumulator = accumulator * accumulator;
- return accumulator;
- }
- /*curiosity mehtods
- -(double) gcfnonneg: (double) v1, (double) v2;
- {
- unsigned int u, v, temp;
- v1 = u;
- v2 = v;
- while ( v1 != 0) {
- temp = u % v;
- u = v;
- v = temp;
- u = accumulator
- */
- //memory methods
- -(double) memory;
- {
- return memory;
- }
- -(double) memoryClear;
- {
- memory = 0;
- return memory;
- }
- -(double) memoryStore;
- {
- memory = accumulator;
- return memory;
- }
- -(double) memoryRecall;
- {
- accumulator = memory;
- return memory;
- }
- -(double) memoryAdd;
- {
- memory += accumulator;
- return memory;
- }
- -(double) memorySubtract;
- {
- memory -= accumulator;
- return memory;
- }
- @end
- int main (int argc, const char * argv[]) {
- NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
- Calculator *deskCalc;
- deskCalc = [[Calculator alloc] init];
- [deskCalc clear];
- [deskCalc setAccumulator:100];
- [deskCalc memoryClear];
- [deskCalc memoryStore]
- NSLog(@"%g has been stored in the memory", [deskCalc accumulator]);
- [pool drain];
- return 0;
- }
Add Comment
Please, Sign In to add comment