C++程序設(shè)計說明書-曹志民.doc_第1頁
C++程序設(shè)計說明書-曹志民.doc_第2頁
C++程序設(shè)計說明書-曹志民.doc_第3頁
C++程序設(shè)計說明書-曹志民.doc_第4頁
C++程序設(shè)計說明書-曹志民.doc_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

姓 名: 曹 志 民 班 級: 機 械2班 學(xué) 號: 201103710025 指導(dǎo)教師: 侯 宇 完成日期: 2012年2月 武漢科技大學(xué)機械自動化2 任務(wù)一 開發(fā)一個計算器程序一. 軟件目標(biāo)本課程設(shè)計的主要目的是通過計算器的來完成各種功能的運算過程,這樣可以減少計算量。該計算器可以實現(xiàn)加、減、乘、除運算以及平方根運算,也可以實現(xiàn)四則混合運算。數(shù)據(jù)操作既可以實現(xiàn)整數(shù)操作也可以實現(xiàn)實數(shù)的操作。二. 軟件設(shè)計1.開發(fā)環(huán)境 本計算器程序是用C+軟件進行開發(fā)設(shè)計的,設(shè)計環(huán)境為Visual Studio C+ 6.0。2.基本設(shè)計流程具體操作如下:建立工程Calculator,添加相應(yīng)的源文件Main和Mixoperation.h,最后編譯,鏈接,執(zhí)行。3.界面設(shè)計 本程序的設(shè)計界面為Windows本身的對話框界面。4.軟件功能模塊說明(1)加法功能可以實現(xiàn)整數(shù)和實數(shù)的相加運算。(2)減法功能可以實現(xiàn)整數(shù)和實數(shù)的相減運算。(3)乘法功能可以實現(xiàn)整數(shù)和實數(shù)的乘法運算。(4)除法功能可以實現(xiàn)整數(shù)和實數(shù)的除法運算。(5)四則混合運算功能可以實現(xiàn)整數(shù)和實數(shù)的四則混合運算。(6)顯示功能顯示用戶輸入的數(shù)據(jù),并顯示處理后的結(jié)果。三. 軟件實現(xiàn)過程1. 用MFC AppWizard 創(chuàng)建一個單文檔應(yīng)用程序(1)選擇“文件”“新建”菜單,在彈出的“新建”對話框中,可以看到工程標(biāo)簽頁面中,顯示出一系列的應(yīng)用程序項目類型;選擇MFC AppWizard(exe)的項目類型,將項目工作文件夾定位在“D:Visual C+ 6.0程序”,并在工程編輯框中輸入項目名Calculator。(2) 按Ctrl+W快捷鍵打開MFC ClassWizard對話框。在Class name組合框中,將類名選定為 CView類。Object IDs和Messages列表內(nèi)容會相應(yīng)的改變。在Object IDs列表框中選定CalculatorView,而在Messages列表中選定WM_LBUTTOMDOWN消息。2. 添加對話框,并布局對話框上的控件(1) 添加對話框資源;選中“Dialog”,單擊新建按鈕,系統(tǒng)就會自動為當(dāng)前應(yīng)用程序添加了一個對話框資源,并出現(xiàn)如圖所示的界面(2) 設(shè)置對話框的屬性;在對話框模板處右擊鼠標(biāo),從彈出的快捷菜單中選擇“屬性” ,出現(xiàn)如圖所示的對話框?qū)傩源翱凇?3) 添加和布局控件;(4) 創(chuàng)建對話框類;3. 添加消息映射函數(shù),寫主要代碼(1) 加法模塊void CCalculatorDlg:OnButton1() UpdateData(); m_num3=m_num1+m_num2;UpdateData(FALSE);(2) 減法模塊 void CCalculatorDlg:OnButton2() / TODO: Add your control notification handler code hereUpdateData(); m_num3=m_num1-m_num2;UpdateData(FALSE); (3) 乘法模塊void CCalculatorDlg:OnButton3() / TODO: Add your control notification handler code hereUpdateData(); m_num3=m_num1*m_num2;UpdateData(FALSE);(4) 除法模塊void CCalculatorDlg:OnButton7() / TODO: Add your control notification handler code hereUpdateData(); m_num3=m_num1/m_num2;UpdateData(FALSE); (5) 平方模塊void CCalculatorDlg:OnButton5() / TODO: Add your control notification handler code hereUpdateData(); m_num4=m_num4*m_num4;UpdateData(FALSE);(6) 正弦模塊void CCalculatorDlg:OnButton6() / TODO: Add your control notification handler code hereUpdateData(); m_num4=sin(m_num4*pi/180);UpdateData(FALSE);(7) 余弦模塊void CCalculatorDlg:OnButton8() / TODO: Add your control notification handler code hereUpdateData(); m_num4=cos(m_num4);UpdateData(FALSE);(8) 版本信息模塊void CCalculatorDlg:OnButton12() / TODO: Add your control notification handler code here CAboutAuthorDlg AboutAuthor; AboutAuthor.DoModal();四. 軟件界面截圖1. 主界面2. About對話框界面任務(wù)二 開發(fā)一個畫圖程序一. 軟件目標(biāo)開發(fā)一個畫圖軟件,要求是基于單文檔或多文檔的應(yīng)用程序,能繪制點、直線、矩形、圓、橢圓等基本幾何圖形。在此基礎(chǔ)上擴展多邊形、扇形、貝賽爾曲線以及文字輸出等功能。二. 軟件設(shè)計1.開發(fā)環(huán)境 本計算器程序是用C+軟件進行開發(fā)設(shè)計的,設(shè)計環(huán)境為Visual Studio C+ 6.0。2.基本設(shè)計流程具體操作如下:建立工程CZM_Draw,添加相應(yīng)的源文件Main和Mixoperation.h,最后編譯,鏈接,執(zhí)行3.界面設(shè)計 本程序的設(shè)計界面為Windows本身的對話框界面。4.軟件功能模塊說明(1) 在單文檔菜單中,在菜單行中可插入一個菜單項,命名為繪圖,在下拉菜單中可分別設(shè)置繪制的圖形形狀,如直線、矩形及橢圓,線寬選項,還可以設(shè)置線色以及填充色,通過彈出的顏色對話框選擇需要的顏色,如果不選擇線寬、線色以及填充色,則按默認的畫筆,畫刷來繪制選擇的圖形。 (2) 選擇好圖形后,通過鼠標(biāo)可以繪制出相應(yīng)的直線,矩形或橢圓,鼠標(biāo)的按下確定圖形的起點,鼠標(biāo)的拖動則確定了圖形的終點,即通過鼠標(biāo)的拖動來決定圖形的大小,當(dāng)鼠標(biāo)彈起,此圖形則繪制完畢。(3) 增添工具欄,設(shè)置繪制的圖形形狀,線色以及填充色,可更方便地選擇相應(yīng)的功能。三. 軟件實現(xiàn)過程1.創(chuàng)建單文檔 創(chuàng)建一個MFC AppWizardexe工程,命名為“CZM_Draw”,并創(chuàng)建單文檔,如圖1所示。創(chuàng)建成功后,系統(tǒng)自動生成相應(yīng)的類,如圖2所示。 圖 1 創(chuàng)建單文檔 圖 2 生成相應(yīng)的類2. 編輯菜單 添加需要的菜單項,如圖3所示;并在菜單的屬性中設(shè)定好所對應(yīng)的ID,如圖4所示,各項菜單對應(yīng)的ID如表1所示(其中線寬菜單為彈出菜單,只需在菜單項目屬性中的彈出選項前打勾即可,分隔線亦只需在菜單項目屬性中選中分隔符選項即可)。 圖3 添加菜單選項 圖 4 添加ID 菜單名ID菜單名ID點IDM_DOT線 型IDC_LINE_STYLE直 線IDM_LINE線 寬IDC_LINE_WIDTH矩 形IDM_RECTANGLE顏 色IDM_COLOR橢 圓IDM_ELLIPSE 表 1 菜單對應(yīng)項ID建立類向?qū)В谝晥D類CCZM_DrawView中,對各菜單項添加對應(yīng)的COMMAND消息處理函數(shù),部分菜單項還添加對應(yīng)的UPDATE_COMMAND_UI消息函數(shù)。3. 在相應(yīng)消息函數(shù)處添加代碼,實現(xiàn)其功能建立類向?qū)?,在視圖類CZM_DrawView中,添加WM_PAINT消息,以及WM_LBUTTONDOWN、WM_LBUTTONUP、WM_MOUSEMOVE消息,并在其中添加相應(yīng)的代碼。4. 選擇要繪制的圖形在直線、矩形以及橢圓的消息處理函數(shù)里為m_nDrawType分別賦值為1,2,3,在OnPaint()函數(shù)里添加1個switch語句的代碼來這實現(xiàn)這三個圖形的繪制:當(dāng)選擇畫點時,m_nDrawType=1;執(zhí)行繪制直線代碼時,m_nDrawType =2;當(dāng)選擇畫矩形時,m_nDrawType =3;當(dāng)性選擇畫橢圓時, m_nDrawType=4,則執(zhí)行繪制橢圓的代碼。5. 改變線寬 在OnPaint()創(chuàng)建的畫筆中,pen.CreatePen(PS_SOLID,w, m_nColor),線寬處用w表示,則改變w的值即改變了畫筆的粗細。選擇菜單繪圖線寬選擇劃線寬度值,此時所選的線寬值就賦給線寬變量w。若不選擇線寬值,則w=0(即默認線寬值為0)。6. 改變線色 在OnPaint()創(chuàng)建的畫筆中,pen.CreatePen(PS_SOLID,w, m_nColor),線的顏色處用m_nColor表示,則改變m_nColor即改變了畫筆的顏色。選擇菜單繪圖顏色,會彈出通過WM_COLORREF從系統(tǒng)中引入的顏色選擇對話框,選擇顏色后,點擊確定則相應(yīng)顏色值就賦給變量m_nColor,此時畫筆的顏色就會發(fā)上變化。若不選擇顏色,則默認(線)顏色為紅色。7. 關(guān)鍵源代碼(1)條件初始化CCZM_DrawView:CCZM_DrawView()/ TODO: add construction code here m_nDrawType=0; m_ptOrigin=0; m_nLineWidth=0; m_nLineStyle=0; m_clr=RGB(255,0,0);(2)繪圖代碼:點、直線、(包括線型和線寬)等void CCZM_DrawView:OnDot() m_nDrawType=1;void CCZM_DrawView:OnLine() m_nDrawType=2;void CCZM_DrawView:OnRectangle() m_nDrawType=3;void CCZM_DrawView:OnEllipse() m_nDrawType=4;void CCZM_DrawView:OnLButtonDown(UINT nFlags, CPoint point) m_ptOrigin=point;CView:OnLButtonDown(nFlags, point);void CCZM_DrawView:OnLButtonUp(UINT nFlags, CPoint point) CClientDC dc(this);CPen pen(m_nLineStyle,m_nLineWidth,m_clr);dc.SelectObject(&pen);CBrush*pBrush=CBrush:FromHandle(HBRUSH)GetStockObject(NULL_BRUSH);dc.SelectObject(pBrush);switch(m_nDrawType) case 1: dc.SetPixel(point,m_clr); break; case 2: dc.MoveTo(m_ptOrigin); dc.LineTo(point); break; case 3: dc.Rectangle(CRect(m_ptOrigin,point); break; case 4: dc.Ellipse(CRect(m_ptOrigin,point);break;CView:OnLButtonUp(nFlags, point);void CCZM_DrawView:OnSetting() CSettingDlg dlg;dlg.m_nLineWidth=m_nLineWidth;if(IDOK=dlg.DoModal()m_nLineWidth=dlg.m_nLineWidth;m_nLineStyle=dlg.m_nLineStyle;(3)顏色代碼void CCZM_DrawView:OnColor() CColorDialog dlg;if(IDOK=dlg.DoModal()m_clr=dlg.m_cc.rgbResult;四. 軟件界面截圖1. 主界面(運行結(jié)果) 2. About對話框界面任務(wù)三 開發(fā)一個數(shù)據(jù)庫應(yīng)用程序一. 軟件目標(biāo) 開發(fā)一個數(shù)據(jù)庫軟件,能夠?qū)崿F(xiàn)學(xué)籍信息管理、學(xué)生成績管理、圖書管理、人事管理或財務(wù)管理等數(shù)據(jù)庫應(yīng)用。二. 軟件設(shè)計1.本軟件基于單文檔開發(fā)模式。2.基本操作流程(1) 利用Microsoft Access 2003創(chuàng)建一個數(shù)據(jù)庫和數(shù)據(jù)表。 (2) 定義ODBC的數(shù)據(jù)源。(3) 打開c+程序建立一個基于單文檔的應(yīng)用程序。 (4)對控件進行布局,并設(shè)置屬性,添加成員變量和消息映射函數(shù)。 (5)設(shè)計查詢記錄和編輯記錄并插入相關(guān)控件顯示所有記錄。三. 軟件實現(xiàn)過程1. 應(yīng)用Micorosoft Office Access應(yīng)用程序構(gòu)造數(shù)據(jù)庫:數(shù)據(jù)表的有關(guān)情況:字段名稱數(shù)據(jù)類型字段大小小數(shù)位字段含義studentno文本50無學(xué)號course文本8無課程號score文本8無成績credit文本8無學(xué)分成績表學(xué)號(studentno)課程號(corse)成績(score)學(xué)分(credit)210101012112105803210101022112348852.52.構(gòu)造數(shù)據(jù)源進入控制面板,雙擊“管理工具”,然后雙擊“數(shù)據(jù)源”,單擊“添加”按鈕,選擇“Microsoft Access Driver”,單擊“完成”, 進入指定驅(qū)動程序的ODBC Access安裝對話框,單擊“選擇”按鈕將前面創(chuàng)建的數(shù)據(jù)庫調(diào)入,同時命名數(shù)據(jù)源的名字。3. 啟動Visual C+,創(chuàng)建一個單文檔應(yīng)用程序,并命名文件名,在向?qū)У牡?步對話框中加入數(shù)據(jù)庫文件的支持,然后找到第一步中建立的Access文件,將其導(dǎo)入。4.設(shè)計瀏覽記錄界面:找到“ResourcesView”點擊“Dialog”找到“IDD_CZM_ODBC_FORM”對話框進行控件布局,并添加控件。界面如下:對應(yīng)的控件如下:添加的控件ID標(biāo)識符標(biāo)題其他屬性按鈕IDC_ QUERY查詢默認按鈕IDC_ADD添加記錄默認按鈕IDC_EDIT修改記錄默認按鈕IDC_DEL刪除記錄默認添加的控件ID標(biāo)識符變量名稱變量類型編輯框IDC_STUDENTNOm_pSet -m_studentnoint編輯框IDC_CORSEm_pSet- m_corseint編輯框IDC_SCOREm_pSet- m_scoreint編輯框IDC_CREDITm_pSet-m_creditfloat5.設(shè)計查詢記錄 查詢按鈕所對應(yīng)的代碼如下:void CCZM_ODBCView:OnButtonQuery() / TODO: Add your control notification handler code hereUpdateData();m_strQuery.TrimLeft(); /刪除字符串左邊的空格及控制字符如(n t 空格等)if (m_strQuery.IsEmpty() MessageBox(要查詢的學(xué)號不能為空!); return; if (m_pSet-IsOpen() m_pSet-Close(); / 如果記錄集打開,則先關(guān)閉m_pSet-m_strFilter.Format(studentno=%s,m_strQuery); / studentno是score表的字段名,用來指定查詢條件m_pSet-m_strSort = course; / course是score表的字段名,用來按course字段從小到大排序m_pSet-Open(); / 打開記錄集if (!m_pSet-IsEOF() / 如果打開記錄集有記錄 UpdateData(FALSE); / 自動更新表單中控件顯示的內(nèi)容elseMessageBox(沒有查到你要找的學(xué)號記錄!); “添加記錄”按鈕所對應(yīng)的代碼:void CCZM_ODBCView:OnRecAdd() / TODO: Add your control notification handler code hereCScoreDlg dlg;if(dlg.DoModal()=IDOK)m_pSet-AddNew();m_pSet-m_course=dlg.m_strCourseNO;m_pSet-m_studentno=dlg.m_strStudentNO;m_pSet-m_score=dlg.m_fScore;m_pSet-m_credit=dlg.m_fCredit;m_pSet-Update();m_pSet-Requery; “

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論