精品科学计算器毕业论文.docx

上传人:b****8 文档编号:9009079 上传时间:2023-02-02 格式:DOCX 页数:32 大小:145.14KB
下载 相关 举报
精品科学计算器毕业论文.docx_第1页
第1页 / 共32页
精品科学计算器毕业论文.docx_第2页
第2页 / 共32页
精品科学计算器毕业论文.docx_第3页
第3页 / 共32页
精品科学计算器毕业论文.docx_第4页
第4页 / 共32页
精品科学计算器毕业论文.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

精品科学计算器毕业论文.docx

《精品科学计算器毕业论文.docx》由会员分享,可在线阅读,更多相关《精品科学计算器毕业论文.docx(32页珍藏版)》请在冰豆网上搜索。

精品科学计算器毕业论文.docx

精品科学计算器毕业论文

(此文档为word格式,下载后您可任意编辑修改!

 

徐州师范大学物电学院

课程设计报告

 

课程名称:

计算机程序设计实训

题目:

科学计算器

专业班级:

电子科学与技术

学生姓名:

徐金富

指导教师:

赵纪平

 

物电学院教务部印制

说明:

1、报告中的第一、二、三项由学生在课程设计开始前填写,由指导教师指导并确认签字。

2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩,并填写成绩评定表。

3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律按不及格处理。

答辩小组成员应由2人及以上教师组成。

答辩后学生根据答辩情况填写答辩记录表。

4、报告正文字数一般应不少于3000字,也可由指导教师根据本门课程设计的情况另行规定。

5、平时表现成绩低于6分的学生,取消答辩资格,其该课程设计成绩按不及格处理。

6、课程设计完成后,由指导教师根据完成情况写出总结。

7、此表格式为徐州师范大学物理与电子工程学院提供的基本格式,指导教师可根据本门课程设计的特点及内容做适当的调整。

一、课程设计目的、任务和内容要求:

《计算机语言程序设计》是一门以编程实践为主的专业课,目的在于培养学生利用计算机语言进行软件开发所必需的基本思想和基本技能,进一步提高综合应用计算机语言的各种编程知识和技巧进行程序设计的能力,通过本次课程设计,学生应能达到具备设计功能较为复杂的应用程序的能力,同时培养学生自主学习和独立创新的精神。

任务如下:

1.进行需求分析和概要设计,给出流程图。

2.写出详细设计,熟悉其中采用的关键技术。

3.给出具体的编码实现并调试。

4.写课程设计报告提交源程序。

内容要求:

设计并完成软件系统。

要求:

1.应具有简洁友好的用户界面。

2.要求软件系统的功能完整。

3.要求程序具备正确性,可读性和运行的高效性。

 

二、进度安排:

第1~3天:

查找资料,进行需求分析和概要设计;

第4~6天:

各模块的详细设计;

第7~12天:

软件实现与调试;

第13~14天:

写课程设计报告并提交源程序。

 

三、主要参考文献:

【1】王敬栋VisualC++课程设计案例精编(M)北京:

中国水利水电出版社2006

【2】夏崇镨任海军VsiualC++课程设计案例精编(M)北京:

清华大学出版社2008

【3】郑阿奇VisualC++实用教程(M)北京:

电子工业出版社2010

【4】陈清华.VisualC++课程设计案例精选与编程指导(M)南京.东南大学出版社,2004

【5】夏崇镨任海军VsiualC++课程设计案例精编(M)北京:

清华大学出版社2002

 

指导教师签字:

年月日

目录

摘要………………………………………………………………………………………II

Abstract…………………………………………………………………………………...II

1绪论…………………….……………………………………………………………1

1.1背景、目的…………………………………………………………………………1

1.2简易计算器的功能……………………………………………………..……………1

2设计方案简述………………………………………………………….………………2

2.1输入流程分析……………………………………………………..…………………2

2.2计算流程分析……………………………………………………..…………………2

3详细设计……………………………………………………………..……………..4

3.1起始设计步骤……………………………………………………..…………………4

3.1界面设计……………………………………………………..………………………5

4设计结果及分析………………………………………………..…….……………..10

4.1测试设计结果…………………………………………….…………………………10

4.2设计分析….…………………………………………………..……………………10

5总结……..…………………………………………………..………………………….12

参考文献….………………..………………………………..………………………….…13

附录程序代码……...………………………………..………………………….………14

 

 

摘要

随着计算机网络通信技术、微电子技术的快速发展,作为21世纪的接班人,跟上时代的前进步伐,这就需要适应能够适应现实生活的节奏,现实生活中,很多时候要经行计算来处理一些事务,设计计算器可以帮助人们避免繁琐的计算,也可以加快人们办事效率,设计中运用MFC设计的是简单计算器,包括双目运算和单目运算功能。

双目运算符包含基本的四则运算及乘幂功能,单目运算符包含三角函数,反三角函数,阶乘,对数,开方,倒数等方面的运算。

可对输入任意的操作数,包括小数和整数及正数和负数进行以上的所有运算并能连续运算。

当出现错误会给出相应提示。

关键词:

简单计算器;MFC;计算

 

Abstract

Withthecomputernetworkcommunicationtechnology,therapiddevelopmentofmicroelectronicstechnology,asthesuccessortothe21stcentury,keepupthepaceofthetimes,whichneedtoadapttoadapttotherhythmofreallife,reallife,manytimestobecalculatedbythelinedealwithsomematters,thedesigncalculatorcanalsoexpediteRenmenefficiency,thedesignofMFCdesignistheuseofsimplecalculator,includingtheeyesandtheunaryoperatorfunction.Binocularoperatorsincludebasicarithmetic,andpowerfunctions,unaryincludetrigonometricfunctions,inversetrigonometricfunctions,factorial,logarithm,squareroot,reciprocalandotheraspectsofoperations.Theoperationcanenteranynumber,includingdecimalsandintegers,andpositiveandnegativeforalloftheaboveoperationsandtocontinuousoperation.Whenanerrorwillgiveaprompt.

Keywords:

SimpleCalculator;MFC;Calculation

1绪论

1.1背景、目的

21世纪,随着科技的发展,人们生活节奏的加快,要想跟上时代的前进步伐,这需要我们适应能够适应现实生活的节奏,而生活中有很多方面需要进行计算,如统计,测量,等等各方面需要处理大量的计算任务,如果只靠人脑通过笔来计算,那效率低下,还烦琐。

而且容易出错,这就需要处理事件快捷的工具——计算器。

目前所有计算机带自带计算器,大大的方便人们的计算,处理事务,本设计中,运用MFC实现计算器的功能。

同样可以方便生活中处理计算类的事件,避免烦琐的计算,提高人们的处理计算事件的办事效率,而且计算不会出错。

当输入有错时候,可以自动提示错误。

计算器的发展已经经过几十年的过程,现在的计算器种类繁多,运算功能强大,在各行各业中均有应用,它的发展让人们节省了很多时间精力,计算器的发展正在向各个方向延伸,每个行业所需要的计算有差别,这就发展了各种类型单独的计算器,计算的运算速度,计算数字的庞大也在不断向前发展,本设计中的简易计算器,可以实现简单的单目和双目运算,方便一些简单事务的处理。

1.2简易计算器的功能

计算器的功能多少决定了计算器的实用价值,本设计中的简易计算器实现的主要功能有:

1)简单的四则运算:

