Guest User

Untitled

a guest
Jul 17th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. #import <Foundation/Foundation.h>
  2.  
  3. @interface Calculator: NSObject
  4. {
  5. double accumulator;
  6. double memory;
  7. }
  8.  
  9. //accumulator methods
  10. -(void) setAccumulator: (double) value;
  11. -(void) clear;
  12. -(double) accumulator;
  13.  
  14. //arithmetic methods
  15. -(double) add: (double) value;
  16. -(double) subtract: (double) value;
  17. -(double) multiply: (double) value;
  18. -(double) divide: (double) value;
  19.  
  20. //extra methods
  21. -(double) changeSign;
  22. -(double) reciprocal;
  23. -(double) xSquared;
  24.  
  25. //curiosity methods
  26. // -(double) gcfnonneg: (double) v1, (double) v2;
  27.  
  28. //memory methods
  29. -(double) memory;
  30. -(double) memoryClear; //clear memory
  31. -(double) memoryStore; //set memory to accumulator
  32. -(double) memoryRecall; //set accumulator to memory
  33. -(double) memoryAdd; //add accumulator to memory
  34. -(double) memorySubtract; //subtract accumulator from
  35.  
  36. @end
  37.  
  38. @implementation Calculator
  39. //accumulator methods
  40. -(void) setAccumulator: (double) value;
  41. {
  42. accumulator = value;
  43. }
  44. -(void) clear;
  45. {
  46. accumulator = 0;
  47. }
  48. -(double) accumulator;
  49. {
  50. return accumulator;
  51. }
  52.  
  53. //arithmetic methods
  54. -(double) add: (double) value;
  55. {
  56. accumulator += value;
  57. return accumulator;
  58. }
  59. -(double) subtract: (double) value;
  60. {
  61. accumulator -= value;
  62. return accumulator;
  63. }
  64. -(double) multiply: (double) value;
  65. {
  66. accumulator *= value;
  67. return accumulator;
  68. }
  69. -(double) divide: (double) value;
  70. {
  71. accumulator /= value;
  72. return accumulator;
  73. }
  74.  
  75. //other methods
  76. -(double) changeSign;
  77. {
  78. accumulator = accumulator * -1;
  79. return accumulator;
  80. }
  81. -(double) reciprocal;
  82. {
  83. accumulator = 1 / accumulator;
  84. return accumulator;
  85. }
  86. -(double) xSquared;
  87. {
  88. accumulator = accumulator * accumulator;
  89. return accumulator;
  90. }
  91.  
  92. /*curiosity mehtods
  93. -(double) gcfnonneg: (double) v1, (double) v2;
  94. {
  95. unsigned int u, v, temp;
  96. v1 = u;
  97. v2 = v;
  98. while ( v1 != 0) {
  99. temp = u % v;
  100. u = v;
  101. v = temp;
  102. u = accumulator
  103. */
  104.  
  105. //memory methods
  106. -(double) memory;
  107. {
  108. return memory;
  109. }
  110. -(double) memoryClear;
  111. {
  112. memory = 0;
  113. return memory;
  114. }
  115. -(double) memoryStore;
  116. {
  117. memory = accumulator;
  118. return memory;
  119. }
  120. -(double) memoryRecall;
  121. {
  122. accumulator = memory;
  123. return memory;
  124. }
  125. -(double) memoryAdd;
  126. {
  127. memory += accumulator;
  128. return memory;
  129. }
  130. -(double) memorySubtract;
  131. {
  132. memory -= accumulator;
  133. return memory;
  134. }
  135.  
  136. @end
  137.  
  138.  
  139.  
  140. int main (int argc, const char * argv[]) {
  141. NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  142. Calculator *deskCalc;
  143.  
  144. deskCalc = [[Calculator alloc] init];
  145.  
  146. [deskCalc clear];
  147. [deskCalc setAccumulator:100];
  148. [deskCalc memoryClear];
  149. [deskCalc memoryStore]
  150. NSLog(@"%g has been stored in the memory", [deskCalc accumulator]);
  151.  
  152.  
  153. [pool drain];
  154. return 0;
  155. }
Add Comment
Please, Sign In to add comment