Advertisement
ptownhero

Calculator not working with multiple operand presses

Nov 7th, 2021
1,339
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Set of Debuggers
  2. // console.log('Counter_Operator is at : ' + counter_operator)
  3. // console.log('Counter_Buttons is at : ' + counter_buttons)
  4. // console.log('=============EQUALS WAS HIT ==========');
  5. // console.log('Number 1 : ' + number1);
  6. // console.log('Number 2 : ' + number2);
  7. // console.log('Sign : ' + sign);
  8.  
  9. const calc = document.querySelector('#calculator');
  10. const buttons = document.querySelectorAll('.number');
  11. const screen = document.querySelector('.screen');
  12. const clear = document.querySelector('.all-clear');
  13. const enter = document.querySelector('.equal-sign');
  14. const decimal = document.querySelector('.decimal');
  15. const operator = document.querySelectorAll('.operator');
  16. let number1 = '';
  17. let number2 = '';
  18. let sign = '';
  19. let result = 0;
  20. let counter_buttons = 0;
  21. let counter_operator = 0;
  22.  
  23.  
  24. // buttons.forEach((button) => {
  25. //     button.addEventListener('click', () => {
  26. //         if (screen.value == 0) {
  27. //             screen.value = '';
  28. //         }
  29. //         else if (counter_buttons === 1) {
  30. //             screen.value = '';
  31. //             counter_buttons = 0;
  32. //             counter_operator = 1;
  33. //         }
  34. //         screen.value += button.value;
  35. //         console.log('Counter_Operator is at : ' + counter_operator);
  36. //         console.log('Counter_Buttons is at : ' + counter_buttons);
  37. //     });
  38. // });
  39.  
  40. // operator.forEach((button) => {
  41. //     button.addEventListener('click', () => {
  42. //         if (counter_buttons === 0) {
  43. //             number1 = parseInt(screen.value);
  44. //             counter_buttons = 1;
  45. //         }
  46. //         else if (counter_operator === 1) {
  47. //             number2 = parseInt(screen.value);
  48. //             counter_operator = 0;
  49. //             screen.value = operate(number1, number2, sign);
  50. //             number1 = operate(number1, number2, sign);
  51. //         }
  52. //         sign = button.value;
  53. //         console.log('Counter_Operator is at : ' + counter_operator);
  54. //         console.log('Counter_Buttons is at : ' + counter_buttons);
  55. //     });
  56. // });
  57.  
  58. buttons.forEach((button) => {
  59.     button.addEventListener('click', () => {
  60.         if (screen.value == 0) {
  61.             screen.value = '';
  62.         }
  63.         else if (counter_buttons === 1) {
  64.             screen.value = '';
  65.             counter_buttons = 0;
  66.             counter_operator = 1;
  67.         }
  68.         screen.value += button.value;
  69.     });
  70. });
  71.  
  72. operator.forEach((button) => {
  73.     button.addEventListener('click', () => {
  74.         if (counter_buttons === 0) {
  75.             number1 = parseInt(screen.value);
  76.             counter_buttons = 1;
  77.         }
  78.         else if (counter_operator === 1) {
  79.             number2 = parseInt(screen.value);
  80.             screen.value = operate(number1, number2, sign);
  81.             number1 = parseInt(screen.value);
  82.             counter_buttons = 1;
  83.             counter_operator = 2;
  84.         }
  85.         else if (counter_operator === 2) {
  86.             number2 = parseInt(screen.value);
  87.             screen.value = operate(number1, number2, sign);
  88.             counter_buttons = 1;
  89.             counter_operator = 1;
  90.  
  91.         }
  92.         console.log('Counter_Operator is at : ' + counter_operator);
  93.         console.log('Counter_Buttons is at : ' + counter_buttons);
  94.         sign = button.value;
  95.     });
  96. });
  97.  
  98.  
  99. enter.addEventListener('click', () => {
  100.     number2 = parseInt(screen.value);
  101.     operate(number1, number2, sign);
  102.     console.log('Counter_Operator is at : ' + counter_operator);
  103.     console.log('Counter_Buttons is at : ' + counter_buttons);
  104.  
  105.     // if((number1 =! '') && (number2 =! '')) {
  106.        
  107.     //     operate(number1, number2, sign);
  108.     // }
  109. })
  110.  
  111. clear.addEventListener('click', () => {
  112.     screen.value = '0';
  113.     number1 = '';
  114.     number2 = '';
  115.     counter_buttons = 0;
  116.     counter_operator = 0;
  117. });
  118.  
  119.  
  120.  
  121. const addition = (a, b) => {
  122.     // console.log('In addition(), a is : ' + a + ' and b is : ' + b)
  123.     return a + b;
  124. }
  125.  
  126. const subtraction = (a, b) => {
  127.     // console.log('In subtraction(), a is : ' + a + ' and b is : ' + b)
  128.     return a - b;
  129. }
  130.  
  131. const multiplication = (a, b) => {
  132.     // console.log('In multiplication(), a is : ' + a + ' and b is : ' + b)
  133.     return a * b;
  134. }
  135.  
  136. const division = (a, b) => {
  137.     // console.log('In division(), a is : ' + a + ' and b is : ' + b)
  138.     return a / b;
  139. }
  140.  
  141. const operate = (a, b, operator) => {
  142.     if (operator == '+') {
  143.         // console.log('In operate(), a is : ' + a + ' and b is : ' + b)
  144.         screen.value = addition(a, b);
  145.     }
  146.     else if (operator == '-') {
  147.         screen.value = subtraction(a, b);
  148.     }
  149.     else if (operator == '*') {
  150.         screen.value = multiplication(a, b);
  151.     }
  152.     else {
  153.         screen.value = division(a, b);
  154.     }
  155.     console.log('Number 1 : ' + number1);
  156.     console.log('Number 2 : ' + number2);
  157.     console.log('Sign : ' + sign);
  158. };
  159.  
  160.  
  161.  
  162.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement