计算器.docx

上传人:b****5 文档编号:6625922 上传时间:2023-01-08 格式:DOCX 页数:12 大小:123.86KB
下载 相关 举报
计算器.docx_第1页
第1页 / 共12页
计算器.docx_第2页
第2页 / 共12页
计算器.docx_第3页
第3页 / 共12页
计算器.docx_第4页
第4页 / 共12页
计算器.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

计算器.docx

《计算器.docx》由会员分享,可在线阅读,更多相关《计算器.docx(12页珍藏版)》请在冰豆网上搜索。

计算器.docx

计算器

 

绵阳职业技术学院

计算机科学系

实训项目结题报告

项目名称计算器的设计

课程名称C#程序设计

专业软件技术班级软件121

项目组编号07项目经理陈建国

实训时间2013年9月1日——2013年10月1日

 

项目经理填写成员,实训成绩由教师填写:

成员

唐强

个人成绩

项目组

总成绩

教师

签名

项目需求概要:

1、功能分析

1.1.1功能划分

本系统为一个用C#实现,这次课程设计一般是实现简单计算器的功能。

要程序能实现:

加,减,乘,除等运算功能;还要实现数据的输入,输出,计算,显示及程序退出等功能。

1.1.2功能描述

计算器的设计按软件工程的方法进行,系统具有良好的界面;必要的交互信息;简约美观的效果。

使用人员能快捷简单地进行操作。

即可单机按钮进行操作,也可直接通过键盘直接输入。

即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

包含的功能有:

加、减、乘、除运算等功能。

计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组。

给对话框添加菜单。

输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。

实现对话框的扩展功能。

清除运算结果、退格处理、清除当前的计算、删除当前显示数字的最后一位、清除显示数字等扩展功能。

程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。

1.1.2设计环境

本程序选择VisualStudio2005作为实验环境。

项目计划:

1、本次项目计划一个月完成;

2、第一周,需要将已学知识进行整合,并简要了解项目任务;

3、第二周,进行概要设计及需求分析;

4、第三周,进行详细设计及代码编写;

5、第四周,游戏运行测试,并进行漏洞检测;

6、最后两天,项目总结。

项目概要设计:

计算器软件的界面主要由两部分构成,上部分是textbox文本框,用于显示需要计算的数字及结果。

下部分是十六个BUTTON控件,由0——9十个数字键,+、-、*、/等运算符号及小数点“.”和等号“=”构成。

并且需要将计算器的界面大小固定。

计算器的设计按软件工程的方法进行,系统具有良好的界面;必要的交互信息;简约美观的效果。

使用人员能快捷简单地进行操作。

即可单机按钮进行操作,也可直接通过键盘直接输入。

即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

包含的功能有:

加、减、乘、除运算等功能。

计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组。

给对话框添加菜单。

输入的原始数据、运算中间数据和结果都显示在窗口顶部的同一个标签中。

实现对话框的扩展功能。

清除运算结果、退格处理、清除当前的计算、删除当前显示数字的最后一位、清除显示数字等扩展功能。

程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。

项目详细设计:

1、功能模块图

四则运算的实现

计算器

实现根号、倒数等功能

数据的清空

实现键盘事件

2、程序流程图

3、系统设计

1、计算器类的定义

class Form1:

界面设计

classcomputer:

应用程序计算器类

2、界面设计

计算器软件的界面主要由两部分构成,上部分是textbox文本框,用于显示需要计算的数字及结果。

下部分是十六个BUTTON控件,由0——9十个数字键,+、-、*、/四个运算符号及小数点“.”和等号“=”构成。

并且需要将计算器的界面大小固定。

界面如图所示:

四、系统的实现

1、计算器类的实现

计算器类的实现以数字键的处理为例

staticpublicvoidNumbers_Click(refstringtxtOutput,doublei)

{

if(txtOutput=="Error")txtOutput="0";//如果原输入有误,则默认为0

try

{

if(bNumBegins)//如果是第一格数字

{

txtOutput=i.ToString();

bNumBegins=false;

}

else

{

txtOutput+=i.ToString();//构造第一个操作数的返回值

}

doubleiCurrent=double.Parse(txtOutput);//检查运算溢出的情况

}

catch//如果用户输入的数字超过界限,捕捉皑常不处理

{

txtOutput="Error";//显示错误

InitMembers();//初始化计算器

return;

}

}//数字键的处理

2、相关功能的实现

3.2.1按键的设计:

本计算器按键均使用BUTTON控件。

按键代码以1为例,其余按键代码可参看源代码。

例:

//数字键1,button1的Click事件

privatevoidbutton1_Click(objectsender,EventArgse)

{

stringtextout;

textout=txtOutput.Text;

computer.Numbers_Click(reftextout,1);

txtOutput.Text=textout;

}

3.2.2算法的设计:

算法设计是计算器的核心,每种算法的实现都是一个基本函数的设计,其中还要考虑异常处理,界面帮助等问题。

算法代码选择了小数点的处理实例,如下所示,其他算法代码可参看源文件。

例:

staticpublicvoidDot_Click(refstringtxtOutput)

{

if(bDot)//不允许在一个数中输入两或两个以上的小数点

{

txtOutput="Error";

InitMembers();//可以不处理

return;

}

else

{

if(bNumBegins)//一开始就输入小数点时,按0.XX处理

{

txtOutput="0.";

bNumBegins=false;

bDot=true;

}

elsetxtOutput+='.';

bDot=true;

}

}//小数点的处理

3.2.3键盘事件

privatevoidForm1_KeyDown(objectsender,KeyEventArgse)

{

intn;

stringm;

m=txtOutput.Text;//显?

示?

当獭?

前°的?

数簓字?

n=int.Parse(e.KeyValue.ToString());

if(n>=48&&n<58)

{

n=n-48;

computer.Numbers_Click(refm,n);//处鋦理え?

操ù纵罽数簓

txtOutput.Text=m;//将?

输?

入?

的?

数簓字?

显?

示?

}

else

{

charop='';

switch(e.KeyCode)

{

caseKeys.Decimal:

computer.Dot_Click(refm);break;

caseKeys.Divide:

op='/';break;

caseKeys.Subtract:

op='-';break;

caseKeys.Multiply:

op='*';break;

caseKeys.Add:

op='+';break;

caseKeys.Enter:

op='=';break;

}

}

}

实训总结:

(项目组总结,不少于500字)

这次C#实训是我人生中最大的收获,这次实训,让我受益匪浅。

经过一周多的实训,我学到了很多知识,这为我接下来的学习做好铺垫。

在这一周里我通过问老师问同学,逐步完成了计算器的设计。

现在我在一步一步的学习,制作出了计算器,心中有一种自豪感。

这是我这一周来得到的成果。

计算器的制作的完成,让我学到了很多。

在这个实训中我在编写代码的时候常常出错,经过同学的指教,才有了现在程序的正常运行。

在编代码的过程中我遇到了很多小麻烦,有些小问题弄得我焦皮烂愕。

实训中,有同学帮我把我的代码一遍遍的看了一下,帮我指出好多错误。

在这之后我也仔细认真的查过一边,并把一些代码记住,增加了自己的知识。

现在才感觉自己原来也是能做好的。

在实训中我遇到很多问题:

比如代码忘记了或者有些代码不认识。

我都会去翻书,或者去问同学。

在有些属性我不会用现在通过自己的摸索和同学的指教,我了解了很多、增加了我的知识。

在编程中经常会遇到崩溃的问题,这些我都重新弄了一下。

增加了对代码的熟悉度这次实训让我受益匪浅,我学到了很多知识。

这次实训让我学会了在以后的编程中要更加仔细更加认真。

下表由项目组成员填写

计算机科学系

专业

软件技术

班级

软件121

学号

201201720

姓名

唐强

指导教师

陈建国

项目负责人

唐强

项目组成员

唐强

课程名称

C#程序设计

学期

2013——2014上期

项目名称

计算器的设计

本次实训项目是计算器的设计。

在游戏设计中,需要设置计算器容器、组件等计算器要素;使用户能更方便的使用计算器计算一些较为简单的算式。

本次实训是为了巩固学生的所学知识,培养学生的知识运用能力和具有做项目的项目思想,并且要培养学生的合作精神,为以后的C#工程开发和软件项目设计打下基础。

实施

1、计算器需求分析

2、计算器详细设计

3、计算器代码编写

4、计算器运行实践及测试

5、项目总结

环境

硬件要求能运行Windows9.X操作系统的微机系统。

C#程序设计语言及相应的集成开发环境及开发工具。

项目进度报告

项目名称:

计算器的设计负责人:

唐强

日期

成员姓名

任务描述

所属模块

完成情况

态度

备注

(组长评语)

2013.9.3

唐强

对计算器进行分析

需求分析

完成

认真

优秀

2013.9.7

唐强

对计算器进行界面设计

界面设计

完成

认真

优秀

2013.9.10

唐强

对计算器进行代码编写

代码编写

完成

认真

优秀

2013.9.20

唐强

对计算器进行测试

游戏测试

完成

认真

优秀

2013.9.23

唐强

对计算器进行错误分析

错误分析

完成

认真

优秀

2013.9.25

唐强

对计算器进行错误改写

改写错误

完成

认真

优秀

2013.9.27

唐强

对计算器进行重新测试

重新测试

完成

认真

优秀

2013.9.30

唐强

基本完成,游戏维护

游戏维护

完成

认真

优秀

指导教师意见:

指导教师签名:

 

 

教师签名:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1