软件基础课程设计报告C语言计算器设计Word文档格式.docx
- 文档编号:316572
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:29
- 大小:167.59KB
软件基础课程设计报告C语言计算器设计Word文档格式.docx
《软件基础课程设计报告C语言计算器设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件基础课程设计报告C语言计算器设计Word文档格式.docx(29页珍藏版)》请在冰点文库上搜索。
计算器Dlg.cpp:
#include"
stdafx.h"
计算器.h"
计算器Dlg.h"
math.h"
#include"
FirstDlg.h"
#include<
windows.h>
#definePI3.14;
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//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()
//CMyDlgdialog
CMyDlg:
CMyDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CMyDlg:
IDD,pParent)
//{{AFX_DATA_INIT(CMyDlg)
m_result=0.0;
//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32
m_hIcon=AfxGetApp()->
LoadIcon(IDR_MAINFRAME);
voidCMyDlg:
//{{AFX_DATA_MAP(CMyDlg)
DDX_Control(pDX,IDC_EDIT1,m_EDIT);
DDX_Text(pDX,IDC_EDIT1,m_result);
BEGIN_MESSAGE_MAP(CMyDlg,CDialog)
//{{AFX_MSG_MAP(CMyDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_NUM0,OnNum0)
ON_BN_CLICKED(IDC_NUM1,OnNum1)
ON_BN_CLICKED(IDC_NUM2,OnNum2)
ON_BN_CLICKED(IDC_NUM3,OnNum3)
ON_BN_CLICKED(IDC_NUM4,OnNum4)
ON_BN_CLICKED(IDC_NUM5,OnNum5)
ON_BN_CLICKED(IDC_NUM6,OnNum6)
ON_BN_CLICKED(IDC_NUM7,OnNum7)
ON_BN_CLICKED(IDC_NUM8,OnNum8)
ON_BN_CLICKED(IDC_NUM9,OnNum9)
ON_BN_CLICKED(IDC_DOT,OnDot)
ON_BN_CLICKED(IDC_CE,OnCe)
ON_BN_CLICKED(IDC_jia,Onjia)
ON_BN_CLICKED(IDC_jian,Onjian)
ON_BN_CLICKED(IDC_cheng,Oncheng)
ON_BN_CLICKED(IDC_chu,Onchu)
ON_BN_CLICKED(IDC_dengyu,Ondengyu)
ON_BN_CLICKED(IDC_daoshu,Ondaoshu)
ON_BN_CLICKED(IDC_zhengfu,Onzhengfu)
ON_BN_CLICKED(IDC_BACKSPACE,OnBackspace)
ON_BN_CLICKED(IDC_Ln,OnLn)
ON_BN_CLICKED(IDC_log,Onlog)
ON_BN_CLICKED(IDC_RADIO2,OnRadio2)
ON_BN_CLICKED(IDC_RADIO1,OnRadio1)
ON_BN_CLICKED(IDC_sqrt,Onsqrt)
ON_BN_CLICKED(IDC_sin,Onsin)
ON_BN_CLICKED(IDC_cos,Oncos)
ON_BN_CLICKED(IDC_tan,Ontan)
ON_BN_CLICKED(IDC_pingfang,Onpingfang)
ON_BN_CLICKED(IDC_lifang,Onlifang)
ON_BN_CLICKED(IDC_mi,Onmi)
ON_BN_CLICKED(IDC_Exp,OnExp)
ON_BN_CLICKED(IDC_10demi,On10demi)
ON_BN_CLICKED(IDC_jiecheng,Onjiecheng)
ON_COMMAND(ID_TIME,OnTime)
ON_COMMAND(ID_DATE,OnDate)
ON_COMMAND(ID_EXIT,OnExit)
ON_COMMAND(ID_HELP,OnHelp)
//CMyDlgmessagehandlers
BOOLCMyDlg:
OnInitDialog()
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);
AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);
}
}
//Settheiconforthisdialog.Theframeworkdoesthisautomatically
//whentheapplication'
smainwindowisnotadialog
SetIcon(m_hIcon,TRUE);
//Setbigicon
SetIcon(m_hIcon,FALSE);
//Setsmallicon
//TODO:
Addextrainitializationhere
CheckRadioButton(IDC_RADIO1,IDC_RADIO2,IDC_RADIO1);
UpdateData(FALSE);
quan2=1;
dotflag=0;
numflag=0;
returnTRUE;
//returnTRUEunlessyousetthefocustoacontrol
OnSysCommand(UINTnID,LPARAMlParam)
if((nID&
0xFFF0)==IDM_ABOUTBOX)
CAboutDlgdlgAbout;
dlgAbout.DoModal();
else
CDialog:
OnSysCommand(nID,lParam);
//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow
//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,
//thisisautomaticallydoneforyoubytheframework.
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);
OnPaint();
//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags
//theminimizedwindow.
HCURSORCMyDlg:
OnQueryDragIcon()
return(HCURSOR)m_hIcon;
OnNum0()
UpdateData();
if(dotflag)
quan2*=10;
m_result+=0/(double)quan2;
if(numflag)
m_result=m_result*10+0;
elsem_result=0;
numflag=1;
OnNum1()
UpdateData();
m_result+=1/(double)quan2;
m_result=m_result*10+1;
elsem_result=1;
OnNum2()
m_result+=2/(double)quan2;
m_result=m_result*10+2;
elsem_result=2;
OnNum3()
m_result+=3/(double)quan2;
m_result=m_result*10+3;
elsem_result=3;
OnNum4()
m_result+=4/(double)quan2;
m_result=m_result*10+4;
elsem_result=4;
OnNum5()
m_result+=5/(double)quan2;
m_result=m_result*10+5;
elsem_result=5;
OnNum6()
m_result+=6/(double)quan2;
m_result=m_result*10+6;
elsem_result=6;
OnNum7()
m_result+=7/(double)quan2;
m_result=m_result*10+7;
elsem_result=7;
OnNum8()
m_result+=8/(double)quan2;
m_result=m_result*10+8;
elsem_result=8;
OnNum9()
m_result+=9/(double)quan2;
m_result=m_result*10+9;
elsem_result=9;
OnDot()
dotflag=1;
m_result+=0.0;
UpdateData(FALSE);
OnCe()
m_EDIT.SetSel(0,-1);
m_EDIT.ReplaceSel("
"
);
m_result=0;
num1=0;
num2=0;
numflag=0;
dotflag=0;
quan2=1;
Onjia()
num1=m_result;
cal='
+'
;
Onjian()
-'
Oncheng()
*'
Onchu()
/'
Ondengyu()
num2=m_result;
switch(cal)
case'
m_result=num1+num2;
break;
m_result=num1-num2;
m_result=num1*num2;
m_result=num1/num2;
x'
m_result=pow(num1,num2);
Ondaoshu()
m_result=1/m_result;
Onzhengfu()
m_result=0-m_result;
OnBackspace()
staticintdotquan=quan2;
longtemp;
if(dotflag&
&
numflag)
if(dotquan>
=10)
temp=(long)(m_result*dotquan);
m_result=(double)(temp/10);
dotquan/=10;
m_result=m_result/dotquan;
else
//UpdateData();
if(numflag&
m_result)
m_result=(long)m_result/10;
OnLn()
m_result=log(m_result);
numflag=0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 基础 课程设计 报告 语言 计算器 设计