سلام دوستان من یه ماشین حساب با جاوا اسکریپت ساختم در اصل تمرین اصلی این مینی پروژه این هستش که من بیام مثل ماشین حساب ویندوز 10 بعد از محاسبه نتیجه رو توی اسکرین ماشین حساب نشون بدم و بعدش اگر عدده دیگه ای وارد بشه نتیجه اون محاسبه پاک بشه و عددی که کلیک شده روش اون جایگزین بشه ممنون میشم یه راهنمایی ریزی بکنید
const display = document.getElementById('display') // screen
const divide = document.getElementById('divide')
const multiply = document.getElementById('multiply')
const minus = document.getElementById('minus')
const plus = document.getElementById('plus')
const clear = document.getElementById('clear')
const root = document.getElementById('root')
const square = document.getElementById('square')
const backspace = document.getElementById('backspace')
const equal = document.getElementById('equal')
const buttons = document.getElementById('buttons')
// // // // //
// global variables
let lastOpartion = ''
let memory = 0
buttons.addEventListener('click', inputNumber)
function inputNumber(event) {
if (display.textContent.length > 15) {
return
}
let data = event.target.dataset.input
if (data) {
if (data === '.') {
if (!display.textContent.includes('.')) {
display.textContent += data
}
} else {
display.textContent += data
if (!display.textContent.includes('.')) {
display.textContent = Number(display.textContent)
}
}
}
}
clear.addEventListener('click', () => {
display.textContent = 0
lastOpartion = ''
memory = 0
})
minus.addEventListener('click', () => {
lastOpartion = 'minus'
memory = Number(display.textContent)
display.textContent = 0
})
plus.addEventListener('click', () => {
lastOpartion = 'plus'
memory = Number(display.textContent)
display.textContent = 0
})
divide.addEventListener('click', () => {
lastOpartion = 'divide'
memory = Number(display.textContent)
display.textContent = 0
})
multiply.addEventListener('click', () => {
lastOpartion = 'multiply'
memory = Number(display.textContent)
display.textContent = 0
})
equal.addEventListener('click', () => {
if (lastOpartion !== '') {
let number = Number(display.textContent)
if (lastOpartion == 'minus') {
display.textContent = memory - number
} else if (lastOpartion == 'plus') {
display.textContent = memory + number
} else if (lastOpartion == 'divide') {
display.textContent = memory / number
} else if (lastOpartion == 'multiply') {
display.textContent = memory * number
} else if (lastOpartion == 'square') {
display.textContent = memory **= number
}
}
lastOpartion = ''
})
backspace.addEventListener('click', () => {
if (display.textContent.length == 1) {
display.textContent = 0
} else {
display.textContent = display.textContent.substring(0, display.textContent.length - 1)
}
})
square.addEventListener('click', () => {
lastOpartion = 'square'
memory = Number(display.textContent)
display.textContent = 0
})
root.addEventListener('click', () => {
display.textContent = Math.sqrt(display.textContent)
lastOpartion = ''
})
تو این لینک یکی اومده مشابهش رو نوشته شاید بتونین بخونینش
و میشه بگین تو چه بخشی از این پروژه مشکل دارین؟
اگه بگین کجاش مشکل دارین شاید بتونم کمک کنم
@anuxi313133
یه فانکشن دارید برای پاک کردن اینپوت
بعد توی تابعی که نتیجه رو حساب میکنه همون موقع یه لیسنر کلید همه کلید ها برای همه بزارید که اگه هر کلیدی فشرده شد اونو بزاره تو بخش لاگ و بیاد اینپوت رو پاک کنه و فوکوس کنه رو اینپوت
@hesammousavi
استاد لطفا کمکم میکنید به خدا هرچی گوگل میکنم به جوابی نمیرسم بعد همه اومدن ماشین حساب رو با جی کوئری نوشتن من کداشو متوجه نمیشم
تو این لینک یکی اومده مشابهش رو نوشته شاید بتونین بخونینش
و میشه بگین تو چه بخشی از این پروژه مشکل دارین؟
اگه بگین کجاش مشکل دارین شاید بتونم کمک کنم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