1、沈阳航空航天大学课程设计说明书实现用户可以通过鼠标或键盘输入需要计算的数据,进行加、减、乘、除、开方、乘方、sin、cos、tan、log、ln 等运算的单步运算,及多步计算的功能;数据可以缓存,并且可以调用,使当前窗口数据与缓存数据相加后再存入缓存数据。C#课程设计说明书计算器的设计与实现沈阳航空航天大学课程设计说明书 摘要1 摘 要由于大数值计算的复杂性和三角函数及对数的不可口、笔算性,所以用到 C#程序编写一个计算器程序使其计算方便,只需输入所求数与运算符号即可得到得数,主要用到将双精度类型强制转化为字符串类型,赋值法等算法,将公式运算与模块结合,有效地方便了运算。关键词 计算器,运算,
2、类型转化沈阳航空航天大学课程设计说明书 目录0目录第一章 引言 31.1 研究背景 31.2 设计任务 31.3 功能设计 3第二章 C#语言程序设计 42.1 主要界面截图 42.2 主要功能程序代码 62.3 整体程序代码 6第三章 总结 13参考文献 14沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计0第一章 引言1.1 研究背景计 算 器 ( calculator;counter) 一 般 是 指 “电 子 计 算 器 ”, 该 名 词 由 日 本 传入 中 国 。 计 算 器 是 能 进 行 数 学 运 算 的 手 持 机 器 , 拥 有 集 成 电 路 芯 片 , 但 结
3、 构 简单 , 比 现 代 电 脑 结 构 简 单 的 多 , 可 以 说 是 第 一 代 的 电 子 计 算 机 , 且 功 能 也 较 弱 ,但 较 为 方 便 与 廉 价 , 可 广 泛 应 用 于 商 业 交 易 中 , 是 必 备 的 办 公 用 品 之 一 。 计 算器 一 般 由 运 算 器 、 控 制 器 、 存 储 器 、 键 盘 、 显 示 器 、 电 源 和 一 些 可 选 外 围 设 备及 电 子 配 件 通 过 人 工 或 机 器 设 备 组 成 。 低 档 计 算 器 的 运 算 器 、 控 制 器 由 数 字 逻辑 电 路 实 现 简 单 的 串 行 运 算 ,
4、其 随 机 存 储 器 只 有 一 、 二 个 单 元 , 供 累 加 存 储 用 。高 档 计 算 器 由 微 处 理 器 和 只 读 存 储 器 实 现 各 种 复 杂 的 运 算 程 序 , 有 较 多 的 随 机存 储 单 元 , 以 存 放 输 入 程 序 和 数 据 。1.2 设计任务利用 C#程序设计编写一个计算器程序,可以进行简单的加、减、乘、除运算,可以实现普通计算器的功能,对于高级计算器的功能可以基本实现,实现对三角函数,对数等高级运算的功能,编写科学计算器。1.3 功能设计本计算器功能为实现数据的录入、处理、存储和输出。可进行加、减、乘、除、开放、百分数、倒数等简单算数计
5、算,还可以用于进行不同进制数的转换。统计计算可计算一系列数据的和,平均值等。科学计算可进行函数、对数运算,以及阶乘、幂运算等。数制的抓换可进行十进制、二进制、八进制、十六进制整数的相互转换。沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计1第二章 C#语言程序设计2.1 主要界面截图如图 1 所示为科学计算器主界面,在此界面上可以进行任何你想进行的运算。这个计算器界面主要由各种功能键(比如数字键、运算符键、回删键和整体删除键) ,一个文本框和一个菜单键组成,如下图所示。图 1 科学计算器界面如图 2 所示为科学计算器运算界面,点击一下 后在文本狂中输出了 的值,如下图所示。以此为例,可
6、以进行各种运算。沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计2图 2 科学计算器运算界面如图 3 所示为在科学计算器界面左上角点击机型转换中的普通型后转换成的普通计算器界面,这个菜单键可以实现科学计算器与普通计算器之间的转换,如下图所示。沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计3图 3 科学计算器界面转换为普通计算器界面2.3 主要功能程序代码数字 0 到 9 功能的设计private void button1_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + “1“;Op1 = Sys
7、tem.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 but
8、ton17_Click(object sender, EventArgs e)Convert.ToDouble(Op1);textBox1.Text = System.Convert.ToString(Math.Sin(Op1 * Math.PI / 180);2.4 整体程序代码using System;沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计4using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq
9、;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication11public partial class Form1 : Formprivate string Op;private double Op1;private double Op2;private double result;public Form1()InitializeComponent();private void button10_Click(object sender, EventArgs e)textBox1.Text = t
10、extBox1.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 = Syste
11、m.Convert.ToDouble(textBox1.Text);private void button3_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + “3“;Op1 = System.Convert.ToDouble(textBox1.Text);沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计5private void button4_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + “4“;Op1 = System
12、.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.Tex
13、t);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(
14、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 = “;沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计6private void button12_Click(object sender, EventArgs e)Op = “-“;Op2 = O
15、p1;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;b
16、reak;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)沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计7n = n * Op2;m+;result = n;break;textBox1.Text = System.Convert.ToString(result);private void button16_Click(o
17、bject 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
18、);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;沈阳航空航天大学课程设计说明书 第
19、二章 C#语言程序设计8i = 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 *
20、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 sende
21、r, EventArgs e)Form2 stu = new Form2();this.Hide();沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计9stu.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, EventAr
22、gs 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
23、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;沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计10第三章 总结经过这一段时间的课程设计,使我对Visual C#编程有了更
24、深一层的了解。经过编程与不断调试,尽管依然不是非常完善,但努力终于有了成果。整个设计的过程是一个不断学习的过程,在运用旧知识的同时也学到了不少新知识,给自己大脑充电的同时也填补了一些相关知识方面的空白。整个设计的过程中,不仅仅只是经历了成功与失败带来的启迪,通过这次课程设计,掌握到了应该掌握住的知识,也体会到了生活中应该体会到的东西,锻炼了自己。通过这次课程设计,本人在很多方面都有所提高,综合运用本专业所学课程的理论与实际结合。是我们迈向社会,从事职业工作前的一个必不可少的过程。“千里之行始于足下” ,通过这次课程设计,我深深地体会到这句千古名言的真正含义,我今天认真地进行课程设计,学会脚踏实地地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。此次课程设计,通过自己的努力和各位同学的帮助,初步完成。在此,特别对提供C#基础技术支持的*老师表示敬意,特此感谢!沈阳航空航天大学课程设计说明书 第二章 C#语言程序设计11参考文献1. 郑阿奇,梁敬东,C#程序设计教程 M ,北京:机械工程出版社,2007.3。2. 王小科,吕双,C#从入门到精通 M ,北京:清华大学出版社,2007.3。