加、减、乘、除以及取百分数

2)开方、幂运算、倒数、对数、阶乘、平方

3)正弦、余弦、正切

 

这些功能都是很常见的需要计算器功能,它可以帮助人们完成很多需要计算处理的功能。

所以次简易计算器很有实用价值,可以很好的帮助使用者,让计算变的简单化,不必去进行复杂的笔算,很大程度上的减轻了使用者的精神上的损耗,也很大程度上提高了使用者的办事效率。

 

2设计方案简述

2.1输入流程分析

如图2-1是整个计算器的流程图,打开计算器程序,输入数据,调用输入数据子程序。

子程序开始时m_show为零。

按下数字按钮后,判断m_show的正负号,对其进行相关处理,然后在判断是否有小数点,处理后输出结果。

图2-1输入数据子函数流程图

2.2计算流程分析

回到总流程图中,输完第一个操作数后,若按下双目运算符,则把m_show存入data1,按下输入第二个操作数并算出结果。

若按下的是单目运算符,则直接对其处理得出结果。

若按下清零,则m_show等于0.在运算中还要判断运算是否合法,以及结果是否超出显示范围,以做出相关提示,按下清零。

算出后把结果保存至m_show中。

若需用算出的结果继续运算则当按下运算符号时,将自动先将m_show的数字保存到data1中再进行运算。

科学计算器总流程图如图2-2所示

图2—2科学计算器总流程图

3详细设计过程

3.1起始设计步骤

