




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
X X大学本科生课程设计(实践)任务书、设计报告(C+语言程序设计)题 目计算器的设计 学生姓名指导教师学 院专业班级学生学号计算机基础教学实验中心2015年 7 月 日计算器的设计1、 计算器系统开发设计思想根据课程设计的要求,我们的目的是用Microsoft Visual Studio 2010完成CLR窗体应用程序,设计出一个计算或绘图类窗口应用程序,要求:功能:1)用窗体及控件进行数据的输入和输出2)输入方便和可靠。3)结果正确。界面设计1)使用方便2)操作简单3)美观通过本课程设计,提高我们所学C+语言程序设计基础综合运用、设计、编程及动手能力,能够在已学的基础上自学地提高扩展自我知识的技能,掌握自我表达、书写组织和总结。初步培养通过面向对象的思想解决问题的能力,熟悉软件开发过程,增强对相关专业知识的感性认识,掌握基本软件开发技能,提高应用所学知识在实践中发现问题、分析问题和解决问题的能力。2、 计算器系统功能及系统设计介绍我选择的题目是设计一个科学计算器(包括三角函数、指数函数等等基本函数计算)的窗体应用程序。计算器的基本功能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、 计算器系统开发的体会在刚开始做的时候,对于窗体应用程序这方面的操作是丝毫不懂,后来听老师讲课,以及自己在实践书上找到相关的知识,才渐渐的知道做简易计算器的大概步骤,当时比较急于求成,所以一连做了两个工程文件都失败了,后来才渐渐放下浮躁的心,去查资料,问老师,咨询朋友,找代码,创新思路。所以,在经历几次失败后,在朋友的提醒下,渐渐地,我知道了用C#编写科学计算器的程序更加简单明白,然后我开始寻找C#的代码,研究各个代码的含义,trycatch、indexof、substring等的用法,基本初等函数的用法(d=Math.Cos(f)),编写自己的计算器程序代码。我的计算器并没有什么特别的特点,但是在基础功能实现了的情况下,我尽可能的实现一些我会做的科学运算,来提高这个计算器的价值。在初期的时候,会因为按钮问题而出现无法写入的错误,因为数字类型不统一而无法实现计算功能,但是根据所给的错误一个一个的查找,并删除多余的按钮,强制转换数字类型,才得到了解决,在这个过程中我也明白了程序设计的严谨性。在整个计算器程序设计中,我掌握了Microsoft Visual Studio 2010的用法,学会了CLR窗体应用程序代码及窗体的设计,对于之前学习的C+程序设计理解更加深入,再加上搜索,我得到了很多的关于C#的用法,深入学习了C#的字符串、数组的使用,总之的确是获益匪浅。虽然我设计的计算器功能上并不全,还存在着一些问题,但是在这个实践过程中,我的思考,动手能力得到了充分的利用,更加明白了要创新思路,这也是实践的目的。通过实践加强对程序设计语言课程知识点的理解和掌握,培养对课程知识综合运用能力、实际分析问题能力及编程能力,养成良好的习惯。通过实践能进一步领会程序设计的特点和应用,提高运用C+ 语言以及面向对象知识解决实际问题的能力。通过实践掌握用C+ 语言编写面向对象的实用程序的设计方法,对面向对象方法和思想增加感性的认识;学会利用C+程序设计语言编写出一些简单的Windows实用程序,切实提高面向对象的程序设计能力;通过实践学习了一些简单C#语言,为后续的相关课程的学习打下基础。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家事业单位招聘2025中央财经大学学校办公室收发室岗招聘1人(非事业编制)笔试历年参考题库附带答案详解
- 南昌市2025江西南昌动物园招聘1人笔试历年参考题库附带答案详解
- 商品收纳培训课件
- 2025浙江舟山国家远洋渔业基地建设发展集团招聘14人笔试参考题库附带答案详解
- 2025数字重庆公司下属智算科技分公司招聘29人笔试参考题库附带答案详解
- 2025年度国家计算机网络应急技术处理协调中心省级分中心公开招聘21人笔试参考题库附带答案详解
- 2025国网湖南省电力有限公司高校毕业生招聘约390人(第二批)笔试参考题库附带答案详解
- 2025四川眉山市国有资本投资运营集团有限公司招聘50人笔试参考题库附带答案详解
- 2025内蒙古鄂尔多斯市天安公交集团招聘21人笔试参考题库附带答案详解
- 2025中远海运博鳌有限公司“启明星”等你来笔试参考题库附带答案详解
- 穴位按摩法操作评分标准
- 充电站运营管理制度(参考模板)
- 体育与健康教学设计《手倒立前滚翻》
- NISP一级考前模拟训练题库200题(含答案)
- JJG 20-2001标准玻璃量器
- 2024外研版初中英语单词表汇总(七-九年级)中考复习必背
- 《大数据平台部署与运维》课程标准(含课程思政)
- 英语中的时间表达(示范课例)
- 脊柱外科进修汇报
- 《史记》上册注音版
- 苏州大学文学院语言学纲要课程笔记
评论
0/150
提交评论