ผู้เขียน หัวข้อ: เครื้องคิดเลข  (อ่าน 1450 ครั้ง)

ออฟไลน์ julajit

  • เด็กเตรียมอนุบาล
  • *
  • กระทู้: 15
เครื้องคิดเลข
« เมื่อ: 27 พ.ย. 09, 02:28:29 »
จนถึงตอนนี้ผมก็ไม่สามารถกำหนดเงื่อนไขให้flashแยกคำนวณตามเครื้องหมาย
ได้  ใครเขียนโปรแกรมเครื้องคิดเลขเป็นช่วยสอนหน่อยครับ นะครับ

ออฟไลน์ พล

  • เด็กอนุบาลสามกำลังโต
  • ****
  • กระทู้: 267
Re: เครื้องคิดเลข
« ตอบกลับ #1 เมื่อ: 27 พ.ย. 09, 02:33:32 »
งง ครับ ช่วยอธิบายมากกว่านี้ได้ไหมครับ
หากแต่เพียงเราตอนนี้เป็นกายเนื้อ แต่สักวันมันก็ต้องดับไป

ออฟไลน์ hippogo149

  • พี่ใหญ่ปอหก
  • *
  • กระทู้: 5208
    • Hippogo149's Wordpress
Re: เครื้องคิดเลข
« ตอบกลับ #2 เมื่อ: 27 พ.ย. 09, 02:44:41 »
switch(x) {
case 0: c = a + b; break;
case 1: c = a - b; break;
case 2: c = a * b; break;
case 3: c = a / b; break;
}

ออฟไลน์ julajit

  • เด็กเตรียมอนุบาล
  • *
  • กระทู้: 15
Re: เครื้องคิดเลข
« ตอบกลับ #3 เมื่อ: 01 ธ.ค. 09, 01:23:21 »
หมายถึงว่าผมไม่สามารถทำให้flash5 แยกคำนวณตามเครื้องหมายได้ เช่น  ผมจะให้เลขลบกัน พอกดเครื้องหมายเท่ากับ
ค่าตัวเลขออกมาเพี้ยนเฉยเลยหรือจะให้มันคูณกันพอลองกดเครื้องหมายคูณตัวเลยแลวกดเท่ากับเพี้ยนเลย จะมีที่กดแล้ว
ตรงเลย   ไม่มีเพี้ยนมีอยูเครื้องหมายเดียวคือเครี้ยงหมายบวกอะครับนอกนั้นเพี้ยนหมดแยกคำนวนไม่ได้เลยได้บวกเครื้องหมายเดียว
ในหนังสือของ อาจารย์กำพล ลีลาภรณ์ บอกให้ใช้คำสั่ง if ในการให้flash ตรวจสอบตัวแปรหนึ่งตัวที่เพิ่มเข้าไปและให้จำว่ามีการกดเครื้องหมายปุ่มใดไว้
และเมื้อมีการกดปุ่มเท่ากับก็ให้เช็คค่าของตัวแปรของตัวแปรที่เก็บเครื้องหมายนี้และแยกคำนวนตามเครื้องหมาย  ใครเคยอ่านหนังสือของอาจารย์กำพล
แล้วพอเข้าใจก็ช่วยบอกด้วยนะครับ ขอบคุณมากครับ

StUpID CoDeR

  • บุคคลทั่วไป
Re: เครื้องคิดเลข
« ตอบกลับ #4 เมื่อ: 01 ธ.ค. 09, 02:03:30 »
ในหนังสือไม่ได้สอนทำจนเสร็จหรอครับ

ออฟไลน์ rezzzah

  • Administrator
  • พี่ปอสองรักน้องปอหนึ่ง
  • *****
  • กระทู้: 914
Re: เครื้องคิดเลข
« ตอบกลับ #5 เมื่อ: 01 ธ.ค. 09, 02:09:31 »
ไม่รู้ว่าใช่ที่ต้องการรึเปล่า
<a href="http://exp-box.com/tmp/calculator/calculator.swf" target="_blank" class="new_win">http://exp-box.com/tmp/calculator/calculator.swf</a>

เคยทำไว้นานแล้วอะคับ โหลดได้ที่เวปนี้นะ
http://exp-box.com/tmp/calculator/calculator.fla

อาจจะยากนิดนึงเรื่อง ตัวเครื่องหมายที่กดล่าสุด


สร้าง dynamic text ชื่อ display_txt
สร้างปุ่ม ชื่อ p1 สำหรับเลข 1
                p2 สำหรับเลข 2
                p0 สำหรับเลข 0
สร้างเครื่อหมาย
               x0 สำหรับ +
               x1 สำหรับ -
              x2 สำหรับ x
             x3 สำหรับ /
             x4 สำหรับ =
           

โค๊ด: [Select]
var lastValue:Number = 0;
var checkExpression:Boolean = false;
var laseExpression = -1;
for (var i = 0; i<=9; i++) {
this["p"+i].number = i;
this["p"+i].onRelease = function() {
if (checkExpression) {
display_txt.text = this.number;
checkExpression = false;
} else {
display_txt.text = parseFloat(parseFloat(display_txt.text)+""+this.number);
}
};
this["x"+i].number = i;
this["x"+i].onRelease = function() {
calculate(this.number);
};
}

function calculate(expressions) {
if (!checkExpression) {
switch (laseExpression) {
case 0 :
display_txt.text = (lastValue+parseFloat(display_txt.text));
break;
case 1 :
display_txt.text = (lastValue-parseFloat(display_txt.text));
break;
case 2 :
display_txt.text = (lastValue*parseFloat(display_txt.text));
break;
case 3 :
display_txt.text = (lastValue/parseFloat(display_txt.text));
break;
case 4 :
display_txt.text = (lastValue);
break;
}
lastValue = parseFloat(display_txt.text);
laseExpression = expressions;
checkExpression = true;
} else {
laseExpression = expressions;
}
}
« แก้ไขครั้งสุดท้าย: 01 ธ.ค. 09, 04:08:02 โดย rezzzah »

ออฟไลน์ julajit

  • เด็กเตรียมอนุบาล
  • *
  • กระทู้: 15
Re: เครื้องคิดเลข
« ตอบกลับ #6 เมื่อ: 01 ธ.ค. 09, 03:29:30 »
ครับ บอกแต่เครื้องหมายบวกอย่างเดียว เว็บที่บอกไว้โหลดไม่ได้นะครับ
แล้วโค๊ดข้างล่างวานพี่ๆช่วยอธิบายหน่อยได้เปล่าครับ งง
ใครมีไอเดียไรก็ขอให้ช่วยโพสหน่อยนะครับ ถือว่าสงสารเด็กน้อยตาดำๆครับ
ขอบคุณทุกคนมากครับ

ออฟไลน์ hippogo149

  • พี่ใหญ่ปอหก
  • *
  • กระทู้: 5208
    • Hippogo149's Wordpress
Re: เครื้องคิดเลข
« ตอบกลับ #7 เมื่อ: 01 ธ.ค. 09, 03:34:22 »
ปัญญา มีเอาไว้ใช้

ออฟไลน์ julajit

  • เด็กเตรียมอนุบาล
  • *
  • กระทู้: 15
Re: เครื้องคิดเลข
« ตอบกลับ #8 เมื่อ: 01 ธ.ค. 09, 04:18:53 »
ครับ