




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生课程设计(实践)任务书、设计报告(C卄语言程序设计)题目 计算器的设计学生姓名 文杨滔—指导教师 刘雄鹰—学院 机电工程学院专业班级 车辆一班学生学号计算机基础教学实验中心2016年6月30日计算器的设计摘要:为提高学生所学C++语言程序设计基础综合运用、设计、编程及动手能力,使学生能够在已学的基础上自学地提高扩展自我知识的技能,掌握自我表达、书写组织和总结。特要求用MicrosoftVisualStudio2010完成CLR窗体应用程序。自己选择一个计算窗口应用程序。完成系统需求分析,即功能和数据需求,并进行系统设计即功能模块设计、界面设计以及编程。系统调试完后编写设计报告。关键词:MicrosoftVisualStudio2010CLR窗体应用程序计算窗口1计算器系统开发设计思想根据课程设计的要求,我们的目的是用MicrosoftVisualStudio2010完成CLR窗体应用程序,设计出一个计算或绘图类窗口应用程序,要求:功能:用窗体及控件进行数据的输入和输出输入方便和可靠。结果正确。界面设计使用方便操作简单美观通过本课程设计,提高我们所学C++语言程序设计基础综合运用、设计、编程及动手能力,能够在已学的基础上自学地提高扩展自我知识的技能,掌握自我表达、书写组织和总结。初步培养通过面向对象的思想解决问题的能力,熟悉软件开发过程,增强对相关专业知识的感性认识,掌握基本软件开发技能,提高应用所学知识在实践中发现问题、分析问题和解决问题的能力。2计算器系统功能及系统设计介绍使用VisualStudio可以制作出很多软件,今天我使用VisualStudio制止小型计算器,制作成功后可以把自己制作计算器放在桌面上供自己使用;更可以根据自己的需求制作各种各样的计算器。我今天制作的是简单的计算器,复杂的可以在简单的基础上开发。我选择的题目是设计一个科学计算器(包括三角函数、指数函数等等基本函数计算)的窗体应用程序。•系统设计过程:a)创建项目:在MicrosoftVisualStudio2010C#中,建立一个新工程,创建一个新的对话框。b)计算机界面设计:向Forml中添加一个textbox和21个button按钮;修改button按钮的text属性,如图所示:数字键及小数点代码设计:privatevoidbutton1_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"1";}privatevoidbutton2_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"2";{textBox1.Text=textBox1.Text+"3";}privatevoidbutton4_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"4";}privatevoidbutton5_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"5";}privatevoidbutton6_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"6";}privatevoidbutton7_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"7";}privatevoidbutton8_Click(objectsender,EventArgse)textBox1.Text=textBox1.Text+"8";}privatevoidbutton9_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"9";}privatevoidbutton10_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+"0";}privatevoidbutton11_Click(objectsender,EventArgse){textBox1.Text=textBox1.Text+".";}加减乘除算法的实现:“+”将控件名为buttonl2更名为“+”,并输入以下程序:privatevoidbuttonl2_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}“-”将控件名为buttonl3更名为“-”,并输入以下程序:{Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}“*”将控件名为buttonl4更名为“x”,并输入以下程序:privatevoidbutton14_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}“/”将控件名为buttonl5更名为“/”,并输入以下程序:privatevoidbuttonl5_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text}三角函数等基本初等函数算法的实现:“sinx”将控件名为buttonl6更名为“sin”,并输入以下程序:privatevoidbutton16_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;“cosx”将控件名为buttonl7更名为“cos”,并输入以下程序:privatevoidbutton17_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}“tanx”将控件名为buttonl8更名为“tan”,并输入以下程序:privatevoidbutton18_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text;}“lgx”将控件名为buttonl9更名为“lg”,并输入以下程序:privatevoidbutton19_Click(objectsender,EventArgse){Buttonbtn=(Button)sender;textBox1.Text=textBox1.Text+btn.Text}显示结果的算法实现将控件名为button20更名为“二”,并输入以下程序:{try{doubled_result;strings_txt=textBox1.Text;intspace=s_txt.IndexOf('');strings1=s_txt.Substring(0,space);charoperation=Convert.ToChar(s_txt.Substring((space+1),1));strings2=s_txt.Substring(space+3);doublearg1=Convert.ToDouble(s1);doublearg2=Convert.ToDouble(s2);switch(operation){?I?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("错误“);thrownewApplicationException();}else{d_result=arg1/arg2;}break;default:thrownewApplicationException();}textBox1.Text=d_result.ToString();}catch{doubled;doublepi=Math.PI;strings_txt=textBox1.Text;intspace=s_txt.IndexOf('',1);charoperationConvert.ToChar(s_txt.Substring((0),1));strings2=s_txt.Substring(space+1);doublearg2=Convert.ToDouble(s2);doublea=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;?Jcase't':d=System.Math.Tan(a);textBox1.Text=d.ToString();break;case'l':d=System.Math.Log10(arg2);;textBox1.Text=d.ToString();break;}}清除的算法实现将控件名为button21更名为“del”,并输入以下程序:privatevoidbutton21_Click(objectsender,EventArgse){textBox1.Text="";}调试与运行:3.计算器系统开发的体会我是一个平时不怎么玩电脑的人,对编程一窍不知,在刚开始做的时候,对于窗体应用程序这方面的操作是丝毫不懂,后来听老师讲课,以及自己在实践书上找到相关的知识,才渐渐的知道做简易计算器的大概步骤,首先打开MicrosoftVisualStudio2010,把语言配置成C#.net。创建出一个Windows窗体应用程序。然后再自动生成的Forml面板上面拖拽出一个textbox空间,接着拖拽出相应的按钮控件。每一个控件都要添加事件。textbox控件的单击事件可以设置为 textBoxl.Text二"";即一旦点击输入框,输入框的文本就自动置为“”(没有任何内容),其中textbox1是textbox控件的名字,可以在属性框里面设定。接下来对按钮1,2,3,4,5,6,7,8,9,0,.,*,+,-,/,等符号添加事件。每个按钮都要添加事件,但是可以是同一个事件。比如为button1添加privatevoidbutton1_Click(objectsender,EventArgse)事件后,接着对其余的控件添加事件,点开事件的下拉框,选择button1_Click事件,由于好多按钮的单击事件都相似,所以只在一个事件函数里面处理即可。虽然百度来的资料看似简单,但当时比较急于求成,所以一连做了两个工程文件都失败了,后来才渐渐放下浮躁的心,去查资料,问老师,咨询朋友,找代码,创新思路。所以,在经历几次失败后,在朋友的提醒下,渐渐地,我知道了用C#编写科学计算器的程序更加简单明白,然后我开始寻找C#的代码,研究各个代码的含义,try・・・catch、indexof、substring等的用法,基本初等函数的用法(d=Math.Cos(f)),编写自己的计算器程序代码。我的计算器并没有什么特别的特点,但是在基础功能实现了的情况下,我尽可能的实现一些我会做的科学运算,来提高这个计算器的价值。在初期的时候,会因为按钮问题而出现无法写入的错误,因为数字类型不统一而无法实现计算功能,但是根据所给的错误一个一个的查找,并删除多余的按钮,强制转换数字类型,才得到了解决,在这个过程中我也明白了程序设计的严谨性。在整个计算器程序设计中,我掌握了MicrosoftVisualStudio2010的用法,学会了CLR窗体应用程序代码及窗体的设计,对于之前学习的C++程序设计理解更加深入,再加上搜索,我得到了很多的关于C#的用法,深入学习了C#的字符串、数组的使用,总之的确是获益匪浅。虽然我设计的计算器功能上并不全,还存在着一些问题,但是在这个实践过程中,我的思考,动手能力得到了充分的利用,更加明白了要创新思路,这也是实践的目的。通过实践加强对程序设计语言课程知识点的理解和掌握,培养对课程知识综合运用能力、实际分析问题能力及编程能力,养成良好的习惯。通过实践能进一步领会程序设计的特点和应用,提高运用C++语言以及面向对象知识解决实际问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 26879-2025粮油储藏平房仓隔热技术规范
- 劳动合同参考模板
- 优化保奖服务合作合同书2025
- 12 我们小点儿声 第一课时(教学设计)-2024-2025学年统编版道德与法治二年级上册
- 课程计划和教学计划
- 标准电工合同模板大全
- 市政道路工程合同范本
- 有限责任公司组建合同:出资与权益分配
- 7 扇形统计图 第二课时(教学设计)-2024-2025学年六年级上册数学人教版
- 采购合同协议书合同范本
- 2023年6月新高考天津卷英语试题真题及答案解析(精校打印版)
- 粉尘爆炸风险评估记录-危险源辨识与评价表
- 幼儿园科学课件:《大肚子妈妈》
- 中国商贸文化 货币简史
- 高中校本课程-网络营销概述教学设计学情分析教材分析课后反思
- 2023年司法鉴定程序通则
- 2023年高中音乐课件阳关三叠(琴歌)
- 胸腔闭式引流护理-中华护理学会团体标准
- 公司资产情况说明范文百度
- 医疗器械中有害残留物检验技术
- 2015-2022年大庆医学高等专科学校高职单招语文/数学/英语笔试参考题库含答案解析
评论
0/150
提交评论