1.打开MicrosoftVisualC++6.0,在文件中点击新建,在弹出框内选择MFCAppWizard[exe]工程,输入工程名jianyijisuanqi及其所在位置,点击确定.

2.将弹出MFCAppWizard-step1对话框,选择基本对话框,点击完成.新建工程信息如图3-1

图3-1

这样,MFCAppWizard就建立了一个基于对话窗口的程序框架,如图3-2所示

图3-2

3.2界面设计

3.2.1.创建控件

在图2所示的ResoureView选项卡中打开Dialog资源组,双击IDD_JIANYIJISUANQI_DIALOG,在右边的窗口中显示出待编辑的对话框。

开始摆放控件,包括编辑框和按钮的创建。

其中按钮的创建以“1”为例进行介绍,其他按钮的创建可参照它进行操作。

1)在图3-2中Controls的“编辑框”按钮上单击鼠标左键,在对话框编辑窗口上合适的位置按下鼠标左键并拖动鼠标画出一个大小合适的编辑框。

在编辑框上单击鼠标右键,在弹出的快捷莱单中选择属性选项,此时弹出Edit属性对话框,如图3-3所示,在该对话框中输入ID属性,再选择styles中将Aligntest中选择Right。

图3-3

2)在图3-2中Controls的“Button”按钮上单击鼠标左键,在对话框上的合适的位置上按下鼠标左键并拖动鼠标画出一个大小合适的下压式按钮。

在按钮上单击鼠标右键,在弹出的快捷菜单中选择属性选项,此时也弹出PushButton属性对话框,如图3-4所示,在该对话框中输入控件的ID值和标题属性。

图3-4

按照“1”的操作过程编辑完成其他按钮和编辑框等对象的属性。

各按钮与编辑框等对象的属性如表3-1、3-2、3-3、3-4所示

表3-1数字按钮和编辑框等对象的属性

控件类型

ID

属性设计

EditBOX

IDC_SHOW_EDIT

Button

IDC_NUM1_BUTTON

1

Button

IDC_NUM2_BUTTON

2

Button

IDC_NUM3_BUTTON

3

Button

IDC_NUM4_BUTTON

4

Button

IDC_NUM5_BUTTON

5

Button

IDC_NUM6_BUTTON

6

Button

IDC_NUM7_BUTTON

7

Button

IDC_NUM8_BUTTON

8

Button

IDC_NUM9_BUTTON

9

Button

IDC_NUM0_BUTTON

0

表3-2.四则运算的按钮对象属性

Button

IDC_FU1_BUTTON

Button

IDC_FU2_BUTTON

Button

IDC_FU3_BUTTON

×

Button

IDC_FU4_BUTTON

÷

表3-3三角函数集反三角函数的属性

Button

IDC_SIN_BUTTON

sin

Button

IDC_COS_BUTTON

cos

Button

IDC_TAN_BUTTON

tan

表3-4其他按钮的属性

Button

IDC_LOG_BUTTON

log

Button

IDC_MOD_BUTTON

mod

Button

IDC_KE2_BUTTON

x^2

Button

IDC_KE4_BUTTON

10^x

Button

IDC_FU7_BUTTON

.

Button

IDC_EQUAL_BUTTON

=

Button

IDC_FU5_BUTTON

%

Button

IDC_FU6_BUTTON

+-

Button

IDC_BACKSPACE_BUTTON

回删

Button

IDC_C_BUTTON

清零

Button

IDC_KE1_BUTTON

1x

Button

IDC_LN_BUTTON

ln

Button

IDC_CE_BUTTON

完成后界面如图3-5所示

图3-5

3.2.2程序运行时初始化

1)jianyijisuanqiDlg.cpp里加上头文件#include"math.()

{

TODO:

Addyourcontrolnotificationfile

#include"stdafx.overrides

{{AFX_VIRTUAL(CAboutDlg)

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);DDXDDVsupport

}}AFX_VIRTUAL

Implementation

protected:

