沈阳航空航天大学课程设计说明书实现用户可以通过鼠标或键盘输入需要计算的数据,进行加、减、乘、除、开方、乘方、sin、cos、tan、log、ln等运算的单步运算,及多步计算的功能;数据可以缓存,并且可以调用,使当前窗口数据与缓存数据相加后再存入缓存数据。
C#课程设计说明书计算器的设计与实现摘要由于大数值计算的复杂性和三角函数及对数的不可口、笔算性,所以用到C#程序编写一个计算器程序使其计算方便,只需输入所求数与运算符号即可得到得数,主要用到将双精度类型强制转化为字符串类型,赋值法等算法,将公式运算与模块结合,有效地方便了运算。
关键词计算器,运算,类型转化目录第一章引言 (3)1.1研究背景 (3)1.2设计任务 (3)1.3功能设计 (3)第二章 C#语言程序设计 (4)2.1主要界面截图 (4)2.2主要功能程序代码 (6)2.3整体程序代码 (6)第三章总结 (13)参考文献 (14)第一章引言1.1研究背景计算器(calculator;counter)一般是指“电子计算器”,该名词由日本传入中国。
计算器是能进行数学运算的手持机器,拥有集成电路芯片,但结构简单,比现代电脑结构简单的多,可以说是第一代的电子计算机,且功能也较弱,但较为方便与廉价,可广泛应用于商业交易中,是必备的办公用品之一。
计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备及电子配件通过人工或机器设备组成。
低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。
高档计算器由微处理器和只读存储器实现各种复杂的运算程序,有较多的随机存储单元,以存放输入程序和数据。
1.2 设计任务利用C#程序设计编写一个计算器程序,可以进行简单的加、减、乘、除运算,可以实现普通计算器的功能,对于高级计算器的功能可以基本实现,实现对三角函数,对数等高级运算的功能,编写科学计算器。
1.3 功能设计本计算器功能为实现数据的录入、处理、存储和输出。
可进行加、减、乘、除、开放、百分数、倒数等简单算数计算,还可以用于进行不同进制数的转换。
统计计算可计算一系列数据的和,平均值等。
科学计算可进行函数、对数运算,以及阶乘、幂运算等。
数制的抓换可进行十进制、二进制、八进制、十六进制整数的相互转换。
第二章C#语言程序设计2.1 主要界面截图如图1所示为科学计算器主界面,在此界面上可以进行任何你想进行的运算。
这个计算器界面主要由各种功能键(比如数字键、运算符键、回删键和整体删除键),一个文本框和一个菜单键组成,如下图所示。
图1科学计算器界面如图2所示为科学计算器运算界面,点击一下π后在文本狂中输出了π的值,如下图所示。
以此为例,可以进行各种运算。
图2科学计算器运算界面如图3所示为在科学计算器界面左上角点击机型转换中的普通型后转换成的普通计算器界面,这个菜单键可以实现科学计算器与普通计算器之间的转换,如下图所示。
图3科学计算器界面转换为普通计算器界面2.3 主要功能程序代码数字0到9功能的设计private void button1_Click(object sender, EventArgs e){textBox1.Text = textBox1.Text + "1";Op1 = System.Convert.ToDouble(textBox1.Text);}小数点功能的设计private void button28_Click(object sender, EventArgs e){if (textBox1.Text.IndexOf(".") < 0)textBox1.Text += ((Button)sender).Text;else{}}加减乘除功能的设计private void button11_Click(object sender, EventArgs e){Op = "+";Op2 = Op1;textBox1.Text = "";}三角函数功能的设计private void button17_Click(object sender, EventArgs e){Convert.ToDouble(Op1);textBox1.Text = System.Convert.ToString(Math.Sin(Op1 * Math.PI / 180));2.4 整体程序代码using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication11{public partial class Form1 : Form{private string Op;private double Op1;private double Op2;private double result;public Form1(){InitializeComponent();}private void button10_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "0";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button1_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "1";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button2_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "2";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button3_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "3";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button4_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "4";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button5_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "5";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button6_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "6";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button7_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "7";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button8_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "8";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button9_Click(object sender, EventArgs e) {textBox1.Text = textBox1.Text + "9";Op1 = System.Convert.ToDouble(textBox1.Text);}private void button11_Click(object sender, EventArgs e) {Op = "+";Op2 = Op1;textBox1.Text = "";}private void button12_Click(object sender, EventArgs e) {Op = "-";Op2 = Op1;textBox1.Text = "";}private void button13_Click(object sender, EventArgs e) {Op = "*";Op2 = Op1;textBox1.Text = "";}private void button14_Click(object sender, EventArgs e) {Op = "/";Op2 = Op1;textBox1.Text = "";}private void button15_Click(object sender, EventArgs e) {switch (Op){case"+":result = Op2 + Op1;break;case"-":result = Op2 - Op1;break;case"*":result = Op2 * Op1;break;case"/":result = Op2 / Op1;break;case"^":int m;double n;m = 1;n = Op2;while (m + 1 <= Op1){n = n * Op2;m++;}result = n;break;}textBox1.Text = System.Convert.ToString(result);}private void button16_Click(object sender, EventArgs e){textBox1.Text = "";Op = "";Op1 = 0;Op2 = 0;result = 0;}private void button17_Click(object sender, EventArgs e){Convert.ToDouble(Op1);textBox1.Text = System.Convert.ToString(Math.Sin(Op1 * Math.PI / 180));}private void button18_Click(object sender, EventArgs e){Convert.ToDouble(Op1);textBox1.Text = System.Convert.ToString(Math.Cos(Op1 * Math.PI / 180));}private void button19_Click(object sender, EventArgs e){Convert.ToDouble(Op1);textBox1.Text = System.Convert.ToString(Math.Tan(Op1 * Math.PI / 180));}private void button20_Click(object sender, EventArgs e){int i, j;i = 1; j = 1;while (i <= Op1){j *= i;i++;}textBox1.Text = System.Convert.ToString(j);}private void button21_Click(object sender, EventArgs e){textBox1.Text = System.Convert.ToString(Op1 * Op1);}private void button23_Click(object sender, EventArgs e){textBox1.Text = System.Convert.ToString(Op1 * Op1 * Op1); }private void button24_Click(object sender, EventArgs e){int a, b;a = 1;b = 1;while (a <= Op1){b *= 10;a++;}textBox1.Text = System.Convert.ToString(b);}private void button22_Click(object sender, EventArgs e){Op = "^";Op2 = Op1;textBox1.Text = "";}private void普?通ª¡§型¨ªToolStripMenuItem_Click(object sender, EventArgs e){Form2 stu = new Form2();this.Hide();stu.ShowDialog();this.Close();}private void button25_Click(object sender, EventArgs e){textBox1.Text = textBox1.Text + Math.PI;Op1 = System.Convert.ToDouble(textBox1.Text);}private void button26_Click(object sender, EventArgs e){textBox1.Text = System.Convert.ToString(Math.Log10(Op1)); }private void button27_Click(object sender, EventArgs e){textBox1.Text = System.Convert.ToString(Math.Log(Op1)); }private void button28_Click(object sender, EventArgs e){if (textBox1.Text.IndexOf(".") < 0)textBox1.Text += ((Button)sender).Text;else{}}private void button29_Click(object sender, EventArgs e){string a = textBox1.Text;textBox1.Text = a.Substring(0,a.Length-1);}private void button30_Click(object sender, EventArgs e){textBox1.Text = System.Convert.ToString(-Op1);Op1 = -Op1;}}}第三章总结经过这一段时间的课程设计,使我对Visual C#编程有了更深一层的了解。