c++课程设计.docx

上传人:b****3 文档编号:24870818 上传时间:2023-06-02 格式:DOCX 页数:24 大小:481.56KB
下载 相关 举报
c++课程设计.docx_第1页
第1页 / 共24页
c++课程设计.docx_第2页
第2页 / 共24页
c++课程设计.docx_第3页
第3页 / 共24页
c++课程设计.docx_第4页
第4页 / 共24页
c++课程设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

c++课程设计.docx

《c++课程设计.docx》由会员分享,可在线阅读,更多相关《c++课程设计.docx(24页珍藏版)》请在冰豆网上搜索。

c++课程设计.docx

c++课程设计

 

程序设计报告

 

课程名称:

C++课程设计

设计题目:

计算器的设计与实现

专业:

信息与计算科学

班级:

信122

姓名:

学号:

2012314201

任课教师:

邓全才

 

河北建筑工程学院数理系

二○一五年五月

 

设计题目(问题)描述

计算器的设计与实现

计算器是日常生活中十分便捷有效的工具,能实现加、减、乘、除、开方、求倒数等简单运算的工具。

要实现计算功能,可以用VC++的知识编写程序来解决此问题。

该计算器大大的降低了数字计算的难度及提高了计算的准确度和精确度。

该计算器使用非常简单和方便,对广大中小学生的学习有巨大帮助作用,也对在职人员的工作有点帮助作用。

在现代社会中,计算器已经进入了每一个家庭,人们在生活和学习中经常需要使用到计算器,它的出现大大减少了人们在计算方面的工作量,可以说它在人们生活和学习中是不可缺少的。

 

教师评语

 

签名:

注:

本设计报告中各个部分如果页数不够,请大家自行扩页,原则是一定要把报告写详细,能说明设计的成果和特色。

报告中应该叙述设计中的每个模块。

一、设计的功能描述

 

(1)包含加、减、乘、除四则运算.

(2)包含正弦、余弦、正切三角函数的运算。

(3)包含开方运算。

(4)包含阶乘运算。

(5)包含对数运算。

(6)包含求二进制的运算。

(7)包含“CE”“C”清除运算。

 

二、设计的主要特色

 

本计算器可以进行十进制下的四则运算(加、减、乘、除),可以把十进制转化为二进制,可以进行一些常用的函数运算sqrt、sin、cos、tan等。

.

三、系统分析与设计

一.设计步骤

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

将弹出MFCAppWizard-step1对话框,选择基本对话框,点击完成。

这样,MFCAppWizard就建立了一个基于对话窗口的程序框架,如图。

二、界面设计

1、创建控件

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

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

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

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

在编辑框上单击鼠标右键,在弹出的快捷莱单中选择属性选项,此时弹出属性对话框,如图,在该对话框中输入ID属性。

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

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

按照上面的操作过程编辑其他按钮和编辑框等对象的属性。

各按钮和编辑框等对象的属性如下:

对象

ID

标题或说明

编辑框

IDC_EDIT2

结果显示

按钮

IDC_BUTTON10

0

按钮

IDC_BUTTON1

1

按钮

IDC_BUTTON2

2

按钮

IDC_BUTTON3

3

按钮

IDC_BUTTON4

4

按钮

IDC_BUTTON5

5

按钮

IDC_BUTTON6

6

按钮

IDC_BUTTON7

7

按钮

IDC_BUTTON8

8

按钮

IDC_BUTTON9

9

按钮

IDC_BUTTON11

C

按钮

IDC_BUTTON17

CE

按钮

IDC_BUTTON13

+

按钮

IDC_BUTTON14

-

按钮

IDC_BUTTON15

*

按钮

IDC_BUTTON16

/

按钮

IDC_BTN_SQRT

sqrt

按钮

IDC_BUTTON12

=

按钮

IDC_btn_jiecheng

n!

按钮

IDC_btn_lg

lg

按钮

IDC_BTN_SIN

sin

按钮

IDC_BTN_cos

cos

按钮

IDC_BTN_TAN

Tan

按钮

