欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    计算器课程设计计算器仿真程序设计.doc

    • 资源ID:2391186       资源大小:1.40MB        全文页数:26页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算器课程设计计算器仿真程序设计.doc

    课 程 设 计 说 明 书设计题目: 计算器仿真程序设计指导教师: 魏明军 院 系: 信息工程学院 学生姓名: 黄勇 学 号: 201114600120 专业班级: 11计算机一班 2012年06月25日目 录一、系统概述及设计思想11 系统概述12 系统开发基本目标13 系统开发设计思想1二、关键技术11 #region12 异常处理13 if-else24 MessageBox.Show2三、系统功能设计21 计算器操作界面32 查看菜单界面53 编辑菜单界面64帮助菜单界面7四、各功能代码设计81 计算器操作界面窗体8五、使用说明23六、设计体会23七、参考文献23一、系统概述及设计思想1 系统概述利用该仿真计算器能够进行一些简单的计算,只利用windows窗体创建一个窗体可能与设计窗体的美观性相冲突,所以计算器的许多科学功能无法实现。但是,这些缺点可以通过建立一个次窗体实现这些功能按键,通过添加一些按钮,再调用一些系统提供的数学函数,就可以完善该计算器了,基于这是本报告人的第一个设计程序,就没有实现这些功能按键了。希望大家见谅!2 系统开发基本目标该系统包括以下功能:(1)查看:标准、退出。(2)编辑操作:复制、剪切、粘贴、撤销、全选。(3)软件的开发信息。3 系统开发设计思想(1)采用学校现有的软件和硬件环境以及设计要求开发系统。(2)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充,维护。(3)程序设计符合面向对象的思想和原则。(4)要有良好的程序风格(类、方法及变量等的命名要符合规范;类、方法及字段要有注释;程序有适当缩进)(5)采用文件对数据进行存储。(6)人机界面美观,操作方便、实用。二、关键技术1.#region通过在目标代码的前加上#region,在目标代码之后加上#endregion,可以很好地分类各代码使各功能代码清楚易懂,使程序设计更具有层次。2.异常处理利用try-catch结构捕获异常,及时的修改程序,完善程序,减少异常的出现,保证程序正常运行。3. if-else 结构语句利用if-else 结构语句,让程序正确执行各代码,从而达到实现各功能的目的,使程序更具条理性。 4. MessageBox.ShowMessageBox.Show 让程序更好地实现人机交互,醒目,可以减轻人的视觉疲劳,让程序更具趣味性。三、系统功能设计1.计算器操作界面该窗体完成大部分的系统功能,包括复制、剪切、粘贴、全选、撤消和退出等功能。设计如下:向主窗体中添加一个MainMenu控件、一个Timer控件、,添加MainMenu的子菜单(“查看”菜单包括“标准”和“退出”子菜单,“编辑”菜单包括“复制”、“粘贴”、“剪切”、“撤消”和“全选”子菜单,“帮助”菜单包括“关于计算器”子菜单),设置各个控件的属性如表1所示,设置完毕后的主程序界面如图1所示。图1计算器系统主界面表1 控件对象属性列表对象属性设置值控件功能calculatorText黄勇专用计算器窗口标题栏的显式内容calculatorStartPositionCenterScreen运行程序时,使窗体在屏幕中间生成resultTextBoxText0初始化后,该框内显示的值为0resultTextBoxMultilineTrue可以窗体下拉至适宜位置calculatorIcon为计算器添加图标calculatorForecolor可以根据个人喜好,选择字体颜色calculatorFont可以根据个人喜好,设置字体颜色calculatorbackcolor可以根据个人喜好,设置窗体背景颜色lableText在特定的位置显示想要显示的内容ButtonText在Button上显示按键的功能图2计算器系统的“查看”菜单图3计算器系统的“编辑”菜单图4计算器系统“帮助”菜单四、各功能代码设计1 主窗体代码实现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;using System.IO;namespace calculator public partial class calculator : Form public string number; public double number1, number2; public double a; public calculator() InitializeComponent(); /初始化 private void calculator_Load(object sender, EventArgs e) this.resultTextBox.Text = "0" /退出 private void exitXToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); #region 数字键 0 - 9 private void button25_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button25.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 0); private void button21_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button21.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 1); private void button22_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button22.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 2); private void button23_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button23.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 3); private void button16_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button16.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 4); private void button17_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button17.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 5); private void button18_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button18.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 6); private void button11_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button11.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 7); private void button12_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button12.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 8); private void button13_Click(object sender, EventArgs e) if (this.resultTextBox.Text.IndexOf(".") != -1) this.resultTextBox.Text = this.resultTextBox.Text + this.button13.Text; else this.resultTextBox.Text = Convert.ToString(Convert.ToDouble(this.resultTextBox.Text) * 10 + 9); #endregion /小数点 private void button26_Click(object sender, EventArgs e) /小数点情况处理,只能有一个小数点 if (this.resultTextBox.Text.IndexOf(".") != -1) System.Windows.Forms.MessageBox.Show(this, "操作错误,请正确输入!"); else this.resultTextBox.Text = this.resultTextBox.Text + "." /加法运算 private void button27_Click(object sender, EventArgs e) a = Convert.ToDouble(this.resultTextBox.Text); this.resultTextBox.Text = "0" this.textBox2.Clear(); this.textBox2.Text = this.button27.Text; /减法运算 private void button24_Click(object sender, EventArgs e) a = Convert.ToDouble(this.resultTextBox.Text); this.resultTextBox.Text = "0" this.textBox2.Clear(); this.textBox2.Text = this.button24.Text; /乘法运算 private void button19_Click(object sender, EventArgs e) a = Convert.ToDouble(this.resultTextBox.Text); this.resultTextBox.Text = "0" this.textBox2.Clear(); this.textBox2.Text = this.button19.Text; /除法运算 private void button14_Click(object sender, EventArgs e) a = Convert.ToDouble(this.resultTextBox.Text); this.resultTextBox.Text = "0" this.textBox2.Clear(); this.textBox2.Text = this.button14.Text; /等号 private void button28_Click(object sender, EventArgs e) try double b, c; if (this.textBox2.Text.Equals("+") b = Convert.ToDouble(this.resultTextBox.Text); c = a + b; this.resultTextBox.Text = Convert.ToString(c); if (this.textBox2.Text.Equals("-") b = Convert.ToDouble(this.resultTextBox.Text); c = a - b; this.resultTextBox.Text = Convert.ToString(c); if (this.textBox2.Text.Equals("*") b = Convert.ToDouble(this.resultTextBox.Text); c = a * b; this.resultTextBox.Text = Convert.ToString(c); if (this.textBox2.Text.Equals("/") b = Convert.ToDouble(this.resultTextBox.Text); c = a / b; this.resultTextBox.Text = Convert.ToString(c); catch (Exception ex) Console.WriteLine("输入错误:" + ex.Message); private void timer1_Tick(object sender, EventArgs e) label5.Text = DateTime.Now.ToString(); /复制 private void copyToolStripMenuItem_Click(object sender, EventArgs e) resultTextBox.Copy(); /粘贴 private void pasteToolStripMenuItem_Click(object sender, EventArgs e) resultTextBox.Paste(); private void button6_Click(object sender, EventArgs e) if (resultTextBox.Text.Length > 1) resultTextBox.Text = resultTextBox.Text.Substring(0, resultTextBox.Text.Length - 1); else if (resultTextBox.Text.Length = 1) resultTextBox.Text = "0" /清空 private void button8_Click(object sender, EventArgs e) resultTextBox.Text = "" this.resultTextBox.Text = "0" /根式运算 private void button10_Click(object sender, EventArgs e) try number1 = double.Parse(resultTextBox.Text); resultTextBox.Text = Math.Sqrt(number1).ToString(); catch (Exception ex) Console.WriteLine("输入错误:" + ex.Message); /百分号 private void button15_Click(object sender, EventArgs e) try number = Convert.ToString(Convert.ToDouble(resultTextBox.Text)*100); resultTextBox.Text = number+"%" number = "" catch (Exception ex) Console.WriteLine("输入错误:" + ex.Message); /倒数 private void button20_Click(object sender, EventArgs e) try number = Convert.ToString(1 / Convert.ToDouble(resultTextBox.Text); resultTextBox.Text = number; number = "" catch (Exception ex) Console.WriteLine("输入错误:" + ex.Message); /撤消 private void cancelCToolStripMenuItem_Click(object sender, EventArgs e) resultTextBox.Undo(); /全选 private void checkallToolStripMenuItem_Click(object sender, EventArgs e) resultTextBox.SelectAll(); /复位 private void button7_Click(object sender, EventArgs e) this.resultTextBox.Clear(); this.textBox2.Clear(); this.resultTextBox.Text = "0" private void button3_Click(object sender, EventArgs e) Convert.ToDouble(this.resultTextBox.Text); this.resultTextBox.Text =Convert.ToString( -Convert.ToDouble(this.resultTextBox.Text); private void cutToolStripMenuItem_Click(object sender, EventArgs e) resultTextBox.Cut(); private void aboutCalculateToolStripMenuItem_Click(object sender, EventArgs e) MessageBox.Show(this, "黄勇专用计算器" + Environment.NewLine + Environment.NewLine + "河北联合大学信息工程学院" + Environment.NewLine + Environment.NewLine + "11计算机(1)班" + Environment.NewLine + Environment.NewLine + "黄勇"+ Environment.NewLine + Environment.NewLine + "学号:201114600120" + Environment.NewLine + Environment.NewLine + "QQ:1016772777 or 2859941641" + Environment.NewLine + Environment.NewLine + "邮箱:huangyong_2011" + Environment.NewLine + Environment.NewLine + "Tel:15033156925"+Environment.NewLine + Environment.NewLine + "vs1.0版"+ Environment.NewLine + Environment.NewLine + "2012年6月25日","关于计算器"); 五、 使用说明该计算器能实现加减乘除、开根号、倒数、百分数和正负数的运算实现,加减乘除与一般计算器没有太大差别,比如说,5 * 4 = 20,操作方法是先按数字键5,再按*,然后按4,最后按=,resultTextBox中显示的数字就是计算结果。开根号/倒数:先按一个数,再按一下开根号键或倒数键,resultTextBox中显示的数字就是计算结果。百分数:要计算一个数所占的比例,例如4/5,先计算4/5的结果,再按一下%键,其结果为显示为80%。正负数:就是先按一个正数,再按一下符号键,就变成正数的相反数,再按一下,又变为原来的那个数,其计算方法与其上一样。其中“”表示回退符,“C”表示清空当前resultTextBox中的字符,“CE”键表示系统复位。六、 设计体会通过仿真计算器编程,使我认识到,平时的基础必须打好,才能在编程中随即应变并拥有好的创作理念和想法,而且锻炼了自己的上网找资料的能力,还有和同学沟通交流的能力,并相互学习,这次编程实战使我的C#基础知识得到了应用,并促进了知识点的贯通,在C#编程上有了很大的提高。但是,通过这次编程也是我认识到,上课能听懂老师讲课,不代表自己就会,并且老师讲的用的时候又不会,这说明,必须在课下多练习多操作,并在课上多记笔记。

    注意事项

    本文(计算器课程设计计算器仿真程序设计.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开