计算器的设计与实现(C)_第1页
计算器的设计与实现(C)_第2页
计算器的设计与实现(C)_第3页
计算器的设计与实现(C)_第4页
计算器的设计与实现(C)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实现用户可以通过鼠标或键盘输入需要计算的数据,进行加、减、乘、除、开方、乘方、 sin、cos、tan、log、ln 等运算的单步运算,及多步计算的功能;数据可以缓存,并且可以调 用,使当前窗口数据与缓存数据相加后再存入缓存数据。 C#课程设计说明书 计算器的设计与实现计算器的设计与实现 摘摘 要要 由于大数值计算的复杂性和三角函数及对数的不可口、笔算性,所以用到 C# 程序编写一个计算器程序使其计算方便,只需输入所求数与运算符号即可得到得 数,主要用到将双精度类型强制转化为字符串类型,赋值法等算法,将公式运算 与模块结合,有效地方便了运算。 关键词关键词 计算器,运算,类型转化 目录目录 第

2、一章第一章 引言引言 .3 3 1.1 研究背景.3 1.2 设计任务.3 1.3 功能设计.3 第二章第二章 C#C#语言程序设计语言程序设计 .4 4 2.1 主要界面截图.4 2.2 主要功能程序代码.6 2.3 整体程序代码.6 第三章第三章 总结总结 .1313 参考文献参考文献 .1414 第一章第一章 引言引言 1.1 研究背景研究背景 计算器(calculator;counter)一般是指 “电子计算器 ” ,该名词由日本传 入中国。计算器是能进行数学运算的手持机器,拥有集成电路芯片,但结构简 单,比现代电脑结构简单的多,可以说是第一代的电子计算机,且功能也较弱, 但较为方便与

3、廉价,可广泛应用于商业交易中,是必备的办公用品之一。计算 器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备 及电子配件通过人工或机器设备组成。低档计算器的运算器、控制器由数字逻 辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。 高档计算器由微处理器和只读存储器实现各种复杂的运算程序,有较多的随机 存储单元,以存放输入程序和数据。 1.21.2 设计任务设计任务 利用 C#程序设计编写一个计算器程序,可以进行简单的加、减、乘、除运算, 可以实现普通计算器的功能,对于高级计算器的功能可以基本实现,实现对三角 函数,对数等高级运算的功能,编写科学计算器。 1

4、.3 功能设计功能设计 本计算器功能为实现数据的录入、处理、存储和输出。可进行加、减、乘、 除、开放、百分数、倒数等简单算数计算,还可以用于进行不同进制数的转换。 统计计算可计算一系列数据的和,平均值等。科学计算可进行函数、对数运算, 以及阶乘、幂运算等。数制的抓换可进行十进制、二进制、八进制、十六进制整 数的相互转换。 第二章第二章 C#语言程序设计语言程序设计 2.12.1 主要界面截图主要界面截图 如图 1 所示为科学计算器主界面,在此界面上可以进行任何你想进行的运算。 这个计算器界面主要由各种功能键(比如数字键、运算符键、回删键和整体删除 键) ,一个文本框和一个菜单键组成,如下图所示

5、。 图 1 科学计算器界面 如图 2 所示为科学计算器运算界面,点击一下 后在文本狂中输出了 的 值,如下图所示。以此为例,可以进行各种运算。 图 2 科学计算器运算界面 如图 3 所示为在科学计算器界面左上角点击机型转换中的普通型后转换成的 普通计算器界面,这个菜单键可以实现科学计算器与普通计算器之间的转换,如 下图所示。 图 3 科学计算器界面转换为普通计算器界面 2.3 主要功能程序代码主要功能程序代码 数字 0 到 9 功能的设计 private void button1_Click(object sender, EventArgs e) textBox1.Text = textBox

6、1.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 =

7、; 三角函数功能的设计 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 System.ComponentModel; using System.Data; using System.Drawing; usi

8、ng 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, Even

9、tArgs 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 = tex

10、tBox1.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

11、.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.T

12、ext); 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_C

13、lick(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 = ;

14、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 -: res

15、ult = 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) textBox

16、1.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.

17、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

18、; 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(

19、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 = ne

20、w 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.

21、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 = textB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论