สอนสร้างเครื่องคิดเลข โดยการใช้ภาษา C++
เครื่องคิดเลข เป็นสิ่งที่เราใช้ในชีวิตประจำวัน ไม่ว่าใครๆ หันซ้าย หันขวา ก็มีแต่คนใช้ ไม่ว่าจะเป็นแม่ค้าในตลาดไปจนถึงนักวิทยาศาสตร์ต่างก็ขาดอุปกรณ์ชิ้นนี้ไม่ได้ แล้วถ้าเกิดว่าเครื่องคิดเลขของเราไม่สามารถคิดเลขได้ในแบบที่ต้องการล่ะ? ในบทความนี้จะสอนให้คุณสร้างเครื่องคิดเลขขึ้น ให้เครื่องคิดเลขของคุณมีมากกว่า บวก ลบ คูณ หาร โดย โปรแกรมของเรานั้น ได้เพิ่มสูตรการหาค่า sin เป็นตัวอย่างไปด้วย
Flowchart การทำงาน
Source Code มีดังนี้
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
Double value = 0;
String operation = “”;
bool operation_pressed = false;
public Form1()
{
InitializeComponent();
}
private void button7_Click(object sender, EventArgs e)
{
//result.Text = result.Text = “1”;
//Button b = (Button)sender;
//result.Text = result.Text + b.Text;
}
private void button_Click(object sender, EventArgs e)
{
if ((result.Text == “0”) || (operation_pressed))
result.Clear();
operation_pressed = false;
Button b = (Button)sender;
if (b.Text == “.” )
{
if (!equal.Text.Contains(“.”))
equal.Text = equal.Text + b.Text;
}
else
result.Text = equal.Text + b.Text;
}
private void button16_Click(object sender, EventArgs e)
{
result.Text = “0”;
}
private void operator_Click(object sender, EventArgs e)
{
Button b = (Button)sender;
if (value != 0)
{
equal.PerformClick();
operation_pressed = true;
operation = b.Text;
equation.Text = value + ” ” + operation;
}
else
{
operation = b.Text;
value = Double.Parse(result.Text);
operation_pressed = true;
equation.Text = value + ” ” + operation;
}
}
private void button18_Click(object sender,EventArgs e)// = Button
{
equation.Text = “”;
switch (operation) //–Step 1.7
{
case “+”:
result.Text = (value + Double.Parse(result.Text)).ToString();
break;
case “-“:
result.Text = (value – Double.Parse(result.Text)).ToString();
break:
case “*”;
result.Text = (value * Double.Parse(result.Text)).ToString();
break:
case “/”;
result.Text = (value / Double.Parse(result.Text)).ToString();
break;
default:
break;
}//end switch
value = Int32.Parse()result.Text); //–Step 1.10
operation = “”; //–Step 1.10
}
private void button17_Click(object sender,EventArg e) //Clear Button –Step 1.0
{
result.Clear();
vasult = 0; //End Step 1.8
equation.Text = “”; //–Step 1.12
}
private void Form1_Keypress(object sender,KeyPressEventArgs e) //–Step1.11
{
//MessageBox.Show(e.KeyChar.ToString());
/*if (e.KeyChar == (char)Keys.Return)
{
//equal.PerformClick();
MessageBox.Show(e.KeyChar.ToString());
}
else if(e.KeyChar == 8)
{
MessageBox.Show(e.KeyChar.ToString());
//result.Text = “0”;
}*/
switch ((e.KeyChar.ToString()))
{
case “0”:
zero.PerformClick();
break;
case “1”:
one.PerformClick();
break;
case “2”:
two.PerformClick();
break;
case “3”:
three.PerformClick();
break;
case “4”:
four.PerformClick();
break;
case “5”:
five.PerformClick();
break;
case “6”:
six.PerformClick();
break;
case “7”:
seven.PerformClick();
break;
case “8”:
eight.PerformClick();
break;
case “9”:
nine.PerformClick();
break;
case “+”:
add.PerformClick();
break;
case “-“:
sub.PerformClick();
break;
case “*”:
times.PerformClick();
break;
case “/”:
div.PerformClick();
break;
case “sin”:
sine.PerformClick();
break;
case “=”:
equal.PerformClick();
break;
default:
break;
}
} //–End Step 1.11
}
}
Output ผลการทดลอง
หน้าตาโปรแกรมก็จะออกมาประมาณนี้นะครับ ซึ่งก็จะขึ้นอยู่กับการออกแบบของแต่ละบุคคลด้วยครับ..^^..
Developed by
ภูมินทร์ บุญโรจน์
รุ่งนภา กองเกตุ
จิราภา คุ้มทอง