{{AFX_MSG(CAboutDlg)

}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg:

:

CAboutDlg():

CDialog(CAboutDlg:

:

IDD)

{

{{AFX_DATA_INIT(CAboutDlg)

}}AFX_DATA_INIT

}

voidCAboutDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

{{AFX_DATA_MAP(CAboutDlg)

}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)

{{AFX_MSG_MAP(CAboutDlg)

NomessagedoesnotrequireasubsequentDestroyIconinWin32

m_=AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

voidCJSQDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

{{AFX_DATA_MAP(CJSQDlg)

DDX_Text(pDX,IDC_M_EDIT,m_M);

DDX_Text(pDX,IDC_SHOW_EDIT,m_Show);

}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CJSQDlg,CDialog)

{{AFX_MSG_MAP(CJSQDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_NUM0_BUTTON,OnNum0Button)

ON_BN_CLICKED(IDC_NUM1_BUTTON,OnNum1Button)

ON_BN_CLICKED(IDC_NUM2_BUTTON,OnNum2Button)

ON_BN_CLICKED(IDC_NUM3_BUTTON,OnNum3Button)

ON_BN_CLICKED(IDC_NUM4_BUTTON,OnNum4Button)

ON_BN_CLICKED(IDC_NUM5_BUTTON,OnNum5Button)

ON_BN_CLICKED(IDC_NUM6_BUTTON,OnNum6Button)

ON_BN_CLICKED(IDC_NUM7_BUTTON,OnNum7Button)

ON_BN_CLICKED(IDC_NUM8_BUTTON,OnNum8Button)

ON_BN_CLICKED(IDC_NUM9_BUTTON,OnNum9Button)

ON_BN_CLICKED(IDC_FU7_BUTTON,OnFu7Button)

ON_BN_CLICKED(IDC_BACKSPACE_BUTTON,OnBackspaceButton)

ON_BN_CLICKED(IDC_CE_BUTTON,OnCeButton)

ON_BN_CLICKED(IDC_FU6_BUTTON,OnFu6Button)

ON_BN_CLICKED(IDC_C_BUTTON,Onclear)

ON_BN_CLICKED(IDC_FU1_BUTTON,OnFu1Button)

ON_BN_CLICKED(IDC_FU2_BUTTON,OnFu2Button)

ON_BN_CLICKED(IDC_FU3_BUTTON,OnFu3Button)

ON_BN_CLICKED(IDC_FU4_BUTTON,OnFu4Button)

ON_BN_CLICKED(IDC_EQUAL_BUTTON,OnEqualButton)

ON_BN_CLICKED(IDC_KE1_BUTTON,OnKe1Button)

ON_BN_CLICKED(IDC_SIN_BUTTON,OnSinButton)

ON_BN_CLICKED(IDC_COS_BUTTON,OnCosButton)

ON_BN_CLICKED(IDC_TAN_BUTTON,OnTanButton)

ON_BN_CLICKED(IDC_KE2_BUTTON,OnKe2Button)

ON_BN_CLICKED(IDC_LN_BUTTON,OnLnButton)

ON_BN_CLICKED(IDC_LOG_BUTTON,OnLogButton)

ON_BN_CLICKED(IDC_KE3_BUTTON,OnKe3Button)

ON_BN_CLICKED(IDC_KE4_BUTTON,OnKe4Button)

ON_BN_CLICKED(IDC_MOD_BUTTON,OnModButton)

ON_BN_CLICKED(IDC_FU5_BUTTON,OnFu5Button)

ON_BN_CLICKED(IDC_M1_BUTTON,OnM1Button)

ON_BN_CLICKED(IDC_M2_BUTTON,OnM2Button)

ON_BN_CLICKED(IDC_MR_BUTTON,OnMrButton)

ON_BN_CLICKED(IDC_MC_BUTTON,OnMcButton)

ON_WM_CTLCOLOR()

}}AFX_MSG_MAP

END_MESSAGE_MAP()

CJSQDlgmessagethesystemcommandrange.

ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX<0xF000);

CMenu*pSysMenu=GetSystemMenu(FALSE);

if(pSysMenu!

=NULL)

{

CStringstrAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if(!

strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);

}

}

Settheiconforthisdialog.Theframeworkdoesthisautomatically

whentheapplication'smainwindowisnotadialog

SetIcon(m_,TRUE);Setbigicon

SetIcon(m_,FALSE);Setsmallicon

TODO:

AddextrainitializationTRUE;returnTRUEunlessyousetthefocustoacontrol

}

voidCJSQDlg:

:

OnSysCommand(UINTnID,LPARAMlParam)

{

if((nID&0xFFF0)==IDM_ABOUTBOX)

{

CAboutDlgdlgAbout;

dlgAbout.DoModal();

}

else

{

CDialog:

:

OnSysCommand(nID,lParam);

}

}

Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow

todrawtheicon.ForMFCapplicationsusingthedocumentviewmodel,

thisisautomaticallydoneforyoubytheframework.

voidCJSQD

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

当前位置:首页 > 总结汇报 > 学习总结

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

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