免费预览已结束,剩余11页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南大学本科生课程设计(实践)任务书、设计报告(C+语言程序设计)题 目计算器的设计学生姓名文杨滔指导教师刘雄鹰学 院机电工程学院专业班级车辆一班学生学号0815150104计算机基础教学实验中心2016年 6 月 30 日计算器的设计摘要:为提高学生所学C+语言程序设计基础综合运用、设计、编程及动手能力,使学生能够在已学的基础上自学地提高扩展自我知识的技能,掌握自我表达、书写组织和总结。特要求用Microsoft Visual Studio 2010完成CLR窗体应用程序。自己选择一个计算窗口应用程序。完成系统需求分析,即功能和数据需求,并进行系统设计即功能模块设计、界面设计以及编程。系统调试完后编写设计报告。关键词:Microsoft Visual Studio 2010 CLR窗体应用程序 计算窗口1计算器系统开发设计思想根据课程设计的要求,我们的目的是用Microsoft Visual Studio 2010完成CLR窗体应用程序,设计出一个计算或绘图类窗口应用程序,要求:功能:1)用窗体及控件进行数据的输入和输出2)输入方便和可靠。3)结果正确。界面设计1)使用方便2)操作简单3)美观通过本课程设计,提高我们所学C+语言程序设计基础综合运用、设计、编程及动手能力,能够在已学的基础上自学地提高扩展自我知识的技能,掌握自我表达、书写组织和总结。初步培养通过面向对象的思想解决问题的能力,熟悉软件开发过程,增强对相关专业知识的感性认识,掌握基本软件开发技能,提高应用所学知识在实践中发现问题、分析问题和解决问题的能力。2计算器系统功能及系统设计介绍使用Visual Studio可以制作出很多软件,今天我使用Visual Studio制止小型计算器,制作成功后可以把自己制作计算器放在桌面上供自己使用;更可以根据自己的需求制作各种各样的计算器。我今天制作的是简单的计算器,复杂的可以在简单的基础上开发。我选择的题目是设计一个科学计算器(包括三角函数、指数函数等等基本函数计算)的窗体应用程序。计算器的基本功能l 系统功能模块:科学计算器三角函数等基本初等函数l 系统设计过程:a) 创建项目:在Microsoft Visual Studio 2010 C#中,建立一个新工程,创建一个新的对话框。b) 计算机界面设计:1. 向Form1中添加一个textbox和21个button按钮;2. 修改button按钮的text属性,如图所示:c)数字键及小数点代码设计:private void button1_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 1;private void button2_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 2;private void button3_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 3;private void button4_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 4;private void button5_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 5;private void button6_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 6;private void button7_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 7;private void button8_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 8;private void button9_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 9;private void button10_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + 0;private void button11_Click(object sender, EventArgs e)textBox1.Text = textBox1.Text + .;d)加减乘除算法的实现:“+” 将控件名为button12更名为“+”,并输入以下程序:private void button12_Click(object sender, EventArgs e)Button btn = (Button)sender; textBox1.Text = textBox1.Text + btn.Text ; “-” 将控件名为button13更名为“-”,并输入以下程序:private void button13_Click(object sender, EventArgs e)Button btn = (Button)sender; textBox1.Text = textBox1.Text + btn.Text ; “*” 将控件名为button14更名为“x”,并输入以下程序:private void button14_Click(object sender, EventArgs e)Button btn = (Button)sender;textBox1.Text = textBox1.Text + btn.Text ; “/” 将控件名为button15更名为“/”,并输入以下程序:private void button15_Click(object sender, EventArgs e)Button btn = (Button)sender;textBox1.Text = textBox1.Text + btn.Text ; e)三角函数等基本初等函数算法的实现:“sinx” 将控件名为button16更名为“sin”,并输入以下程序:private void button16_Click(object sender, EventArgs e)Button btn = (Button)sender; textBox1.Text = textBox1.Text + btn.Text ; “cosx” 将控件名为button17更名为“cos”,并输入以下程序:private void button17_Click(object sender, EventArgs e)Button btn = (Button)sender; textBox1.Text = textBox1.Text + btn.Text ; “tanx” 将控件名为button18更名为“tan”,并输入以下程序:private void button18_Click(object sender, EventArgs e)Button btn = (Button)sender;textBox1.Text = textBox1.Text + btn.Text ; “lgx” 将控件名为button19更名为“lg”,并输入以下程序:private void button19_Click(object sender, EventArgs e)Button btn = (Button)sender;textBox1.Text = textBox1.Text + btn.Text ; f)显示结果的算法实现将控件名为button20更名为“=”,并输入以下程序:private void button20_Click(object sender, EventArgs e)trydouble d_result;string s_txt = textBox1.Text;int space= s_txt.IndexOf( );string s1 = s_txt.Substring(0, space);char operation = Convert.ToChar(s_txt.Substring(space + 1), 1);string s2 = s_txt.Substring(space + 3);double arg1 = Convert.ToDouble(s1);double arg2 = Convert.ToDouble(s2);switch (operation)case +:d_result = arg1 + arg2;break;case -:d_result = arg1 - arg2;break;case x:d_result = arg1 * arg2;break;case /:if (arg2 = 0)/MessageBox.Show(错误); throw new ApplicationException();elsed_result = arg1 / arg2;break;default:throw new ApplicationException();textBox1.Text = d_result.ToString();catchdouble d;double pi =Math .PI;string s_txt = textBox1.Text;int space = s_txt.IndexOf( ,1);char operation = Convert.ToChar(s_txt.Substring(0), 1);string s2 = s_txt.Substring(space+1);double arg2 = Convert.ToDouble(s2);double a = arg2 * pi / 180;switch (operation) case s:d = System.Math.Sin(a); textBox1.Text = d.ToString();break;case c:d = System.Math.Cos(a);textBox1.Text = d.ToString();break;case t:d = System.Math.Tan(a); textBox1.Text = d.ToString();break;case l:d = System.Math.Log10(arg2); ;textBox1.Text = d.ToString();break;g)清除的算法实现将控件名为button21更名为“del”,并输入以下程序:private void button21_Click(object sender, EventArgs e)textBox1.Text = ;h)调试与运行: 3.计算器系统开发的体会我是一个平时不怎么玩电脑的人,对编程一窍不知,在刚开始做的时候,对于窗体应用程序这方面的操作是丝毫不懂,后来听老师讲课,以及自己在实践书上找到相关的知识,才渐渐的知道做简易计算器的大概步骤,首先打开MicrosoftVisual Studio2010,把语言配置成C#.net。创建出一个Windows 窗体应用程序。然后再自动生成的Form1面板上面拖拽出一个textbox空间,接着拖拽出相应的按钮控件。每一个控件都要添加事件。textbox控件的单击事件可以设置为 textBox1.Text = ;即一旦点击输入框,输入框的文本就自动置为“”(没有任何内容),其中textbox1是textbox控件的名字,可以在属性框里面设定。接下来对按钮1,2,3,4,5,6,7,8,9,0,.,*,+,-,/,等符号添加事件。每个按钮都要添加事件,但是可以是同一个事件。比如为button1添加private void button1_Click(object sender, EventArgs e)事件后,接着对其余的控件添加事件,点开事件的下拉框,选择button1_Click事件,由于好多按钮的单击事件都相似,所以只在一个事件函数里面处理即可。虽然百度来的资料看似简单,但当时比较急于求成,所以一连做了两个工程文件都失败了,后来才渐渐放下浮躁的心,去查资料,问老师,咨询朋友,找代码,创新思路。所以,在经历几次失败后,在朋友的提醒下,渐渐地,我知道了用C#编写科学计算器的程序更加简单明白,然后我开始寻找C#的代码,研究各个代码的含义,trycatch、indexof、substring等的用法,基本初等函数的用法(d=Math.Cos(f)),编写自己的计算器程序代码。我的计算器并没有什么特别的特点,但是在基础功能实现了的情况下,我尽可能的实现一些我会做的科学运算,来提高这个计算器的价值。在初期的时候,会因为按钮问题而出现无法写入的错误,因为数字类型不统一而无法实现计算功能,但是根据所给的错误一个一个的查找,并删除多余的按钮,强制转换数字类型,才得到了解决,在这个过程中我也明白了程序设计的严谨性。在整个计算器程序设计中,我掌握了Microsoft Visual Studio 2010的用法,学会了CLR窗体应用程序代码及窗体的设计,对于之前学习的C+程序设计理解更加深入,再加上搜索,我得到了很多的关于C#的用法,深入学习了C#的字符串、数组的使用,总之的确是获益匪浅。虽然我设计的计算器功能上并不全,还存在着一些问题,但是在这个实践过程中,我的思考,动手能力得到了充分的利用,更加明白了要创新思路,这也是实践的目的。通过实践加强对程序设计语言课程知识点的理解和掌握,培养对课程知识综合运用能力、实际分析问题能力及编程能力,养成良好的习惯。通过实践能进一步领会程序设计的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财务数字化转型规划与实践
- 年终奖金策划如何做好年度激励方案安排
- 车险定损工作手册从入门到精通
- 如何在会展设计领域建立个人品牌与影响力
- 面试中识别潜在高级老年心理指导师的素质模型问题
- 机械加工与数控相关知识测试试题附答案
- 医疗护理知识多项病症及操作相关单选题试题附答案
- 模拟芯片设计岗位技术专家发展路径规划
- 资金管理计划及资金使用方案
- 健身房教练训练与安排策略
- 《基础工程教学课件》基础工程
- 《股票形态分析》课件
- 2024年消防安全知识竞赛试题库(共200题附解析)
- 农业产品检测机构资质认定流程
- 《福建省普通高校毕业生就业协议书》
- 景观规划设计(第3版)课件:居住区景观规划设计
- 2024年第一学期七年级数学期中考试数学试题卷
- 肺血栓栓塞治疗与护理
- 辽宁省大连市金普新区2024-2025学年七年级上学期期中质量检测地理试卷
- 足球运动员的心理健康训练-体育心理学家
- 消防安全教育主题班会课件
评论
0/150
提交评论