《C++语言程序设计》设计报告.docx
- 文档编号:5860318
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:11
- 大小:51.19KB
《C++语言程序设计》设计报告.docx
《《C++语言程序设计》设计报告.docx》由会员分享,可在线阅读,更多相关《《C++语言程序设计》设计报告.docx(11页珍藏版)》请在冰豆网上搜索。
《C++语言程序设计》设计报告
中南大学
本科生课程设计(实践)任务书、设计报告
(C++语言程序设计)
题目
计算器的设计
学生姓名
文杨滔
指导教师
刘雄鹰
学院
机电工程学院
专业班级
车辆一班
学生学号
0815150104
计算机基础教学实验中心
2016年6月30日
计算器的设计
摘要:
为提高学生所学C++语言程序设计基础综合运用、设计、编程及动手能力,使学生能够在已学的基础上自学地提高扩展自我知识的技能,掌握自我表达、书写组织和总结。
特要求用MicrosoftVisualStudio2010完成CLR窗体应用程序。
自己选择一个计算窗口应用程序。
完成系统需求分析,即功能和数据需求,并进行系统设计即功能模块设计、界面设计以及编程。
系统调试完后编写设计报告。
关键词:
MicrosoftVisualStudio2010CLR窗体应用程序计算窗口
1计算器系统开发设计思想
根据课程设计的要求,我们的目的是用MicrosoftVisualStudio2010完成CLR窗体应用程序,设计出一个计算或绘图类窗口应用程序,要求:
功能:
1)用窗体及控件进行数据的输入和输出
2)输入方便和可靠。
3)结果正确。
界面设计
1)使用方便
2)操作简单
3)美观
通过本课程设计,提高我们所学C++语言程序设计基础综合运用、设计、编程及动手能力,能够在已学的基础上自学地提高扩展自我知识的技能,掌握自我表达、书写组织和总结。
初步培养通过面向对象的思想解决问题的能力,熟悉软件开发过程,增强对相关专业知识的感性认识,掌握基本软件开发技能,提高应用所学知识在实践中发现问题、分析问题和解决问题的能力。
2计算器系统功能及系统设计介绍
使用VisualStudio可以制作出很多软件,今天我使用VisualStudio制止小型计算器,制作成功后可以把自己制作计算器放在桌面上供自己使用;更可以根据自己的需求制作各种各样的计算器。
我今天制作的是简单的计算器,复杂的可以在简单的基础上开发。
我选择的题目是设计一个科学计算器(包括三角函数、指数函数等等基本函数计算)的窗体应用程序。
●
系统功能模块:
●系统设计过程:
a)创建项目:
在MicrosoftVisualStudio2010C#中,建立一个新工程,创建一个新的对话框。
b)计算机界面设计:
1.向Form1中添加一个textbox和21个button按钮;
2.修改button按钮的text属性,如图所示:
c)数字键及小数点代码设计:
privatevoidbutton1_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"1";
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
textBox1.Text=textBox1.Text+"2";
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
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+".";
}
d)加减乘除算法的实现:
“+”将控件名为button12更名为“+”,并输入以下程序:
privatevoidbutton12_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“-”将控件名为button13更名为“-”,并输入以下程序:
privatevoidbutton13_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“*”将控件名为button14更名为“x”,并输入以下程序:
privatevoidbutton14_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“/”将控件名为button15更名为“/”,并输入以下程序:
privatevoidbutton15_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
e)三角函数等基本初等函数算法的实现:
“sinx”将控件名为button16更名为“sin”,并输入以下程序:
privatevoidbutton16_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“cosx”将控件名为button17更名为“cos”,并输入以下程序:
privatevoidbutton17_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“tanx”将控件名为button18更名为“tan”,并输入以下程序:
privatevoidbutton18_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
“lgx”将控件名为button19更名为“lg”,并输入以下程序:
privatevoidbutton19_Click(objectsender,EventArgse)
{
Buttonbtn=(Button)sender;
textBox1.Text=textBox1.Text+btn.Text;
}
f)显示结果的算法实现
将控件名为button20更名为“=”,并输入以下程序:
privatevoidbutton20_Click(objectsender,EventArgse)
{
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)
{
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);
charoperation=Convert.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;
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”,并输入以下程序:
privatevoidbutton21_Click(objectsender,EventArgse)
{
textBox1.Text="";
}
h)调试与运行:
3.计算器系统开发的体会
我是一个平时不怎么玩电脑的人,对编程一窍不知,在刚开始做的时候,对于窗体应用程序这方面的操作是丝毫不懂,后来听老师讲课,以及自己在实践书上找到相关的知识,才渐渐的知道做简易计算器的大概步骤,首先打开Microsoft VisualStudio 2010,把语言配置成C#.net。
创建出一个Windows窗体应用程序。
然后再自动生成的Form1面板上面拖拽出一个textbox空间,接着拖拽出相应的按钮控件。
每一个控件都要添加事件。
textbox控件的单击事件可以设置为 textBox1.Text=""; 即一旦点击输入框,输入框的文本就自动置为“”(没有任何内容),其中textbox1是 textbox控件的名字,可以在属性框里面设定。
接下来对按钮1,2,3,4,5,6,7,8,9,0,.,*,+,-,/,等符号添加事件。
每个按钮都要添加事件,但是可以是同一个事件。
比如为button1添加 privatevoidbutton1_Click(objectsender,EventArgse)事件后,接着对其余的控件添加事件,点开事件的下拉框,选择button1_Click事件,由于好多按钮的单击事件都相似,所以只在一个事件函数里面处理即可。
虽然XX来的资料看似简单,但当时比较急于求成,所以一连做了两个工程文件都失败了,后来才渐渐放下浮躁的心,去查资料,问老师,咨询朋友,找代码,创新思路。
所以,在经历几次失败后,在朋友的提醒下,渐渐地,我知道了用C#编写科学计算器的程序更加简单明白,然后我开始寻找C#的代码,研究各个代码的含义,try…catch、indexof、substring等的用法,基本初等函数的用法(d=Math.Cos(f)),编写自己的计算器程序代码。
我的计算器并没有什么特别的特点,但是在基础功能实现了的情况下,我尽可能的实现一些我会做的科学运算,来提高这个计算器的价值。
在初期的时候,会因为按钮问题而出现无法写入的错误,因为数字类型不统一而无法实现计算功能,但是根据所给的错误一个一个的查找,并删除多余的按钮,强制转换数字类型,才得到了解决,在这个过程中我也明白了程序设计的严谨性。
在整个计算器程序设计中,我掌握了MicrosoftVisualStudio2010的用法,学会了CLR窗体应用程序代码及窗体的设计,对于之前学习的C++程序设计理解更加深入,再加上搜索,我得到了很多的关于C#的用法,深入学习了C#的字符串、数组的使用,总之的确是获益匪浅。
虽然我设计的计算器功能上并不全,还存在着一些问题,但是在这个实践过程中,我的思考,动手能力得到了充分的利用,更加明白了要创新思路,这也是实践的目的。
通过实践加强对程序设计语言课程知识点的理解和掌握,培养对课程知识综合运用能力、实际分析问题能力及编程能力,养成良好的习惯。
通过实践能进一步领会程序设计的特点和应用,提高运用C++语言以及面向对象知识解决实际问题的能力。
通过实践掌握用C++语言编写面向对象的实用程序的设计方法,对面向对象方法和思想增加感性的认识;学会利用C++程序设计语言编写出一些简单的Windows实用程序,切实提高面向对象的程序设计能力;通过实践学习了一些简单C#语言,为后续的相关课程的学习打下基础。
在整个实践的过程中,我也领悟到了以下几点:
1)要善于查找资料提高自己的资料查询能力,要善于利用网络来获得知识,获得帮助。
2)提高自己找错纠错能力,通常错误总是那几种,多练习就熟练了。
3)要学会转换思维。
一条路走不通就挖掘其他方法,力求找到最简单方便的途径,避免一条路走到黑。
4)基本功要过硬。
要认真严谨,一丝不苟,千万不能马虎,导致经常犯小错误。
5)多向老师,向同学虚心请教,在有空的时候多和同学交流一下自己的学习心得。
6)做一件事一定要认真,迎难而上,坚持到底,无论困难多大,坚持下去,总会找到解决的方法。
7)提高了自己对新知识的吸收能力,查阅资料,收集资料的能力。
8)学完C++基础后遇到CLR这种新的功能,我深深的体会到了学海无涯这四个字的含义,所以勤奋学习,学会学习才是我们实践要达到的最终目的。
通过这次C++实践,我学到的东西真的受益匪浅,在今后的学习我要更加努力,在计算机这方面花上一定时间和功夫进行深入研究,为以后的就业和人生打下好的基础。
21世纪必将是科技高速发展的时代,计算机恰好是科技发展的基础,因此对计算机有进一步的深入了解非常有必要。
感谢刘雄鹰老师孜孜不倦的教导!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+语言程序设计 C+ 语言程序设计 设计 报告