IDC_Onequal

=

按钮

IDC_BTN_ERJINZHI

二进制

完成后界面

程序源代码:

#include"stdafx.h"

#include"jisuanqi.h"

#include"jisuanqiDlg.h"

#include"math.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

CStrings1,s2;

char*str1,*str2,operator1=0,*buffer;

intdecimal,sign;

intk=0,n=0,i=0,j=0,s=0;

intd=0,op=0,point=0,q=0;

CStringstr,stri,num[20];

charch[20],st[40];

CStringtt,aa,ss;

doubleaaa;

doublex=0,y=0,z=0;

_declspec(dllexport)doubleadd(doublex,doubley);

_declspec(dllexport)doublesub(doublex,doubley);

_declspec(dllexport)doublemul(doublex,doubley);

_declspec(dllexport)doublediv(doublex,doubley);

/////////////////////////////////////////////////////////////////////////////

//CAboutDlgdialogusedforAppAbout

classCAboutDlg:

publicCDialog

{

public:

CAboutDlg();

//DialogData

//{{AFX_DATA(CAboutDlg)

enum{IDD=IDD_ABOUTBOX};

//}}AFX_DATA

//ClassWizardgeneratedvirtualfunctionoverrides

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport

//}}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)

//Nomessagehandlers

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CJisuanqiDlgdialog

CJisuanqiDlg:

:

CJisuanqiDlg(CWnd*pParent/*=NULL*/)

:

CDialog(CJisuanqiDlg:

:

IDD,pParent)

{

//{{AFX_DATA_INIT(CJisuanqiDlg)

m_s=_T("");

//}}AFX_DATA_INIT

//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32

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

}

voidCJisuanqiDlg:

:

DoDataExchange(CDataExchange*pDX)

{

CDialog:

:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CJisuanqiDlg)

DDX_Text(pDX,IDC_EDIT2,m_s);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CJisuanqiDlg,CDialog)

//{{AFX_MSG_MAP(CJisuanqiDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_BUTTON1,OnButton1)

ON_BN_CLICKED(IDC_BUTTON2,OnButton2)

ON_BN_CLICKED(IDC_BUTTON3,OnButton3)

ON_BN_CLICKED(IDC_BUTTON4,OnButton4)

ON_BN_CLICKED(IDC_BUTTON5,OnButton5)

ON_BN_CLICKED(IDC_BUTTON6,OnButton6)

ON_BN_CLICKED(IDC_BUTTON7,OnButton7)

ON_BN_CLICKED(IDC_BUTTON8,OnButton8)

ON_BN_CLICKED(IDC_BUTTON9,OnButton9)

ON_BN_CLICKED(IDC_BUTTON10,OnButton10)

ON_BN_CLICKED(IDC_BUTTON13,OnButton13)

ON_BN_CLICKED(IDC_BUTTON14,OnButton14)

ON_BN_CLICKED(IDC_BUTTON15,OnButton15)

ON_BN_CLICKED(IDC_BUTTON16,OnButton16)

ON_BN_CLICKED(IDC_BUTTON18,OnButton17)

ON_BN_CLICKED(IDC_BUTTON12,OnButton12)

ON_BN_CLICKED(IDC_Btn_sin,OnBtnsin)

ON_BN_CLICKED(IDC_Btn_cos,OnBtncos)

ON_BN_CLICKED(IDC_Btn_tan,OnBtntan)

ON_BN_CLICKED(IDC_Btn_erjinzhi,OnBtnerjinzhi)

ON_BN_CLICKED(IDC_Btn_lg,OnBtnlg)

ON_BN_CLICKED(IDC_Btn_sqrt,OnBtnsqrt)

ON_BN_CLICKED(IDC_Btn_jiecheng,OnBtnjiecheng)

ON_BN_CLICKED(IDC_BUTTON11,OnC)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CJisuanqiDlgmessagehandlers

BOOLCJisuanqiDlg:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

//Add"About..."menuitemtosystemmenu.

//IDM_ABOUTBOXmustbeinthesystemcommandrange.

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_hIcon,TRUE);//Setbigicon

SetIcon(m_hIcon,FALSE);//Setsmallicon

//TODO:

Addextrainitializationhere

returnTRUE;//returnTRUEunlessyousetthefocustoacontrol

}

voidCJisuanqiDlg:

:

OnSysCommand(UINTnID,LPARAMlParam)

{

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

{

CAboutDlgdlgAbout;

dlgAbout.DoModal();

}

else

{

CDialog:

:

OnSysCommand(nID,lParam);

}

}

//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow

//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,

//thisisautomaticallydoneforyoubytheframework.

voidCJisuanqiDlg:

:

OnPaint()

{

if(IsIconic())

{

CPaintDCdc(this);//devicecontextforpainting

SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);

//Centericoninclientrectangle

intcxIcon=GetSystemMetrics(SM_CXICON);

intcyIcon=GetSystemMetrics(SM_CYICON);

CRectrect;

GetClientRect(&rect);

intx=(rect.Width()-cxIcon+1)/2;

inty=(rect.Height()-cyIcon+1)/2;

//Drawtheicon

dc.DrawIcon(x,y,m_hIcon);

}

else

{

CDialog:

:

OnPaint();

}

}

//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags

//theminimizedwindow.

HCURSORCJisuanqiDlg:

:

OnQueryDragIcon()

{

return(HCURSOR)m_hIcon;

}

voidCJisuanqiDlg:

:

OnButton1()

{

num[i]=num[i]+"1";

m_s=m_s+"1";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton2()

{

num[i]=num[i]+"2";

m_s=m_s+"2";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton3()

{

num[i]=num[i]+"3";

m_s=m_s+"3";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton4()

{

num[i]=num[i]+"4";

m_s=m_s+"4";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton5()

{

num[i]=num[i]+"5";

m_s=m_s+"5";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton6()

{

num[i]=num[i]+"6";

m_s=m_s+"6";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton7()

{

num[i]=num[i]+"7";

m_s=m_s+"7";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton8()

{

num[i]=num[i]+"8";

m_s=m_s+"8";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton9()

{

num[i]=num[i]+"9";

m_s=m_s+"9";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton10()

{

num[i]=num[i]+"0";

m_s=m_s+"0";

op=0;d=1;point=1;q=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton13()

{

if(q==0){

op=1;d=0;

m_s=m_s+"+";

ch[i++]='+';point=0;q=1;}

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton14()

{

if(q==0){

op=1;d=0;

m_s=m_s+"-";

ch[i++]='-';point=0;q=1;}

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton15()

{

if(q==0){

op=1;d=0;

m_s=m_s+"*";

ch[i++]='*';point=0;q=1;}

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton16()

{

if(q==0){

op=1;d=0;

m_s=m_s+"/";

ch[i++]='/';point=0;q=1;}

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton17()

{

stri=_T("");n=0;

str=_T("");i=0;point=0;

s=0;aaa=0;d=0;op=0;for(i=0;i<20;i++)num[i]=_T("");

m_s=_T("");;s1=_T("");

x=0;y=0;z=0;

UpdateData(false);

}

voidCJisuanqiDlg:

:

OnButton12()

{

for(n=0;n

{

if((ch[n]=='*')||(ch[n]=='/'))

{

switch(ch[n])

{

case'*':

aaa=atof(num[n])*atof(num[n+1]);tt.Format("%lf",aaa);num[n+1]=tt;

num[n]="0";

if(n==0)

ch[n]='+';

elsech[n]=ch[n-1];

break;

case'/':

if(atof(num[n+1])==0)

{

MessageBox("被除数不能为零!

");

s=1;

break;

}

else

{

aaa=atof(num[n])/atof(num[n+1]);tt.Format("%lf",aaa);num[n+1]=tt;

num[n]="0";

if(n==0)

ch[n]='+';

elsech[n]=ch[n-1];

break;

}

}

}

}

if(s==0)

{

for(k=0;k

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

当前位置:首页 > 高等教育 > 教育学

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

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