




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成都理工大学 C#C#计算器计算器 课课 程程 设设 计计 报报告告 (计算机科学与技术学院)(计算机科学与技术学院) 2013-2014 学年度第二学期 题目: 计算器 班级: XX 姓名: XXX 指导教师: XXX i 目 录 1.1.需求分析需求分析.1 1.1 计算器应用软件的功能分析(二级标题,四号黑体).1 1.2 计算器软件的功能图.1 2.2.界面设计界面设计.1 3.3.功能实现功能实现.3 3.1 计算数字现实的功能代码.3 3.2 小数点设置的功能代码.3 3.3 连续运算的功能代码.3 3.4 实现键盘控制的功能代码.4 3.5 删除的功能代码.5 4.4.设计总结设计总结.5 参考文献参考文献 .6 1 计算器的开发与应用 摘要:计算器的产生和发展是建立在电子计算机基础之上的,现代社会很 需要一个健全、高效率的计算器。为了提高自己的实践能力和将来开发一个更 实用更全能更智能的计算器,以设计与实现计算器为课题。此次设计的计算器 应用软件从 visual studio 2012 编程环境中开发,是一个简单的窗体应用程序, 实现简单的计算器功能。以微软自带的计算器为模板,设计了简单易懂的计算 器。这款计算器不仅实现了简单的四则运算的功能,还能连续运算,实现小键 盘的操作,光标的转移。虽然这个简单的计算器只能实现这些功能,但是具有 简洁的图文外观,即时准确的获得所需要要计算的结果,充分降低了数字计算 器的难度和所需要的时间,对人们生活和学习具有有很大的帮助。 关键词:计算器;功能 ;界面;窗口;事件。 1.需求分析 通过对微软附件计算器软件进行调研、分析,研究,使用。我们了解到了 作为一个计算器所应该有的一些简单功能和界面的排版,我们知道了怎样使编 写的计算器程序向微软附件计算器靠拢。 1.1 计算器应用软件的功能分析 计算器软件的主要功能是: 1)可以显示计算数字 2)可以进行加减乘除四则运算 3)可以实现键盘操控的功能 4)可以进行清零运算 5)可以进行退格键运算 6)可以进行连续计算 1.2 计算器软件的功能图 根据以上需求分析,计算器软件功能如图 1-1 所示。 2.界面设计 计算器主界面 显示计算数字 连续计算功能 图 1-1 计算器功能图 进行四则运算 键盘操控 清零运算 退格键功能 2 计算器软件界面设计采用一个窗口(form) 、按钮控件和一个文本框控件组 成,完成如下图 2-1 的计算器界面 界面中控件的属性设置如下表 2-1 表 2-1 属性设置 控件名属性值 MaximizeboxFALSE Form1 事件 Keypress Button1Text1 Button1Text1 Button2Text2 Button3Text3 Button4Text4 Button5Text5 Button6Text6 Button7Text7 Button8Text8 Button9Text9 Button10TextC Button11Text0 Button12Text. Button13Text+ Button14Text- Button15Text* Button16Text/ Button17Text= Button18Text ReadonlyTure TextBox1 TextAlignRight 3.功能实现 要实现需求分析中软件各功能,需要设计一些事件的功能代码。利用所需 的代码,编写一些计算器的功能,使计算器更加灵活易懂。 3.1 计算数字现实的功能代码 以数字“1”为例:(其余的数字同样如此) 当文本框显示为“0” ,或 flag(按过运算符号按钮后 flag=1)后数字会替 换当前数字,否则追加 private void button1_Click(object sender, EventArgs e) if (textBox1.Text = 0 | flag = 1) /替换 textBox1.Text = 1; 3 flag = 0; else /追加 textBox1.Text = textBox1.Text + 1; button17.Focus(); /焦距定于等号键,可使 enter 键用于等号运 3.2 小数点设置的功能代码 文本框里最多显示一个小数点,利用 IndexOf 类来查找代码中小数点出现 的次数,且当文本框显示为“0” ,或 flag(按过运算符号按钮后 flag=1)后会 用“0.”替换当前数字,否则追加 private void button12_Click(object sender, EventArgs e) if (textBox1.Text.IndexOf(.) = -1) /得到的是这个字符 串中字符“.”第一次出现的位置,如果没出现的话,得到的是-1,而且字符串的 第一个位置是0。 if (textBox1.Text = 0 | flag = 1) /替换 textBox1.Text = 0.; flag = 0; else textBox1.Text = textBox1.Text + .; /追加 button17.Focus(); 3.3 连续运算的功能代码 以“+”号键为例:(同样如此,-,*,,只需改变运算符 ysf 的取值) 用 yscs(运算次数)变量判断运算次数,次数为一次时,保存变量。次数为 两次以上时,保存变量之后执行等号运算,并且连续运算,继续保存为第一个 数,继续进行四则运算。 private void button13_Click(object sender, EventArgs e) /加法运算 flag = 1; dhcs = 0; /(等号次数) yscs+; / (运算次数) if (yscs = 1) num1 = Convert.ToDouble(textBox1.Text);/保存输入进去 的第一个数 if (yscs = 2) num2 = Convert.ToDouble(textBox1.Text);/保存第二次运 算符前的那个数 switch (ysf) 4 case 1: textBox1.Text = (num1 + num2).ToString(); break; case 2: textBox1.Text = (num1 - num2).ToString(); break; case 3: textBox1.Text = (num1 * num2).ToString(); break; case 4: if (num2 = 0) MessageBox.Show(分母不能为“0”); break; else textBox1.Text = (num1 / num2).ToString(); break; ysf = 1; /(运算符) num1 = Convert.ToDouble(textBox1.Text);/把第一个数与第二 个数求和在保存到第一个数 button17.Focus(); /(聚焦到等号按钮) 3.4 实现键盘控制的功能代码 Kepress 事件按钮,功能是锁定键盘上,当你按下键盘上的按钮时就会被 追踪记录。键盘控制事件 keypress 绑定在 form 上,keypreview 必须为 TRUE。 将键盘敲击的 char 型转为 string 型,使用 switch 语句判断哪个键控制哪个按 钮 private void Form1_Load(object sender, EventArgs e) this.KeyPreview = true;/此语句可使keypress语句在窗口使用 textBox1.Text = 0; /初始化文本框 button13.Focus(); /转移光标 private void Form1_KeyPress(object sender, KeyPressEventArgs e) / 锁定到键盘上的数字和运算符 switch (e.KeyChar.ToString() case 1: button1_Click(sender, e); break; case 2: button2_Click(sender, e); break; case 3: button3_Click(sender, e); break; case 4: button4_Click(sender, e); break; case 5: button5_Click(sender, e); break; case 6: button6_Click(sender, e); break; case 7: button7_Click(sender, e); break; case 8: button8_Click(sender, e); break; case 9: button9_Click(sender, e); break; case 0: button11_Click(sender, e); break; case .: button12_Click(sender, e); break; case +: button13_Click(sender, e); break; case -: button14_Click(sender, e); break; case *: button15_Click(sender, e); break; 5 case /: button16_Click(sender, e); break; case =: button17_Click(sender, e); break; case b: button18_Click(sender, e); break; /退格键 case r: button17_Click(sender, e); break; /回车键 if (e.KeyChar = (char)Keys.Escape) button10_Click(sender, e); /键盘上的ESC清零键 3.5 删除的功能代码 使用退格键功能每次字符长度就减少一个,当字符串长度减为 0 之后,文 本框里显示为初始值 0。 private void button18_Click(object sender, EventArgs e) /退格 string old = textBox1.Text; textBox1.Text = old.Substring(0, old.Length - 1);/字符串 长度每次减一个 if (Convert.ToDouble(textBox1.Text.Length - 1) 0)/删完 最后一个数字文本框初始化 textBox1.Text = 0; button17.Focus(); 4.设计总结 在这次设计的过程中,我体会到要想开发一个软件,不仅需要相当的专业技 术知识,还要有严谨缜密的思维能力。只有思想上清晰了,编程才有意义,否 则就是白费力气。同时还要善于捕获细小的方面,因为那往往是这个程序的致 命因素。这次设计培养了我的细心和耐性,更树立了一种科学的态度。这对我 以后的 工作和学习也有很大的帮助和指导作用。同时也深刻认识到了本身不存在很多 不足之处,还需要不断地学习来充实完善自己,只有这样才能学有所成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025石油开采租赁合同
- 2025保健品加盟店合作合同书模板
- 2025租赁合同标准格式
- 小学生传染病预防教育
- 人教版小学一年级下册数学第八单元测试题
- 肺快速康复护理
- catchingcrabs课文总结模版
- 三晋卓越联盟·2024-2025学年高三5月质量检测卷(25-X-635C)语文(B)
- 浙江省宁波市镇海中学2025年5月第二次模拟考试 数学试卷+答案
- 2025年出纳个人上半年工作总结模版
- 二十届中央纪律检查委员会四次会测试题及参考答案
- 六年级下册科学复习心得分享会
- 婴幼儿喂养的正确方法
- 重大版小学英语六年级下册期中试卷(含答案含听力原文无听力音频)
- 工地试验室安全培训内容
- 手卫生课件(完整版)
- 中国成人重症患者镇痛管理专家共识2023解读课件
- DB61-T+1801-2023水工隧洞外水压力确定与应对技术规范
- 儿童糖尿病酮症酸中毒的护理治疗措施
- 会计事务所退休会计师聘用合同
- 《塑料材质食品相关产品质量安全风险管控清单》
评论
0/150
提交评论