Advertisement
Valeri12580

calculator

Oct 10th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. //popravi q dokato ne vuvede sledvasht znak,da chete numbers (789) go vzima v tozi sluchai kato 7 i 8
  2.  
  3.  
  4. function solve() {
  5. let sum = 0;
  6. let firstNumber
  7. let secondNumber
  8. let operand = ""
  9.  
  10. let operations = {
  11. "+": (firstNumber, secondNumber) => { return firstNumber + secondNumber },
  12. "-": (firstNumber, secondNumber) => { return firstNumber - secondNumber },
  13. "*": (firstNumber, secondNumber) => { return firstNumber * secondNumber },
  14. "/": (firstNumber, secondNumber) => { return firstNumber / secondNumber },
  15. }
  16.  
  17. let expressionOutput = document.getElementById("expressionOutput")
  18. let resultOutput = document.getElementById("resultOutput")
  19. let clearButton=document.getElementsByClassName("clear")[0]
  20. clearButton.addEventListener("click",clear)
  21.  
  22.  
  23.  
  24. Array.from(document.getElementsByClassName("keys")).map(x => x.addEventListener("click", function findResult(e) {
  25. let element = e.target.textContent
  26.  
  27. if(element==="C"){
  28. clear()
  29. }
  30.  
  31.  
  32. if (element === "=") {
  33. resultOutput.textContent = operations[operand](firstNumber, secondNumber)
  34. operand=""
  35. firstNumber=NaN;
  36. secondNumber=NaN;
  37.  
  38.  
  39. } else {
  40. expressionOutput.textContent += element
  41.  
  42. if ("0123456789".includes(element)) {
  43. if (operand==="") {
  44. if(isNaN(firstNumber)){
  45. firstNumber=0;
  46. firstNumber += Number(element)
  47. }else{
  48. let str=firstNumber+""+element;
  49. firstNumber=Number(str)
  50. }
  51.  
  52. } else {
  53. if(isNaN(secondNumber)){
  54. secondNumber=0;
  55. secondNumber +=Number(element)
  56. }else{
  57. let str =secondNumber+""+element
  58. secondNumber=Number(str)
  59.  
  60. }
  61.  
  62. }
  63.  
  64.  
  65. }else if(element==="."){
  66. if(operand===""){
  67. let str=firstNumber+"."
  68. firstNumber=Number(str)
  69. }else{
  70. let str=secondNumber+"."
  71. secondNumber=Number(str)
  72. }
  73.  
  74. } else if ("/ x - . +".includes(element)) {
  75. switch (element) { //otdelen metod
  76. case "/":
  77. operand = "/"
  78. break;
  79. case "x":
  80. operand = "*"
  81. break;
  82. case "-":
  83. operand = "-"
  84. break;
  85. case "+":
  86.  
  87. operand = "+"
  88.  
  89. break;
  90. //dobavi . operator
  91.  
  92. }
  93. }
  94. }
  95.  
  96. }))
  97. function clear(){
  98. resultOutput.textContent =""
  99. expressionOutput.textContent=""
  100. }
  101.  
  102.  
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement