C#计算器实验报告

时间:2024.4.1

C#计算器实验报告

班级:   2010134    

学号:   201013432  

姓名:    蔡启林    

一 实验目的和要求

设计一个简单计算器,具有一般计算功能,能进行基本的加减乘除运算,还具有求根号,倒数等功能。特点是能进行不同进制的运算和不同进制间的转换。主要的工作主要是操作数与被操作数进行简单的加、减、乘、除运算来完成基本的,而且还可以进行简单的科学运算例如计算一个数的平方、开方、正弦、余弦、log、ln等操作还可以计算面积、周长、体积和表面积等。通过新的技术和新方法来实现计算功能显示界面为Windows From窗体。

二 功能模块设计

标准计算器

通过Windows Form窗体中的对应按钮接受用户输入数据提交对应的方法中来完成相应的功能计算再将结果显示在显示框内。显示界面为Windows From窗体。

下面是一个简单的计算器的基本功能:

1加法 

两个数据进行加操作可以为小数。

2减法

两个数据进行减操作可以为负数相减。

3乘法

两个数相乘

4除法

两个数相除

5   倒数

可以求得一个数的倒数

6开方

开方后的结果可以精确到16位。

科学计算器

1 平方

接收的数相乘结果保留一位小数。

2 立方

接收的数相乘两次

3 正弦

正弦结果精确度同开方。

4 余弦

余弦结果精确度同上。

5   Log

Log运算精确到16位。

6 Ln

以e为底的对数。

7   二进制

二进制数的运算

8   八进制

八进制数的运算

9   十进制

十进制数的运算

11  十六进制

十六进制的运算

12  倒数

可以求得一个数的倒数

13  开方

开方后的结果可以精确到16位。

14  颜色

可以选择输入字体的颜色

三 设计界面

标准型

科学型

四 详细设计过程

(一)  打开VS2010创建项目

(二)界面设计

1.进入界面

2.菜单设计

(1)选择VS201的菜单栏中的“视图|工具箱”单击,调出工具箱(出现在VS用户区左侧。

(2)在工具箱中选择“菜单和工具栏|MenuStrip”,拖到程序界面用户区,并根据自己的喜好在“属性窗口”(可以使用“视图|属性窗口”调出,一般在用户区右下角)设置菜单栏宽度、颜色等。

(3)在菜单栏中“请在此处键入”编辑第一个菜单 选项及其下拉子菜单选项“编辑”“复制”“粘贴”。


(4)按上述操作,依次完成第二、三个菜单选项及其下拉子 菜单选项。

3.显示条设计

(1)在VS用户区左侧工具箱中找到TextBox控件拖到计算器用区合适的位置,按住鼠标左键在相应调整点设置其长度,设置其 高度时需要首先在属性窗口把该控件的Mutiline属性设置为True, 才可以使用鼠标调整其高度。

(2)在属性窗口设置显示条属性:(Name)属性为txt_Result;Text 属性为0.(即:控件上显示的内容);TextAlign属性为Right;

4.其它控件设计

向窗体上添加控件,计算器分为3个模块,分别是

Textbox:显示区:显示数字和计算结果的功能

button:计算区:提供运算符和数字,与用户交互进行运算

radioButton:转换区: 用于进制之间的转换

五 详细代码

标准型

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication6

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

}

public string number;

public int x;

public double number1;

private string a;

private string abc;

private void button0_Click(object sender, EventArgs e)

{Button btn = (Button)sender;

txt_Result.Text += btn.Text;}

private void button1_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;

txt_Result.Text += btn.Text;}

private void button2_Click(object sender, EventArgs e)

{Button btn = (Button)sender;

txt_Result.Text += btn.Text;}

private void button3_Click(object sender, EventArgs e)

{Button btn = (Button)sender;

txt_Result.Text += btn.Text;}

private void button4_Click(object sender, EventArgs e)

{Button btn = (Button)sender;

txt_Result.Text += btn.Text;}

private void button9_Click(object sender, EventArgs e)

{Button btn = (Button)sender;

txt_Result.Text += btn.Text;}

private void button8_Click(object sender, EventArgs e)

{Button btn = (Button)sender;

txt_Result.Text += btn.Text;}

private void button7_Click(object sender, EventArgs e)

{Button btn = (Button)sender;

txt_Result.Text += btn.Text;}

private void button6_Click(object sender, EventArgs e)

{Button btn = (Button)sender;

txt_Result.Text += btn.Text;}

private void button5_Click(object sender, EventArgs e)

{Button btn = (Button)sender;

txt_Result.Text += btn.Text};

private void C_Click(object sender, EventArgs e)

{txt_Result.Text = "";

this.btn_Result.Focus();}

private void sqrt_Click(object sender, EventArgs e)

        {

            if (Convert.ToDouble(txt_Result.Text) < 0)

            {

                this.txt_Result.Text = "error";

            }

            else

            {

                number1 = Convert.ToDouble(txt_Result.Text);

                number = "";

                txt_Result.Text = Convert.ToString(System.Math.Sqrt(number1));}

            this.btn_Result.Focus();}

private void dao_Click(object sender, EventArgs e)

        {

            if (Convert.ToDouble(txt_Result.Text) == 0)

            {

                this.txt_Result.Text = "error";

            }

            else

            {

                number1 = Convert.ToDouble(txt_Result.Text);

                number = "";

                txt_Result.Text = Convert.ToString(1 / number1);}

            this.btn_Result.Focus();}

private void dian_Click(object sender, EventArgs e)

        {try

{number = Convert.ToString(number + ".");

   txt_Result.Text = Convert.ToString(number + "");}

            catch{ }this.btn_Result.Focus();}

private void Backspace_Click(object sender, EventArgs e)

        {if (txt_Result.Text == "" || txt_Result.Text == "0")

            {txt_Result.Text = "";}

            else

            {number1 = Convert.ToDouble(txt_Result.Text);

             number = Convert.ToString((number1 - number1 % 10) / 10);

              txt_Result.Text = number;}

            this.btn_Result.Focus();}

private void bai_Click(object sender, EventArgs e)

        {

            number = Convert.ToString(Convert.ToDouble(txt_Result.Text) / 100);

            txt_Result.Text = number;

            number = "";

            this.btn_Result.Focus();}

private void zhengfu_Click(object sender, EventArgs e)

        {

            number1 = Convert.ToDouble(txt_Result.Text);

            txt_Result.Text = Convert.ToString(0 - number1);

            this.btn_Result.Focus();}

private void X2_Click(object sender, EventArgs e)

        {

            if (txt_Result.TextLength > 0)

            {

                number1 = Convert.ToDouble(number);

                number = Convert.ToString(number1 * number1);

                txt_Result.Text = number;

                number = "";

            }

            this.btn_Result.Focus();}

private void 帮助ToolStripMenuItem_Click(object sender, EventArgs e)

        {MessageBox.Show(“这是一个仿照windows的计算器应用程序,功能虽然不齐但基本能运行”);}

private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)

        {Close();}

private void btn_Add_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;

txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; }

private void btn_Minus_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;

txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; }

private void btn_Multiply_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;

txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; }

private void tn_Divide_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;

 txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; }

private void btn_Result_Click(object sender, EventArgs e)

        {

double d_result;

string s_txt = txt_Result.Text;

int space = s_txt.IndexOf(' ');

string s1 = s_txt.Substring(0, space);

char operation = Convert.ToChar(s_txt.Substring((space + 1), 1));

string s2 = s_txt.Substring(space + 3);

double arg1 = Convert.ToDouble(s1);

double arg2 = Convert.ToDouble(s2);

            switch (operation)

            {case '+':

d_result = arg1 + arg2;break;

case '-':

d_result = arg1 - arg2;break;

case '*':

d_result = arg1 * arg2;break;

case '/':

if (arg2 == 0)

{throw new ApplicationException();}

else

{d_result = arg1 / arg2;} break;

default:

throw new ApplicationException();}

 txt_Result.Text = d_result.ToString(); }

private void 标准型TToolStripMenuItem_Click(object sender, EventArgs e)

        {Form1 frm = new Form1();

            frm.Show();

            this.Hide();}

private void 粘贴ToolStripMenuItem_Click(object sender, EventArgs e)

        {

            if (a == null)

            {

                this.txt_Result.Text = this.abc; 

                this.a += this.abc;

            }

            else if (a != null && txt_Result.Text != null)

            {

                this.txt_Result.Text = null;

                a = null;

                this.txt_Result.Text = this.abc; 

                this.a += this.abc;

            }

}

private void 复制CToolStripMenuItem_Click(object sender, EventArgs e)

        {

            if (abc == null)

            {

                this.abc += this.txt_Result.Text;

            }

            else

            {

                abc = null;

                this.abc += this.txt_Result.Text;

            }

}

private void 科学型SToolStripMenuItem_Click(object sender, EventArgs e)

        {

            Form fm2 = new Form2();

fm2.Show();

            this.Hide();

        }

科学型

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication6

{

    public partial class Form2 : Form

    {

        public Form2()

        {

            InitializeComponent();

        }

private void rBtn16_CheckedChanged(object sender, EventArgs e)

        {

            this.btn_per.Enabled = false;

            this.btn_down.Enabled = false;

this.btn_log.Enabled = false;

this.btn_tan.Enabled = false;

this.btn_sin.Enabled = false;

this.btn_cos.Enabled = false;

this.btn_Pi.Enabled = false;

this.button9.Enabled = true;

this.button8.Enabled = true;

this.button7.Enabled = true;

this.button6.Enabled = true;

this.button5.Enabled = true;

this.button4.Enabled = true;

this.button3.Enabled = true;

this.button2.Enabled = true;

this.buttonA.Enabled = true;

 this.buttonB.Enabled = true;

this.buttonC.Enabled = true;

this.buttonD.Enabled = true;

this.buttonE.Enabled = true;

 this.buttonF.Enabled = true;

if (txt_Result.Text != "")

            {int d1;

string d2;

string s_txt = txt_Result.Text;

 string s1 = s_txt.Substring(0);

 if (this.rBtn8.Checked)

                {int a = System.Convert.ToInt32(s1, 16);

d1 = a;d2 = System.Convert.ToString(d1, 8);txt_Result.Text = d2.ToString();}

else if (this.rBtn10.Checked)              

{int a = System.Convert.ToInt32(s1, 16);

d1 = a; txt_Result.Text = d1.ToString();}

else if (this.rBtn2.Checked)               

{int a = System.Convert.ToInt32(s1, 16);

d1 = a;d2 = System.Convert.ToString(d1, 2);

txt_Result.Text = d2.ToString();} }}

private void rBtn10_CheckedChanged(object sender, EventArgs e)

        {this.btn_down.Enabled = false;

this.btn_log.Enabled = false;

this.btn_tan.Enabled = false;

this.btn_sin.Enabled = false;

this.btn_cos.Enabled = false;

this.btn_Pi.Enabled = false;

this.button9.Enabled = true;

this.button8.Enabled = true;

this.button7.Enabled = true;

this.button6.Enabled = true;

this.button5.Enabled = true;

this.button4.Enabled = true;

this.button3.Enabled = true;

this.button2.Enabled = true;

this.buttonA.Enabled = false;

this.buttonB.Enabled = false;

this.buttonC.Enabled = false;

this.buttonD.Enabled = false;

this.buttonE.Enabled = false;

this.buttonF.Enabled = false;

if (txt_Result.Text != "")

{ int d1; string d2;

string s_txt = txt_Result.Text;

string s1 = s_txt.Substring(0);

if (this.rBtn8.Checked)               

{ double a = Convert.ToDouble(s1); d1 = (int)a;

d2 = System.Convert.ToString(d1, 8);

                      txt_Result.Text = d2.ToString();}

else if (this.rBtn16.Checked)

{ double a = Convert.ToDouble(s1);

          d1 = (int)a;      d2 = System.Convert.ToString(d1, 16);

  txt_Result.Text = d2.ToString();}

  else if (this.rBtn2.Checked)

                { d1 = (int)a; double a = Convert.ToDouble(s1);

d2 = System.Convert.ToString(d1, 2);

 txt_Result.Text = d2.ToString();}}}

private void rBtn8_CheckedChanged(object sender, EventArgs e)

        { this.btn_per.Enabled = false;

          this.btn_down.Enabled = false; 

           t his.btn_log.Enabled = false;

this.btn_tan.Enabled = false;

this.btn_sin.Enabled = false;

this.btn_cos.Enabled = false;

        this.btn_Pi.Enabled = false;   

this.button9.Enabled = false;

  this.button9.Enabled = false;        

this.button7.Enabled = true;

  this.button6.Enabled = true;         

this.button5.Enabled = true;

  this.button4.Enabled = true;        

this.button3.Enabled = true;

  this.button2.Enabled = true; this.buttonA.Enabled = false;         

this.buttonB.Enabled = false;

 this.buttonC.Enabled = false;          

  this.buttonD.Enabled = false;

this.buttonE.Enabled = false;

this.buttonF.Enabled = false;

if (txt_Result.Text != "")

            {int d1;string d2;string s_txt = txt_Result.Text;

string s1 = s_txt.Substring(0);

if (this.rBtn16.Checked)               

{int a = System.Convert.ToInt32(s1, 8);

d1 = a;d2 = System.Convert.ToString(d1, 16);

txt_Result.Text = d2.ToString();}

else if (this.rBtn10.Checked)               

{int a = System.Convert.ToInt32(s1, 8);

d1 = a;txt_Result.Text = d1.ToString();}

else if (this.rBtn2.Checked)

          { int a = System.Convert.ToInt32(s1, 8);

d1 = a;d2 = System.Convert.ToString(d1, 2); txt_Result.Text = d2.ToString();}}}

private void rBtn2_CheckedChanged(object sender, EventArgs e)

        {this.btn_per.Enabled = false;           

this.btn_down.Enabled = false;

this.btn_log.Enabled = false;

this.btn_tan.Enabled = false;

this.btn_sin.Enabled = false;

this.btn_cos.Enabled = false;

this.btn_Pi.Enabled = false;

this.button9.Enabled = false;

this.button8.Enabled = false;

this.button7.Enabled = false;

 this.button6.Enabled = false;

this.button5.Enabled = false;

his.button4.Enabled = false;

this.button3.Enabled = false;

this.button2.Enabled = false;

this.buttonA.Enabled = false;

this.buttonB.Enabled = false;

this.buttonC.Enabled = false;

this.buttonD.Enabled = false;

this.buttonE.Enabled = false;

this.buttonF.Enabled = false;

if (txt_Result.Text != "")

{ int d1; string d2; string s_txt = txt_Result.Text;

string s1 = s_txt.Substring(0);

if (this.rBtn8.Checked)

{ int a = System.Convert.ToInt32(s1, 2);

d1 = a; d2 = System.Convert.ToString(d1, 8);

 txt_Result.Text = d2.ToString(); }

else if (this.rBtn10.Checked)

{ int a = System.Convert.ToInt32(s1, 2);

d1 = a; txt_Result.Text = d1.ToString(); }

else if (this.rBtn16.Checked)              

                { int a = System.Convert.ToInt32(s1, 2); d1 = a; d2 = System.Convert.ToString(d1, 16);

txt_Result.Text = d2.ToString(); }}}

private void radioButton8_CheckedChanged(object sender, EventArgs e)

        {this.txt_Result.ForeColor = Color.Black; }

private void rBtnBlue_CheckedChanged(object sender, EventArgs e)

        { this.txt_Result.ForeColor = Color.Blue; }

 private void rBtnRed_CheckedChanged(object sender, EventArgs e)

        { this.txt_Result.ForeColor = Color.Red; }

private void rBtnYellow_CheckedChanged(object sender, EventArgs e)

        { this.txt_Result.ForeColor = Color.Yellow;}

private void button0_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void button1_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void button2_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void button3_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void button4_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void button5_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void button6_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void button7_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void button8_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void button9_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void buttonA_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void buttonB_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void buttonC_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void buttonD_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void buttonE_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void buttonF_Click(object sender, EventArgs e)

        {Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void btn_neg_Click(object sender, EventArgs e)

        {string s_txt = txt_Result.Text;

double a = Convert.ToDouble(s_txt);

double b = -a;txt_Result.Text = b.ToString();   }

private void btn_per_Click(object sender, EventArgs e)

        {string s_txt = txt_Result.Text;

double a = Convert.ToDouble(s_txt);

double b = a / 100.0;

txt_Result.Text = b.ToString();}

private void btn_Dot_Click(object sender, EventArgs e)

        { Button btn = (Button)sender;txt_Result.Text += btn.Text; }

private void btn_Add_Click(object sender, EventArgs e)

{Button btn = (Button)sender;txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; }

private void btn_Sub_Click(object sender, EventArgs e)

{Button btn = (Button)sender;txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; }

private void btn_mul_Click(object sender, EventArgs e)

{Button btn = (Button)sender;txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; }

private void btn_div_Click(object sender, EventArgs e)

{Button btn = (Button)sender;txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; }

private void btn_sqr_Click(object sender, EventArgs e)

        {double d1;string d2;

 string s_txt = txt_Result.Text;string s1 = s_txt.Substring(0);

if (this.rBtn2.Checked)          

{ int a = System.Convert.ToInt32(s1, 2);

d1 = System.Math.Sqrt((double)a);

d2 = System.Convert.ToString((int)d1, 2);

txt_Result.Text = d2.ToString();}

else if (this.rBtn8.Checked)           

{int a = System.Convert.ToInt32(s1, 8);

d1 = System.Math.Sqrt((double)a);

d2 = System.Convert.ToString((int)d1, 8);txt_Result.Text = d2.ToString();}

else if (this.rBtn16.Checked)           

{int a = System.Convert.ToInt32(s1, 16);

d1 = System.Math.Sqrt((double)a);

d2 = System.Convert.ToString((int)d1, 16);

txt_Result.Text = d2.ToString();}

else{double a = Convert.ToDouble(s1);

d1 = System.Math.Sqrt(a);txt_Result.Text = d1.ToString();} }

private void btn_ln_Click(object sender, EventArgs e)

        {string s_txt = txt_Result.Text;

double a = Convert.ToDouble(s_txt);

double en = 2.718281828;

double b = System.Math.Log(en, a);txt_Result.Text = b.ToString();  }

private void btn_log_Click(object sender, EventArgs e)

        {string s_txt = txt_Result.Text;

double a = Convert.ToDouble(s_txt);

double b = System.Math.Log10(a);txt_Result.Text = b.ToString(); }

private void btn_down_Click(object sender, EventArgs e)

        {string s_txt = txt_Result.Text;double a = Convert.ToDouble(s_txt);

if (a == 0) throw new ApplicationException();double b = 1 / a;

txt_Result.Text = b.ToString();

private void btn_Pi_Click(object sender, EventArgs e)

        {double pi = 3.1415926535;txt_Result.Text = pi.ToString(); }

private void btn_x2_Click(object sender, EventArgs e)

        { int d1;string d2;

string s_txt = txt_Result.Text;

string s1 = s_txt.Substring(0);

if (this.rBtn2.Checked)           

{int a = System.Convert.ToInt32(s1, 2);

d1 = a * a;d2 = System.Convert.ToString(d1, 2);

txt_Result.Text = d2.ToString();}

else if (this.rBtn8.Checked)           

{int a = System.Convert.ToInt32(s1, 8);d1 = a * a;

d2 = System.Convert.ToString(d1, 8); txt_Result.Text = d2.ToString(); }

else if (this.rBtn16.Checked)           

{int a = System.Convert.ToInt32(s1, 16);

d1 = a * a;d2 = System.Convert.ToString(d1, 16);

txt_Result.Text = d2.ToString();}

else{double a = Convert.ToDouble(s1);

d1 = (int)a * (int)a;txt_Result.Text = d1.ToString();} }

private void btn_x3_Click(object sender, EventArgs e)

        {int d1;string d2;string s_txt = txt_Result.Text;

string s1 = s_txt.Substring(0); if (this.rBtn2.Checked)

            {int a = System.Convert.ToInt32(s1, 2);d1 = a * a * a;

d2 = System.Convert.ToString(d1, 2);txt_Result.Text = d2.ToString();}

else if (this.rBtn8.Checked)

            {int a = System.Convert.ToInt32(s1, 8);

d1 = a * a * a;d2 = System.Convert.ToString(d1, 8);

txt_Result.Text = d2.ToString();}

else if (this.rBtn16.Checked)

            {int a = System.Convert.ToInt32(s1, 16);

d1 = a * a *a;d2 = System.Convert.ToString(d1, 16);

txt_Result.Text = d2.ToString();}

else{double a = Convert.ToDouble(s1);

 d1 = (int)a * (int)a * (int)a;

txt_Result.Text = d1.ToString();}}

private void btn_Clear_Click(object sender, EventArgs e)

        {txt_Result.Text = ""; }

private void btn_sin_Click(object sender, EventArgs e)

        {string s_txt = txt_Result.Text;double a = Convert.ToDouble(s_txt);

double b = System.Math.Sin(a);txt_Result.Text = b.ToString();}

private void btn_cos_Click(object sender, EventArgs e)

        {string s_txt = txt_Result.Text;

double a = Convert.ToDouble(s_txt);

double b = System.Math.Cos(a);txt_Result.Text = b.ToString(); }

private void btn_tan_Click(object sender, EventArgs e)

        {string s_txt = txt_Result.Text;double a = Convert.ToDouble(s_txt);

double b = System.Math.Tan(a);txt_Result.Text = b.ToString();}

 private void btn_Back_Click(object sender, EventArgs e)

        {this.txt_Result.Text =

this.txt_Result.Text.Substring(0, this.txt_Result.Text.Length - 1);

if (this.txt_Result.Text == " ")

            {this.txt_Result.Text = “} }

private void btn_Result_Click(object sender, EventArgs e)

        {int d1;string d2;

string s_txt = txt_Result.Text;

int space = s_txt.IndexOf(' ');

string s1 = s_txt.Substring(0, space).Trim();

char opration = Convert.ToChar(s_txt.Substring((space + 1), 1));

            string s2 = s_txt.Substring(space + 3);

            {            int i = Convert.ToInt32(s1);

            int j = Convert.ToInt32(s2);

switch (opration)

            {case '+':d1 = i + j;break;

case '-':d1 = i - j;break;

case '*':d1 = i * j;break;

case '/':if (j == 0)

{ throw new ApplicationException();}

else{d1 = i/ j;}break;

default:throw new ApplicationException();}

            txt_Result.Text = d1.ToString();}

            if (this.rBtn8.Checked)           

{int i = System.Convert.ToInt32(s1, 8); int j = System.Convert.ToInt32(s2, 8);

switch (opration){case '+':

d1 = i + j;d2 = System.Convert.ToString(d1, 8);break;

case '-':

d1 = i - j;d2 = System.Convert.ToString(d1, 8);break;

case '*':

d1 = i * j;d2 = System.Convert.ToString(d1, 8);break;

case '/':if (j == 0){throw new ApplicationException(); }

else{d1 = i / j;d2 = System.Convert.ToString(d1, 8);}break;

default:throw new ApplicationException();}

txt_Result.Text = d2;}

if (this.rBtn16.Checked)

            {int i = System.Convert.ToInt32(s1, 16);int j = System.Convert.ToInt32(s2, 16);

switch (opration)

 {case '+':d1 = i + j;d2 = System.Convert.ToString(d1, 16);break;

case '-':d1 = i – j;d2 = System.Convert.ToString(d1, 16); break;

case '*':d1 = i * j;d2 = System.Convert.ToString(d1, 16);break;

case '/':if (j == 0){throw new ApplicationException();}

else{d1 = i / j;d2 = System.Convert.ToString(d1, 16);}break;

default:throw new ApplicationException();}

txt_Result.Text = d2;}

if (this.rBtn2.Checked)           

{int i = System.Convert.ToInt32(s1, 2);

int j = System.Convert.ToInt32(s2, 2);

switch (opration)

{case '+':d1 = i + j;d2 = System.Convert.ToString(d1, 2);break;

case '-':d1 = i - j;d2 = System.Convert.ToString(d1, 2);break;

case '*':d1 = i * j;d2 = System.Convert.ToString(d1, 2);break;

case '/':if (j == 0){throw new ApplicationException();}

else{d1 = i / j;d2 = System.Convert.ToString(d1, 2);}

break;default;throw new ApplicationException(); }

txt_Result.Text = d2;}

if (this.rBtn10.Checked)

            {double d;

double a1 = Convert.ToDouble(s1);

double a2 = Convert.ToDouble(s2);

switch (opration)

{case '+':d = a1 + a2;break;

case '-':d = a1 - a2;break;

case '*':d = a1 * a2;break;

case '/':if (a2 == 0)

{throw new ApplicationException();}

else{d = a1 / a2;}break;

default:throw new ApplicationException();}

txt_Result.Text = d.ToString();}}

private void 标准型ToolStripMenuItem_Click(object sender, EventArgs e)

        {Form fm1 = new Form1();fm1.Show();

            this.Hide();}

private void 帮ã?助¨²ToolStripMenuItem_Click(object sender, EventArgs e)

        {

  MessageBox.Show("这是一个仿照windows的计算器应用程序,功能虽然不齐但基本能运行”);

}}}

六 实验总结

通过简易计算器这一程序的开发。我更进一步的了解了面向对象程序开发的过程也亲身体验了开发一个简单系统的细节点滴。通过这个例子,我对类的使用和认识有了更深入的体会。首先这是一个计算器程序,主要的是对十进制数据的简单的四则运算操作。包含了最基本的对一些按钮和文本框的操作。了解到了这类程序的开发过程和基本入手点。可以说这是我第一次用完全的面向对象语言开发一个简单的小程序。这也让我深刻体会到了类在面向对象开发过程中的重要性和便捷之处。只有亲身体验才有真正的收获。对于这个项目我有一些满意的地方也有感到不足的地方。其中满意的地方是这个程序实现了预计的功能即对数据的四则运算操作、一些三角函数阶乘N次方进制转化角弧度转换且计算结果无误。而且我也在这个项目中用到了以前学到的C语言程序时的一些思想。从这点我体会到了不同程序的共通性和不同语言间的共通性。通过这个程序我解决了窗体的应用问题。把原来只能在DOS提示符下运行的程序是现在了WINDOWS窗体中。 当然这个项目中还是存在很多不足之处的比如这个计算器程序的计算中没有能够实现把二、八、十六进制转换为十进制。有些地方写的代码效率不高。而且由于对程序设计不是很精通我觉得这个项目中代码的编写也不足够规范文档说明也不足有些东西知道用什么思想但就是用不来。培养一个良好的编程风格是十分重要的。整齐的代码格式会大大提高程序可读性。完整的技术文档对日后维护和升级十分重要。所以在编程的细节方面我还应该多加注意。 一个月的实习让我对计算机理论知识有了一定的了解但实践出真知唯有把理论与实践相结合才能更好地为社会服务。我上网查阅了一些计算应用知识并对毕业论文所需的资料进行了粗浅的了解提高了我的动手能力同时也让我了解到了自己的不足也很好的了解了团队合作的重要性。也学会了怎么样去处理事情。只有自己动手做过的东西才会铭记在心。也只有自己真正去努力过的事情才会记得很牢。只有自己真正面对过的困难下一次才不会犯同样的错误。这个程序仅仅是一个开始一个简单的例子。如果日后要继续开发我觉得应该在这个程序的高效性易用性功能的多样性这几个方面下功夫。也就是说把程序向着更加面向用户的方向进行发展。比如我们可以对用户输入进来的数据进行高级的函数运算并且能够在运算不可行的时候出现提示等等。也就是说要努力将其变成一个实际工作中可以使用的程序而不仅仅是一个示例。当然我会继续努力完善自我为社会主义现代化建设做贡献。总的来说:我学会了掌握时间。把不可控制的东西变成可控制的。做的东西要做成可扩充的。做东西一定要活从这些话再加上自己的工作慢慢体会到这正是我所不足的地方啊。在以后的对计算机科学与技术专业的学习中我会通过对C#这项技术的不断应用来更深入的学习它的精髓。

更多相关推荐:
计数器实验报告

实验4计数器及其应用一实验目的1学习用集成触发器构成计数器的方法2掌握中规模集成计数器的使用及功能测试方法二实验原理计数器是一个用以实现计数功能的时序部件它不仅可用来计脉冲数还常用作数字系统的定时分频和执行数字...

简单的计算器实验报告

HUNANUNIVERSITY程序设计训练简单的计算器报告学生姓名田博鑫学生学号专业班级指导老师20xx年6月16日至20xx年7月10日1吴蓉晖1程序设计目的和要求目的此次程序设计的目的主要是为了我们能更好的...

计算器实验报告 (1)

HTML网页实验报告院系计算机控制与工程学院班级计1241学号姓名完成日期1一实验名称设计一个网页计算器二需求分析计算器是日常生活中十分便捷有效的工具能实现加减乘除开方求倒数等简单运算的工具要实现计算功能可以用...

计算器实验报告

目录一系统开发的背景1二系统分析与设计1一二计算器的主要功能1系统模块结构设计1三系统的设计与实现2一二计算器的初始界面2一般计算3三解一元二次方程5四计算银行本利和5四系统测试7一二测试主函数MAIN7测试一...

计算器实验报告

计科系实验报告单

模拟计算器实验报告

课程设计报告课程设计题目:模拟机算器程序学生姓名:专业:网络工程班级:指导教师:20XX年11月27日东华理工大学课程设计评分表学生姓名:XXX班级:XXX学号:21课程设计题目:模拟机算器程序目录一.课程设计…

计算器实验报告

人机交互实验报告简单计算器的功能实现院系信息工程学院专业08软件工程二班组员姓名楚婕周培富胡伟李文竹指导教师陈姝20xx年11月21日目录一实验目的3二实验内容3三实验设计的基本思想和方法要求31软件开发方式4...

java计算器实验报告

GDOUB11112广东海洋大学学生实验报告书学生用表实验名称JAVA计算器程序设计学院系学生姓名课程名称专业JAVA程序设计班级课程号完成日期学号实验地点实验JAVA计算器程序设计1实验总结刚做之前勉强还能做...

简易计算器实验报告

简易计算器实验报告实验题目学生姓名学号所在学院年级班级成都信息工程学院计算机学院一题目简易计算器题目概述学习MFC的应用做出相对精美的界面学习面向对象的思想即用C考虑到类模仿Windows的计算器用图形界面实现...

简易计算器实验报告

目录1概述12系统软件设计121设计目标和实现方法122整体方案论证13系统硬件的设计231复位电路的设计232时钟振荡器电路的设计333输入电路的设计434输出电路的设计74系统程序的设计与介绍941读键输入...

C++语言计算器的实验报告

1题目简单计算器2实验目的模仿日常生活中所用的计算器自行设计一个简单的计算器程序实现简单的计算功能3实验主要硬件软件环境Window7VisualC604实验内容1体系设计程序是一个简单的计算器能正确输入数据能...

java计算器实验报告

实验报告实验名称课程名称Java程序设计学生姓名号成绩指导教师实验日期专业班级学一实验目的综合应用所学的知识分析问题解决问题提高实际编程能力及程序调试能力二实验内容及要求三实验仪器与设备Eclipse四问题分析...

计算器实验报告(47篇)