10:36 - חבר שלי מספר שיש להם פרוייקט לעשות מחשבון בג'אווה סקריפט.
12:36 - הקוד גמור :)
12:40 - אני מגלה שיש באגים, אבל באמת שאין לי זמן. ביי!12:36 - הקוד גמור :)
<html>
<head>
<title>מחשבון - זה הפתרון!</title>
<script>
var oper;
var memo=0;
var disp=0;
function updateDisplay(){
str=disp.toString();
if(Math.floor(disp)==disp) str+=".";
document.getElementById(' display').innerHTML=str;
}
function pressed(s){
// alert(s);
if(isNaN(parseInt(s)))
switch(s){
case 'C': disp=0; break;
case '<': disp=Math.floor(disp/10); break;
case '+':case '-':case '*':case '/': memo=disp; disp=0; oper=s; break;
case '=':
switch(oper){
case '+': disp+=memo; break;
case '-': disp-=memo; break;
case '*': disp*=memo; break;
case '/': disp/=memo; break;
}
break;
}
else
if(disp<=99999999) disp=(parseInt(disp)*10+ parseInt(s));
updateDisplay();
}
function init(){
updateDisplay();
var rows=document.getElementById(' megacalc').rows;
for (var j=1;j<6;j++){
cells=rows[j].cells;
for(i in cells){
if(!isNaN(i)){cells[i]. onclick=function(){pressed( this.innerHTML)};}
}
}
document.getElementById
}
</script>
<style>
body{text-align:center}
#megecalc{margin-left:auto; margin-right:auto;}
#megacalc td{text-align:center}
#display{font-size:2em}
</style>
</head>
<body onload="init();">
<center>
<h1>מחשבון - זה הפתרון!</h1>
<table id="megacalc" width="200" height="350" border="2" cellpadding="5" cellspacing="5">
<tr>
<td style="text-align:right" id="display" colspan="4"></td>
</tr>
<tr>
<td>7</td><td>8</td><td>9</td> <td>/</td>
</tr>
<tr>
<td>4</td><td>5</td><td>6</td> <td>*</td>
</tr>
<tr>
<td>1</td><td>2</td><td>3</td> <td>-</td>
</tr>
<tr>
<td colspan="2">0</td><td>.</td>< td>+</td>
</tr>
<tr>
<td>C</td><td><</td><td colspan="2">=</td>
</tr>
</table>
</center>
</body>
</html>
14:30 - תיקון: סדר הפעולות מבוצע הפוך ולכן במקרה של חילוק וחיסור התוצאה המתקבלת אינה נכונה. כמו כן, צריך לטפל בהגבלת הספרות באופן הגיוני יותר (דרך הפונקציה updateDisplay עצמה) כדי שגם כאשר התוצאה המקבלת ארוכה - היא תוגבל לגודל המחשבון.. :)
אין תגובות:
הוסף רשומת תגובה