基于C的简易计算器.docx
- 文档编号:29163445
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:12
- 大小:18.81KB
基于C的简易计算器.docx
《基于C的简易计算器.docx》由会员分享,可在线阅读,更多相关《基于C的简易计算器.docx(12页珍藏版)》请在冰豆网上搜索。
基于C的简易计算器
窗体顶端
设计题目:
基于C#的简易计算器
选题类型:
程序设计
学生XX:
李金峰
学号:
201301013050
专业:
计算机应用技术
班级:
13计应工学一班
指导教师:
蒋桥华
2018年5月
一、产品设计背景分析………………………3
1.1研究的背景………………………3
1.2选题现状………………………3
1.3选题意义………………………3
二、可行性分析………………………3
2.1关于visualc++………………………3
2.2技术可行性………………………5
2.3经济可行性………………………5
2.4技术分析………………………5
三、产品需求分析………………………6
四、产品模块设计………………………6
4.1产品设计思路………………………6
4.2产品概要设计………………………7
4.3产品逻辑设计………………………8
五、产品功能实现………………………12
六、产品测试及优化分析………………………13
6.1产品测试………………………13
6.2产品优化分析………………………14
6.3产品功能模块实现………………………14
七、设计总结………………………14
八、参考文献………………………14
致谢………………………16
一、产品设计背景分析
1.1研究的背景
当代的人类生活中,咱们经常会遇到数字数据比较大且数据复杂的数字运算,心算笔算起来很复杂困难,这时候咱们就要想到用到计算器。
通过本程序设计将要实现一个简单的计算器。
计算生活中的数字已经成了必不可少的一段生活过程了,而随着生活水平的提高,更加繁琐的计算的已经成了必不可少的一部分了,现在生活的一部分仅仅靠自己的心算来计算已经是满足不了的。
所以我设计了这个程序就是为了人们生活需要的复杂的计算。
这些工具不但方便了我们的生活,而且给了咱们更多选择和实现的形式。
本程序完成了加、减、乘、除、求数字正负的功能。
1.2选题现状
此题的现状,随着人们的生活水平越来越高,身边的数字计算也是随着而增加着。
所以现在的人越来越离不开计算器了。
1.3选题意义
此题的意义在于方便人们生活中数字计算的一个简易计算器,利用VisualC#应用程序,面对对象的程序。
并且熟悉使用此计算器的加、减、乘、除等功能。
二、可行性分析
2.1关于visualc++
2007年11月月初,美国Microsoft公司公布了VisualStudio2008版本。
2010年4月中旬,美国Microsoft公司公布了VisualStudio2010版本以及.NET4.0。
2012年9月中旬,美国Microsoft公司在美国西雅图公布VisualStudio2012版本。
2013年11月中旬,美国Microsoft公司公布VisualStudio2013版本。
2014年年底,美国Microsoft公司公布VisualStudio2015版本。
2017年5月初,美国Microsoft公司Build开发者大会正式推出苹果电脑操作系统Mac版VisualStudio
本程序的设计就是基于在VisualStudio2015版本上的编程。
2.2技术可行性
采用VS+C#,使用visualstudio开发后端代码。
我系是信息与艺术设计系的计算机应用技术,对计算机技术有一定的了解,也有一定的计算机操作能力。
我院有很多完善的程序,如贪吃蛇、俄罗斯方块等,学到html+css+javascript前端开发,mvc和java等后端开发代码。
通过以上的分析,可以确保本程序开发在技术上是完全可行的。
visualstudio的作用是为C#语言操作提供必要的运行环境与开发环境。
通过后台可以直接执行语言程序的编辑与修改便于程序员对程序的掌握。
2.3经济可行性
本程序是采用C#语言编辑,程序类的入门级语言,方便使用大部分人生活工作中都会遇到大数字类的计算,我的这款软件就是主要帮助这部分人群解决这个问题,受到广大使用者的青睐。
2.4技术分析
1.程序开发的实现在技术上是可行的。
2.从技术和可扩展性来讲,是可行的。
随着现在社会计算机的飞速普及使得计算机办公模式已成为当前流行办公模式,并且计算机各种技术已经成熟,电脑系统操作简洁明了,不需要加装任何硬件设备,可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能开机的电脑就能使用,客户端不在需要时时刻刻的维护。
三、产品需求分析
按钮管理:
按钮管理是用户所需要计算数据,用户可以进入此处进行相关的数字类的计算。
这部分主要包括以下方面:
1.加法计算。
数字的加法之间的运算。
2.减法运算。
数字的减法之间的运算。
3.乘法运算。
数字的乘法之间的运算。
4.除法运算。
数字的除法之间的运算。
计算器程序:
程序开始运行之后,随着数字运算之间的变化会有正确快速的数字计算结果。
四、产品模块设计
4.1产品设计思路
为了体现简洁明快的风格,界面不打算用过多的按纽栏,顶部直接安排一个文本框栏,让用户可以在文本框里面实行加减乘除。
如下图
图4-1程序文本框图
图4-2程序框架图
4.2产品概要设计
按钮栏,一般就是加减乘除按钮以及数字按钮等,方便使用者直接点击数字跟运算方式即可。
(1)加法计算。
数字的加法之间的运算。
(2)减法运算。
数字的减法之间的运算。
(3)乘法运算。
数字的乘法之间的运算。
(4)除法运算。
数字的除法之间的运算。
(5)后退功能。
就是用户数字输错了一个清楚功能。
计算器程序:
程序开始运行之后,随着数字运算之间的变化会有正确快速的数字计算结果。
按钮功能功能如下图:
图4-1程序功能图
4.3产品逻辑设计
程序通过主界面的一系列按钮,可以使用户进行一系列的计算,提高使用者的工作效率与节约时间,程序运行如下图:
图6-4程序主界面图
程序主界面源代码
namespaceHycCaculator
{
publicpartialclassMainWin:
Form
{
privatebine
privatedoublenumBuffer=0;
boolhasDot=false;
boolinputplete=false;
//表示二元谓词
privatedelegateT2bine
//将操作符的名称映射到相应的函数
privatestaticDictionary
staticMainWin()
{
operatorDict=newDictionary
operatorDict['+']=(a,b)=>a+b;
operatorDict['-']=(a,b)=>a-b;
operatorDict['×']=(a,b)=>a*b;
operatorDict['÷']=(a,b)=>a/b;
}
publicMainWin()
{
Initializeponent();
}
privatevoidonBtnNumClick(objectsender,EventArgse)
{
Buttonb=senderasButton;
stringtext=b.Text;
stringnum=textBox.Text;
inputNum(text);
}
privatevoidinputNum(stringnum)
{
if(inputplete||textBox.Text.Equals("0"))
{
textBox.Text=num;
inputplete=false;
}
else
{
textBox.Text+=num;
}
}
privatevoidbtnNeg_Click(objectsender,EventArgse)
{
stringtext=textBox.Text;
doublenum=double.Parse(text);
if(!
inputplete&&num!
=0)
{
num=-num;
textBox.Text=num.ToString();
}
}
privatevoidbtnDot_Click(objectsender,EventArgse)
{
inputDot();
}
privatevoidinputDot()
{
if(inputplete)
{
inputNum("0");
inputDot();
return;
}
if(!
hasDot)
{
textBox.Text+='.';
hasDot=true;
}
}
privatevoidbtnBackSpace_Click(objectsender,EventArgse)
{
stringtext=textBox.Text;
if(text.Length>1)
{
intindex=text.Length-1;
chardelChar=text[index];
if(delChar=='.'){hasDot=false;}
textBox.Text=text.Remove(index,1);
}
else
{
textBox.Text="0";
}
}
privatevoidonBtnSignClick(objectsender,EventArgse)
{
Buttonbtn=senderasButton;
charsign=btn.Text[0];
if(funcBuffer!
=null)
{//如果存在尚未结算的操作,则先结算该操作
cacu();
}
funcBuffer=operatorDict[sign];//根据运算符号查找相应的函数,然后等待用户输入右操作数
setInputplete();
}
privatevoidsetInputplete()
{
if(!
inputplete)
{
inputplete=true;
hasDot=false;
numBuffer=Double.Parse(textBox.Text);
}
}
privatevoidcacu()
{
if(funcBuffer!
=null)
{
varnumRight=Double.Parse(textBox.Text);
varresult=funcBuffer(numBuffer,numRight);
textBox.Text=result.ToString();
funcBuffer=null;
}
}
privatevoidonBtnCacuClick(objectsender,EventArgse)
{
cacu();
setInputplete();
}
privatevoidbtnClearAll_Click(objectsender,EventArgse)
{
textBox.Text="0";
numBuffer=0;
funcBuffer=null;
inputplete=false;
hasDot=false;
}
privatevoidbtnClearCur_Click(objectsender,EventArgse)
{
textBox.Text="0";
}
privatevoidMainWin_Load(objectsender,EventArgse)
五、产品功能实现
本程序运行后给使用者的第一印象,一般来说单靠笔纸运算的话繁重而且并耗时间所以通过本程序来计算的话节约时间并正确率高,还加快使用者的工作效率节约时间。
文本栏,方便使用者点击数字按钮就会显示进去,包含3个主要的模块,数字按钮对应的数字,运算按钮对应的相应运算方式,等号按钮最后对应的运算结果。
程序界面如下图
图5-1程序文本框图
图5-2程序框架图
六、产品测试及优化分析
6.1产品测试
我们试试1+1等于几如下图:
图6-1计算器测试
图6-2计算器测试
6.2产品优化分析
图6-3功能界面图
6.3产品功能模块实现
本程序实现数字的输入,数字的运算等功能。
按钮功能设置,可以通过相应的按钮,删除,修改内容,计算数字然后在文本栏显示运算结果。
七、设计总结
通过这个毕业设计项目,让本人了解熟悉了VisualStudio2015,C#语言程序编写等知识系列有了一定的了解。
使用VisualStudio2015开发计算机程序软件的能力方面也得到了显着的提升。
在几个月的开发调试周期中,让我明白测试应用程序功能的重要性。
所谓编写程序,必须先测试一下,程序工程的知识告诉我们一个程序从项目开始投入运行,有一段漫长的时间都在测试中,实际的程序开发过程中让我增加了程序开发方面的测试经验。
但同时需要指出的是,由于时间不够,软件功能不完善,还有一些需要改进的地方,比如某些设计的可扩展性不尽人意。
利用程序方法重构程序,程序的设计通常更具可扩展性,望老师对于我的程序中所出现的问题及不足之处予以批评指正。
八、参考文献
[1]X甫迎,X光会.C#程序设计教程.:
电子工业,2008.
[2]邵鹏鸣.C#面向对象程序设计,:
清华大学,2008.
[3]明日科技.C#程序设计标准教程.:
人民邮电,2009.
[4]明日科技.ASP.NET典型模块开发大全.:
人民邮电,2008.
[5]WeiMengLi.C#2008编程参考手册.薛莹译.:
清华大学,2008.
致谢
本论文最终得以顺利完成,首先要感谢蒋桥华老师的悉心教导。
蒋老师多次询问研究过程,并为我指点迷津,帮助我开拓研究思路,精心教导,严谨XX的态度,踏踏实实的精神,不仅授我以文,虽历时四载,却给以受益无穷之道,感谢蒋老师,及各位专业老师对我的教育培养。
感谢XX职业技术学院信息与艺术设计系的老师给我提供了一个很好的研究条件,我要感谢所有的老师。
他们严谨的学风,深厚的知识,孜孜不倦的精神,一直都在感染着,激励着我不断进取,在学校充实而有意义。
海纳百川,长途跋涉,我所学到的,一定会使我受益他们严谨的学风,深厚的知识,孜孜不倦的品格,一直在感染,激励着我不断前进,让我在学校里充实而有意义。
海纳百川,长途跋涉,我所学到的,一定会受益我终生。
最后感谢所有关心、帮助和支持我的人。
窗体底端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 简易 计算器