您好,欢迎访问三七文档
多功能计算器1《软件综合设计》实验报告书项目名称:多功能计算器同组人员1:袁伟强学号1:2012102073同组人员2:李浩伟学号2:2012102063同组人员3:张宝学号3:2012102095报告撰写日期:2015/4/14多功能计算器2目录第1章可行性研究报告.................................................31.1项目背景..................................................................31.2实用意义..................................................................31.3技术方案..................................................................3第2章需求规格说明书.................................................42.1软件功能需求..............................................................42.2运行需求..................................................................4第3章软件概要设计...................................................53.1任务概述..................................................................53.2总体设计..................................................................5第4章详细设计说明书.................................................64.1功能说明..................................................................64.2设计思路..................................................................64.3程序流程图................................................................74.4计算器软件操作界面.......................................................104.5计算器重要代码...........................................................104.6汇率转化界面.............................................................11第5章多功能计算器代码及算法.......................................135.1计算器主要代码及算法.....................................................135.2汇率转换器主要代码及算法.................................................18多功能计算器3第1章可行性研究报告1.1项目背景随着计算机技术的高速发展,人们的生活节奏也变得越来越快。面对如此高速的生活节奏,我们现代人必不可少的应用计算机来帮我们解决一些问题以提高做事情的效率,其中多功能计算器就是其中最好的一个代表。多功能计算器不仅能帮助人们快速计算,更能够保证计算的正确率,从而帮助人们快速地解决一些使用的问题。另一方面随着国际化的到来,人们对外的交流日益增多,这期间必不可少的就会牵扯到货币,所以拥有一个货币转化器是一个最佳的选择。多功能计算器集合了计算器和货币转换器,由此可见它的需求还是很大的。1.2实用意义计算器因其高速准确的特点在人们的生活中得到广泛的应用,但是随着社会的发展,单纯的计算器已经不能适应人们日常生活的需求。所以多功能计算器的产生给人们带来了更大的便捷,也使传统计算器得到了更好的拓展,更能适合现代人的生活方式以及特点。1.3技术方案本设计基于MFC进行设计,以C++语言为设计语言,实现了以下多功能计算器4几大功能:1、传统计算功能2、时间显示3、货币汇率转换;第2章需求规格说明书2.1软件功能需求1.多功能计算器是日常小工具,所以良好的人机交互应该做到2.要涉及到转换页面的操作,所以要学会对页面转换3.因为涉及到要用对话框进行人机交互,所以设计到对对话框的学习及使用4.在计算器界面有时间显示功能,所以要掌握在示例编辑框内显示时间的操作2.2运行需求软件需要在visualstudio2010软件下进行运行调试。多功能计算器5第3章软件概要设计3.1任务概述本软件是简单计算器,同时附带汇率转换功能以及系统时间显示功能。本设计按软件工程的方法进行,系统具有良好的界面、必要的交互信息和较好的健壮性;醒目美观的软件封面。使用人员能快捷简单地进行操作。即时准确地获得需要的计算的结果,汇率转换以及系统时间。本软件分为两个模块,下面对两模块进行简单分析:1:计算机模块能简单进行加、减、乘、除四种运算,同时还有相应的返回与清零功能。同时在该模块正上方显示系统日期时间。2:汇率转换模块能将人民币换算成美元、日元、韩元、英镑、欧元等各种货币。3.2总体设计基于MFC库类进行对对话框界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用消息函数完成数据的输入输出,实现计算功能和汇率转换功能,生成应用软件。计算机模块总体设计:单击按钮响应函数功能,选择操作数进行相应的运算,计算出结果并在该模块中显示。汇率转换模块的总体设计思路是:输入人民币的数值,单击多功能计算器6按钮响应函数功能,计算出相应结果并在汇率模块中显示出结果。第4章详细设计说明书4.1功能说明它的设计按软件工程的方法进行,系统具有良好的界面;必要的交互信息;简约美观的效果。使用人员能快捷简单地进行操作。即可单机按钮进行操作,也可直接通过键盘直接输入。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。(1)包含的功能有:加、减、乘、除运算,汇率转换,时钟显示等功能。(2)计算器上数字0—9为一个控件数组,加、减、乘、除为一个控件数组,其余为单一的控件。(3)给对话框添加菜单。(4)计算功能基本上是用系统内部函数。(5)程序可以能自动判断输入数据的正确性,保证不出现多于一个小数点、以0开头等不正常现象。(6)“C”按钮可以清除所有已输入的数据从头计算。(7)汇率转换由计算器界面按钮控制单独条转出页面。(8)时钟显示分别在计算器界面与汇率转换界面显示,调用系统时间。4.2设计思路如图是整个计算器的流程图,打开计算器程序,输入数据,调用输入数据子程序。子程序开始时m_dEditNo为零。按下数字按钮后,判断m_dEditNo,对其进行相关处理,然后在判断是否有小数点,处理后输出结果。回到总流程图中,输完第一个操作数后,若按下双目运算符,则把m_dEditNo存入oldNumber,按下输入第二个操作数并算出结果。若按下的是单目运算符,则直接对其处理得出结果。若按下清零,则m_dEditNo等于0.在运算中还要判断运算是否合法,以及结果是否超出显示范围,以做出相关提示,按下清零。算出后把结果保存至oldNumber。若需用算出的结果继续运算则回到输入完第一个操作数后,若不需要则判断试否需要开始新一轮的运算,不需要则结束。多功能计算器74.3程序流程图图4-1输入数据子函数流程图NNY键入一个数是否为正数?m_dEditNo=m_dEditNo*10+nm_dEditNo=m_dEditNo*10-n是否为小数?用UpdateData(true)刷新显示还原m_dEditNo根据小数点后位数将键入的数除以n次10累加到m_numYN继续键入数字?Y编辑框关联变量m_num=0多功能计算器8图4-2简单计算器总流程图结束jieN运算符编辑框关联的变量保存至oldNumber输入数据子函数进行运算输入数据子函数Y开始运算是否合法把结果保存到oldNumberm_dEditNo清零弹出对话框显示ERRORNY是否用保存的结果继续进行运算N是否开始新一轮的计算Y多功能计算器9图4-3简单汇率转换流程图结束jie选择货币种类进行数据转化运算判断运算结果数据显示转换后金额输入人民币金额输入数据不对开始Y多功能计算器104.4计算器软件测试界面图4-4计算器界面上图为计算器界面,C为清零按钮,CE为清除刚输入的数据,方便输入数据错误的时候改数据。BackSpace为数据退位按钮,没按一次数据缩小为前面的十倍,相当于小数点往后退一位。加减乘除分别对应各自的运算符,数字0—9为一个控件数组,汇率转换按钮跳转到汇率转换界面。4.5计算器重要代码图4-5数据输入代码多功能计算器11图4-6数据计算代码4.6汇率转换界面图4-7汇率转换界面上面为汇率转换界面,当输入一定的人民币金额时,选择对应的转换金额种类,下面的示例编辑框就会显示出转换出来的数据金额。多功能计算器12图4-8汇率转换有关的部分代码图4-9时钟显示代码时钟显示调用的为系统的时间。多功能计算器13第5章关键代码及算法5.1计算器主要代码及算法voidCCalculaterDlg::OnPaint(){if(IsIconic()){CPaintDCdc(this);//用®?于®¨²绘?制?的Ì?设¦¨¨备À?上¦?下?文?SendMessage(WM_ICONERASEBKGND,reinterpret_castWPARAM(dc.GetSafeHdc()),0);//使º1图ª?标À¨º在¨²工¡è作Á¡Â区?矩?形?中D居¨®中DintcxIcon=GetSystemMetrics(SM_CXICON);intcyIcon=GetSystemMetrics(SM_CYICON);CRectrect;GetClientRect(&rect);intx=(rect.Width()-cxIcon+1)/2;inty=(rect.Height()-cyIcon+1)/2;//绘?制?图ª?标À¨ºdc.DrawIcon(x,y,m_hIcon);}else{CDialog::OnPaint();}}//当Ì¡À用®?户¡ì拖ª?动¡¥最Á?小?化¡¥窗ä¡ã口¨²时º¡À系¦Ì统ª3调Ì¡Â用®?此ä?函¡¥数ºy取¨?得Ì?光a标À¨º//显?示º?。¡êHCURSORCCalculaterDlg::OnQueryDragIcon(){returnstatic_castHCURSOR(m_hIcon);}voidCCalculaterDlg::OnBnClickedBtn0(){OnNoBtn(0);}多功能计算器14voidCCalculaterDlg::OnBnClickedBtn1(){OnNoBtn(1);}voidCCalculaterDlg::OnBnClickedBtn2(){OnNoBtn(2);}voidCCalculaterDlg::OnBnClickedBtn3(){OnNoBtn(3);}voidCCalculaterDlg::OnBnClickedBtn4(){OnNoBtn(4);}voidCCalculaterDlg::OnBnClickedBtn5(){OnNoBtn(5);}voidCCalculaterDlg::OnBnClickedBtn6(){OnNoB
本文标题:多功能计算器报告
链接地址:https://www.777doc.com/doc-2503380 .html