【正文】
1=(()1)。 else { f3=f1/f2。 f2=atof(string2)。 string2=m_Show。 break。 } m_Show=string1。 while ((1)==0) { string1=(()1)。 f3=f1*f2。 f1=atof(string1)。 case 3: UpdateData()。 UpdateData(false)。 } if ((1)==.) { string1=(()1)。 (%f,f3)。 f2=atof(string2)。 string2=m_Show。 break。 } m_Show=string1。 while ((1)==0) { string1=(()1)。 f3=f1+f2。 f1=(1)*(atof(string1))。39。) f1=atof(string1)。 if((1)!=39。 switch (choose) { case 1: UpdateData()。 }}// The system calls this to obtain the cursor to display while the user drags// the minimized window.HCURSOR CJSQDlg::OnQueryDragIcon(){ return (HCURSOR) m_hIcon。 // Draw the icon (x, y, m_hIcon)。 int x = (() cxIcon + 1) / 2。 GetClientRect(amp。 int cyIcon = GetSystemMetrics(SM_CYICON)。 // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) (), 0)。 }}// If you add a minimize button to your dialog, you will need the code below// to draw the icon. For MFC applications using the document/view model,// this is automatically done for you by the framework.void CJSQDlg::OnPaint() { m=0。 ()。 // return TRUE unless you set the focus to a control}void CJSQDlg::OnSysCommand(UINT nID, LPARAM lParam){ if ((nID amp。 // Set big icon SetIcon(m_hIcon, FALSE)。 } } // Set the icon for this dialog. The framework does this automatically // when the application39。 if (!()) { pSysMenuAppendMenu(MF_SEPARATOR)。 if (pSysMenu != NULL) { CString strAboutMenu。 ASSERT(IDM_ABOUTBOX 0xF000)。 // Add About... menu item to system menu. // IDM_ABOUTBOX must be in the system mand range. ASSERT((IDM_ABOUTBOX amp。 DDX_Text(pDX, IDC_SHOW_EDIT, m_Show)。}void CJSQDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX)。 m_Show = _T(0)。CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD){ //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT}void CAboutDlg::DoDataExchange(CDataExchange* pDX){ CDialog::DoDataExchange(pDX)。 //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX)。endif/////////////////////////////////////////////////////////////////////////////// CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialog{public: CAboutDlg()。它還讓我感受到了實踐的重要性。只有這樣不斷糾正不斷思考,才能完成程序設計功能目的,才能在實踐中不斷提升自己。在設計過程中我們要善于思考。在面臨無從下手等這些問題只要找到相關的資料就會得到提示從而理解所要解決問題的大致方向。同時在設計過程中多思考,能否更好的完成實現(xiàn)。讓我感受到了:學完VC++后做課程設計得基本功過硬,設計過程中不得有半點馬虎。”所以在本學期末的課程設計是很及時、很必要的。在本學期中我們開設了《Visual C++實用教程》課的MFC部分皆為需要實踐內容,在開始著手程序設計時,有些功能感覺無從下手,都不知道要干什么。(4) Visual C++工具降低了編碼的復雜性。(2) MFC開發(fā)的應用程序使用了標準化的結構。使用MFC減少了大量建立Windows程序時必須編寫的代碼,由于VC++的繼承和封裝,正是由于MFC編程方法充分利用了面向對象技術優(yōu)點,使的設計程序編程時極少需要關心對象方法的實現(xiàn)細節(jié),而只需要簡單的調用自己已有對象的方法就可以了。我還要感謝所有關心幫助過我的同學。用break來跳出函數(shù),結束運算,現(xiàn)實結果。當case 1時候,同樣實現(xiàn)減法運算value=data1data2。在等于號按鈕的實現(xiàn)時候,我們用switch(type)來實現(xiàn),當case 0時候,實現(xiàn)加法運算 value=data1+data2。我們在每個函數(shù)中運用了type來定義運算類型,每個函數(shù)的type不同(如加法type=0。這樣即可保存第一個操作數(shù)。由于單目運算符中必須有執(zhí)行運算的函數(shù),,如m_show=sqrt(m_show).按下按鈕即可實現(xiàn)其功能。按下小數(shù)點按鈕后執(zhí)行docimal=1。BOOL型變量用docimal來判斷是否有小數(shù)點和一個整型數(shù)data_int來表示小數(shù)點后的數(shù)據的位數(shù)。4 設計結果及分析 測試設計結果1).輸入“100”,“”,“”,“ =”,得到結果如圖41所示圖412). 輸入”60”,”cos”運行結果如圖42所示圖42編輯框所關聯(lián)的變量為m_show,程序開始時為0。 } UpdateData(false)。 } m_Show+=39。139。 m_Show=。在“1”按鈕上單擊鼠標右鍵,選擇“建立類向導”菜單項,在彈出的對話框中選擇Messages Maps選項卡,然后在Object IDs列表框中雙擊選擇IDC_NUM1_BUTTON,在Messages列表框中選擇雙擊BN_CLICKED項,即給“1”按鈕選擇單擊按鈕事件,如圖37所示圖37“1”按鈕鏈接代碼對話框即對應的添加按鈕“1”的代碼void CJSQDlg::OnNum1Button() { // TODO: Add your control notification handler code here UpdateData()。如圖36所示。//存放運算類型.連接變量和代碼 1) 給編輯框連接變量。double count=10。double data_int=0。double data1=0。表33 三角函數(shù)集反三角函數(shù)的屬性ButtonIDC_SIN_BUTTONsinButtonIDC_COS_BUTTONcosButtonIDC_TAN_BUTTONtan表34 其他按鈕的屬性ButtonIDC_LOG_BUTTONlogButtonIDC_MOD_BUTTONmodButtonIDC_KE2_BUTTONx^2ButtonIDC_KE4_BUTTON10^xButtonIDC_FU7_BUTTON.ButtonIDC_EQUAL_BUTTON=ButtonIDC_FU5_BUTTON%ButtonIDC_FU6_BUTTON+/ButtonIDC_BACKSPACE_BUTTON回刪ButtonIDC_C_BUTTON清零ButtonIDC_KE1_BUTTON1/xButtonIDC_LN_BUTTONlnButtonIDC_CE_BUTTON√完成后界面如圖35所示圖351)include 以及定義define pi 2)中變量的定義bool decimal=0。圖34按照“1”的操作過程編輯完成其他按鈕和編輯框等對象的屬性。圖332)在圖32中Controls的“Button”按鈕上單擊鼠標左鍵,在對話框上的合適的位置上按下鼠標左鍵并拖動鼠標畫出一個大小合適的下壓式按鈕。1)在圖32中Controls的“編輯框”按鈕上單擊鼠標左鍵,在對話框編輯窗口上合適的位置按下鼠標左鍵并拖動鼠標畫出一個大小合適的編輯框。開始擺放控件,包括編輯框和按鈕的創(chuàng)建。若需用算出的結果繼續(xù)運算則當按下運算符號時,將自動先將m_show的數(shù)字保存到data1中再進行運算。若按下清零,以及結果是否超出顯示范圍,以做出相關提示,按下清零。NNY鍵入一個數(shù)是否為正數(shù)?m_show =10*m_show+im_show=10*m_showi是否為小數(shù)?用UpdateData(FALSE)刷新顯示還原m_show根據小數(shù)點后位數(shù)將鍵入的數(shù)除以n次10累加到m_showYN繼續(xù)鍵入數(shù)字?Y輸入數(shù)據子函數(shù)編輯框關聯(lián)變量m_show=0圖21 輸入數(shù)據子函數(shù)流程圖回到總流程圖中,輸完第一個操作數(shù)后,若按下雙目運算符,則把m_show存入data1,按下輸入第二個操作數(shù)并算出結果。子程序開始時m_show為零。所以次簡易計算器很有實用價值,可以很好的幫助使用者,讓計算變的簡單化,不必去進行復雜的筆算,很大程度上的減輕了使用者的精神上的損耗,也很大程度上提高了使用者的辦事效率。計算器的發(fā)展已經經過幾十年的過程,現(xiàn)在的計算器種類繁多,運算功能強大,在各行各業(yè)中均有應用,它的發(fā)展讓人們節(jié)省了很多時間精力,計算器的發(fā)展正在向各個方向延伸,每個行業(yè)所需要的計算有差別,這就發(fā)展了各種類型單獨的計算器,計算的運算速度,計算數(shù)字的龐大也在不斷向前發(fā)展,本設計中的簡易計算器,可以實現(xiàn)簡單的單目和雙目運算,方便一些簡單事務的處理。同樣可以方便生活中處理計算類的事件,避免煩瑣的計算,提高人們的處理計算事件的辦事效率,而且計算不會出錯。而且容易出錯,這就需要處理事件快捷的工具——計算器。MFC 。 MFC。當出現(xiàn)錯誤會給出相應提示。雙目運算符包含基本的四則運算及乘冪功能,單目運算符包含三角函數(shù),反三角函數(shù),階乘,對數(shù),開方,倒數(shù)等方面的運算。 二、進度安排:第1~3天: 查找資料,進行需求分析和概要設計;第4~6天: 各模塊的詳細設計;第7~12天: 軟件實現(xiàn)與調試;第13~14天:寫課程設計報告并提交源程序。2.要求軟件系統(tǒng)的功能完整。內容要求:設計并完成軟件系統(tǒng)。3.給出具體的編碼實現(xiàn)并調試。任務如下: 1.進行需求分析和概要設計,給出流程圖。此表格式為徐州師范大學物理與電子工程學院提供的基本格式,指導教師可根據本門課程設計的特點及內容做適當?shù)恼{整。平時表現(xiàn)成績低于6分的學生,取消答辯資格,其該課程設計成績按不及格處理。答辯后學生根據答辯情況填寫答