簡易型計算機 vb and c#

摘要:簡易型計算機 vb and c#

如果你不是第一次到這個頁面來,會發現本來除了程式碼什麼也沒有,現在多了這些文字敘述。

這個範例的主要目的不是要做一個計算機,
本來只是想用最簡單的方法教朋友程式入門,
順便把程式碼放在這裡簡單分享,也是備忘,
沒想到貼上來後發現有不少人找VB程式找到這裡來,
那就再補上這一段文字說明了。

這一段是寫給沒學過任何程式語言的朋友看的:
寫程式有的時候只是因為不知道從何下手,所以入門比較難,
但事實上因為開發環境漸趨成熟,輔助工具齊全,絕對比一般人想像的簡單。
一般電腦書籍大都是先介紹開發環境、解說控制項、指令...等等,
這樣循序漸進雖然比較完整,但也因為較枯燥,造成入門障礙。
我試了一下,在VB2005的環境下,完全不用到任何專業基礎,
10分鐘內就可以寫好一個簡易型的計算機的程式

 

以下是建立本程式的步驟:

先開啟一個Windows應用程式專案。

把Button從工具列拉過來Form1裡面,這個就是Button1,把Button1的屬性Text改為"1"。
把這個Button1複製9個新的出來並稍做排列,依次把Text屬性改為"2","3","4"..."9","0"。
選取這10個Button,在屬性視窗Click這個事件後面的空白點兩下。

再把Button從工具列拉過來Form1裡面,這個就是Button11,把Button11的屬性Text改為"+"。
把這個Button11複製3個新的出來並稍做排列,依次把Text屬性改為"-","*","/"。
選取這4個Button,在屬性視窗Click這個事件後面的空白點兩下。

再把Button從工具列拉過來Form1裡面,這個就是Button15,把屬性Text改為"="。
選取這個Button,在屬性視窗Click這個事件後面的空白點兩下。

再把Button從工具列拉過來Form1裡面,這個就是Button16,把屬性Text改為"AC"。
選取這個Button,在屬性視窗Click這個事件後面的空白點兩下。

m 是用來放 + - * / 的,
aa是用來記住按下+ -  * / 之前使用者輸入的內容,應該很容易懂,
比較一下你的程式碼跟下面的程式,
把程式碼放進去,好了,就這樣,你會寫程式了。

VB:

Public Class Form1

    Dim m As String
    Dim aa As String

    Private Sub ButtonNumber_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click, Button9.Click, Button8.Click, Button7.Click, Button6.Click, Button5.Click, Button4.Click, Button3.Click, Button10.Click, Button1.Click
        Dim b As Button = sender
        TextBox1.Text = TextBox1.Text + b.Text
    End Sub

    Private Sub ButtonM_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click, Button14.Click, Button13.Click, Button12.Click
        Dim mb As Button = sender
        m = mb.Text
        aa = TextBox1.Text
        TextBox1.Text = ""
    End Sub

    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click
        Dim a As Single = Val(aa)
        Dim b As Single = Val(TextBox1.Text)
        Dim c As Single

        Select Case m
            Case "+"
                c = a + b
            Case "-"
                c = a - b
            Case "*"
                c = a * b
            Case "/"
                c = a / b
        End Select
        TextBox1.Text = c

    End Sub

    Private Sub Button16_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button16.Click
        TextBox1.Text = ""
    End Sub
End Class

 

C#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        String aa;
        String m;

        public Form1()
        {
            InitializeComponent();
        }

        private void buttonNumber_Click(object sender, EventArgs e)
        {
            Button b = sender as Button;
            textBox1.Text += b.Text;
        }

        private void buttonM_Click(object sender, EventArgs e)
        {
            Button mb = sender as Button;
            m = mb.Text;
            aa = textBox1.Text;
            textBox1.Text = "";
        }

        private void button15_Click(object sender, EventArgs e)
        {
            Double a = Double.Parse(aa);
            Double b = Int32.Parse(textBox1.Text);
            Double c = 0;

            switch (m)
            {
                case "+":
                    c = a + b;
                    break;
                case "-":
                    c = a - b;
                    break;
                case "*":
                    c = a * b;
                    break;
                case "/":
                    c = a / b;
                    break;

            }
            textBox1.Text = c.ToString();
        }

        private void button16_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
        }
    }
}