freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c++計(jì)算器課程設(shè)計(jì)--計(jì)算器程序設(shè)計(jì)-文庫(kù)吧

2025-05-16 19:22 本頁(yè)面


【正文】 單項(xiàng) ID_EXTEND的響應(yīng) 函數(shù) OnExtend。 流程圖 : C++課程設(shè)計(jì) 4 系統(tǒng)的實(shí)現(xiàn) 文件創(chuàng)建 利用 MFC AppWinzard生成計(jì)算器應(yīng)用程序框架具體步驟如下: ( 1) 執(zhí)行 VC程序,選擇 File|New命令,彈出 New對(duì)話(huà)框 .單擊 Projects標(biāo)簽,轉(zhuǎn)到 Projects選項(xiàng)卡,選擇 MFC AppWizard(exe)選項(xiàng),然后在 Project name文本框中輸入 ZZ 。 Lacation文本框是指項(xiàng)目的本地路徑。 如圖所示。 開(kāi)始 輸入第一個(gè)數(shù) 輸入第二個(gè)數(shù) +、 、 *、 /等 x^ log、 tan、 cos、sin、等 顯示結(jié)果 按“ CE”清零 結(jié)束 C++課程設(shè)計(jì) 5 (2)單擊 OK按鈕,彈出 MFC AppWinzard_Step1對(duì)話(huà)框。選中 基本對(duì)話(huà)框 ,如圖所示。 (3)單擊 Next按鈕,彈出 MFC AppWinzard_Step2 of4對(duì)話(huà)框,如圖所示。 (4)單擊 Next按鈕,彈出 MFC AppWinzard_Step3 of4對(duì)話(huà)框,如圖所示。 C++課程設(shè)計(jì) 6 (5)單擊 Next按鈕,彈出 MFC AppWinzard_Step4 of4對(duì)話(huà)框,如圖所示。單擊 Finish按鈕,創(chuàng)建框架。 界面設(shè)計(jì) (1)編輯對(duì)話(huà)框及控件資源 利用 Visual C++提供的資源編輯器對(duì)對(duì)話(huà)框資源 進(jìn)行編輯。刪除對(duì)話(huà)框中默認(rèn)的 OK和Cancel按鈕。添加一個(gè) Edit控件,其控件 ID為 IDC_EDIT1。 C++課程設(shè)計(jì) 7 接下來(lái) 在對(duì)話(huà)框上的合適的位置上按下鼠標(biāo)左鍵并拖動(dòng)鼠標(biāo)畫(huà)出一個(gè)大小合適的下壓式按鈕。在按鈕上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇屬性選項(xiàng),此時(shí)也彈出 Push Button屬性對(duì)話(huà)框,如圖所示, 在該對(duì)話(huà)框中輸入控件的 ID值和標(biāo)題屬性。 并通過(guò)復(fù)制 添加若干按鈕控件,其 ID如表 41所示。 表 1按鈕控件資源清單 : 按鈕名稱(chēng) 按鈕 ID 用途 0 B0 按鍵 0 1 B1 按鍵 1 2 B2 按鍵 2 3 B3 按鍵 3 4 B4 按鍵 4 5 B5 按鍵 5 6 B6 按鍵 6 7 B7 按鍵 7 8 B8 按鍵 8 9 B9 按鍵 9 . Bd 小數(shù)點(diǎn) C++課程設(shè)計(jì) 8 = Brun 求值 + Badd 加號(hào) Bsub 減號(hào) * Bmult 乘號(hào) / Bdiv 除號(hào) CE ce 清屏 Sqrt sqrt 開(kāi)方 sin sin 正弦 cos cos 余弦 tan tan 正切 x^2 pf 平方 log log 對(duì)數(shù) 所有按鍵都添加好后的 效果如圖 2所示。 圖 2 ( 2)連接 按鈕與變量 除了 建立上面所示的控件外,還要對(duì)每個(gè)按鈕控件定義一個(gè) 對(duì)象與之相關(guān)聯(lián),并為每個(gè)按鈕控件 建 立一個(gè)成員函數(shù)來(lái)響應(yīng)其 BN_CLICKED消息。如 圖 3所示: C++課程設(shè)計(jì) 9 圖 3為按鈕控件添加消息響應(yīng) (3)關(guān)聯(lián)控件與對(duì)象 在 CAboutDlg類(lèi)的聲明中,已經(jīng)為編輯框、靜態(tài)框及每一個(gè)按鈕聲明了相應(yīng)類(lèi)型的對(duì)象與之對(duì)應(yīng)。但這些控件與對(duì)象的關(guān)聯(lián)工作是在 DoDataExchange函數(shù)中完成的。 圖 4關(guān)聯(lián)控件與對(duì)象 C++課程設(shè)計(jì) 10 (4)添加背景圖 為對(duì)話(huà)框添加背景圖,以增加界面的美觀性。首先為工程添加一幅位圖資源,以作為對(duì)話(huà)框的背景。然后加入一個(gè) Static控件,將其 Type屬性設(shè)為 Bitmap,并為 Image屬性選擇位圖資源,如圖 5所示。 圖 5添加位圖 參數(shù)設(shè)置后對(duì)話(huà)框的外觀如圖 6所示。 圖 6運(yùn)行結(jié)果圖 數(shù)值計(jì)算功能的實(shí)現(xiàn) ○ 1 具體功能的實(shí)現(xiàn)首先添加成員變量。該計(jì)算器中 大部分的運(yùn)算都是二元運(yùn)算,即需要兩個(gè)操作數(shù)和 一個(gè)二元運(yùn)算操作符。所以必須聲明兩個(gè)浮點(diǎn)數(shù),分別用來(lái)表示初始操作數(shù)和結(jié)果操作數(shù),同時(shí),必須聲明兩個(gè)字符串類(lèi)型的變量,分別用來(lái)顯示初始操作數(shù)。還需要一個(gè)整形變量來(lái)記錄當(dāng)前運(yùn)算符,以及一個(gè)整形變量來(lái)記 錄當(dāng)前小數(shù)點(diǎn)按鈕是否被單擊過(guò)。 定義 如下: public: CZZDlg(CWnd* pParent = NULL)。 // standard constructor C++課程設(shè)計(jì) 11 double m_input。 //保存輸入的數(shù)字 bool m_done,opt。 //布爾類(lèi)型成員變量,判斷一次計(jì)算結(jié)束,和操作符點(diǎn)擊的憑據(jù) void Numin(double put)。 //成員函數(shù),處理輸入的數(shù)據(jù) double num_1,num_2。 //兩個(gè)操作數(shù) void operate()。//輸入運(yùn)算符后要調(diào)用的函數(shù) int yun。//運(yùn)算判斷 bool dian。//判斷小數(shù)點(diǎn)是否被點(diǎn)擊 int n。//顯示小數(shù)部分的輸入位數(shù) double m。 void OnMnuCut()。 void OnMnuCopy()。 void OnMnuPaste()。 void OnContextMenu(CWnd* pWnd, CPoint point)。 ○ 2 當(dāng)小數(shù)點(diǎn)鍵被單擊時(shí),首先判斷小數(shù)點(diǎn)鍵是否已經(jīng)被單擊過(guò),以及當(dāng)前初始操作數(shù)字符串是否為空。如果小數(shù)點(diǎn)鍵沒(méi)有被單擊過(guò),而且當(dāng)前初始操作數(shù)字符串不為空, 則將小數(shù)點(diǎn)追加到初始操作數(shù)末尾,并且修改小數(shù)點(diǎn)標(biāo)識(shí) dian為 TRUE。實(shí)現(xiàn)代碼如下: 小數(shù) 點(diǎn)的定義如下: void CZZDlg::OnBd() { // . dian=true。 n=1。 } ○ 3 程序判斷代碼 實(shí)現(xiàn) 如下: void CZZDlg::Numin(double put) { if(m_done==true||opt==true) //如果一次計(jì)算結(jié)束或運(yùn)算符已經(jīng)選擇 { if(dian==false)//如果小數(shù)點(diǎn)還沒(méi)有被按下 { m_Result=m_input=。 UpdateData(false)。 m_input=m_input*10+put。 C++課程設(shè)計(jì) 12 m_Result=m_input。 UpdateData(false)。 opt=false。m_done=false。 } else if(dian==true)//如果小數(shù)點(diǎn)已經(jīng)被按下 ////////// { m_Result=m_input=。 UpdateData(false)。 int i。 for(i=0。in。i++) { put=put/10。 } m=put。 m_input=m_input+m。 m_Result=m_input。 UpdateData(false)。 opt=false。m_done=false。 } } else { if(dian==false)//如果小數(shù)點(diǎn)還沒(méi)有被按下 { m_input=m_input*10+put。 m_Result=m_input。 UpdateData(false)。 opt=false。m_done=false。 } else if(dian==true)//如果小數(shù)點(diǎn)已經(jīng)被按下 /////////////// { int i。 for(i=0。in。i++) { C++課程設(shè)計(jì) 13 put=put/10。 } m=put。 m_input=m_input+m。 m_Result=m_input。 UpdateData(false)。 opt=false。m_done=false。 } } n++。 } ○ 4 當(dāng)數(shù)字鍵 0— 9被單擊時(shí),則將當(dāng)前所按鍵加到初始操作數(shù)末尾,并將初始操作數(shù)顯示出來(lái)。以數(shù)字鍵盤(pán)被單擊為例,實(shí)現(xiàn)代碼如下: void CZZDlg::OnB0() { // 0 Numin()。 } void CZZDlg::OnB1() { // 1 Numin()。 } void CZZDlg::OnB2() { // 2 Numin()。 } void CZZDlg::OnB3() {// 3 Numin()。 } void CZZDlg::OnB4() { // 4 Numin()。 } void CZZDlg::OnB5() { // 5 Numin()。 } void CZZDlg::OnB6() { // 6 Numin()。 } void CZZDlg::OnB7() { // 7 Numin()。 C++課程設(shè)計(jì) 14 } void CZZDlg::OnB8() {// 8 Numin()。 } void CZZDlg::OnB9() { // 9 Numin()。 } void CZZDlg::operate() { num_1=m_Result。 opt=true。 dian=false。 n=0。 } ○ 5 當(dāng)清除鍵 CE被單擊時(shí),則對(duì)所有的成員變量進(jìn)行初始化。清除小數(shù)點(diǎn)標(biāo)識(shí),將保存初始操作數(shù)和結(jié)果操作數(shù)的字符串清空,將保存初始操作數(shù)和結(jié)果操作數(shù)的浮點(diǎn)數(shù)清 0,將當(dāng)前操作符清 0。實(shí)現(xiàn)代碼如下: void CZZDlg::OnBce() {// CE m_input=0。 m_Result=float(m_input)。 UpdateData(false)。 m_done=false。 dian=false。 opt=false。 n=0。 } ○ 6 當(dāng) 任何一個(gè)運(yùn)算符鍵被單擊時(shí),首先根據(jù)當(dāng)前運(yùn)算符計(jì)算運(yùn)算結(jié)果,再修改記錄當(dāng)前運(yùn)算符的變量的值。以加號(hào)鍵被按下為例,實(shí)現(xiàn)代碼如下: 加號(hào)函數(shù): void CZZDlg::OnBadd() { // + operate()。 yun=1。 } void CZZDlg::operate() { num_1=m_Result。 C++課程設(shè)計(jì) 15 opt=true。 dian=false。 n=0。 } ○ 7 加號(hào)運(yùn)算的實(shí)現(xiàn)如下: if(yun==1)//判斷執(zhí)行何種運(yùn)算 { m_Result=num_1+num_2。 UpdateData(false)。 } ○ 8 計(jì)算機(jī)還有簡(jiǎn)單的函數(shù)功能,函數(shù)定義如下: void CZZDlg::Onlog() { operate()。 yun=5。 } void CZZDlg::Onpf() { operate()。 yun=6。 } void CZZDlg::Onsqrt() { operate()。 yun=7。 } void CZZDlg::Onsin() { operate()。 yun=8。 } void CZZDlg::Ontan() { operate()。 yun=9。 } void CZZDlg::Oncos() { operate()。 yun=10。 } ○ 9 函數(shù)運(yùn)算實(shí)現(xiàn)如下: else if(yun==6)//平方 { m_Result=num_1*num_1。 UpdateData(false)。 } else if(yun==7)//根號(hào) { if(num_1=0) C++課程設(shè)計(jì) 16 { m_Result=0。 UpdateData(false)。 } m_Result=sqrt(num_1)。 UpdateData(false)。 } else if(yun==8)//sin { m_Result=sin(num_1*PI/180)。 UpdateData(false)。 } else if(yun==9)//tan { m_Result=tan(num_1*PI/180)。 UpdateData(false)。 } else if(yun==10)//cos { m_Result=cos(num_1*PI/180)。 UpdateData(false)。 } ○10
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1