

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計任務書</b></p><p> 題目 通訊薄 </p><p> 基于Visual C++實現(xiàn) 簡單的通訊薄</p><p> 摘要:本通訊薄信息管理系統(tǒng)用計算機管理電子通訊錄的一種計算機應用技術的創(chuàng)新,在計算機還未普及之前通訊
2、管理都是由聯(lián)系人采用名片,筆錄手工記賬的方式來操作的。現(xiàn)在一般的通訊錄管理都是采用計算機通訊錄管理程序來幫助人們進行更有效的通訊錄信息管理。查閱有關資料,進一步理解程序設計模塊的思想。通過本設計可以加深理解利用程序設計思想開發(fā)一個系統(tǒng)的整個流程,提高分析問題、解決問題和實際動手的能力。 </p><p> 關鍵字:C++; MFC編程</p><p> 2015年 12 月 4 日&l
3、t;/p><p><b> 前言</b></p><p> 日益繁多的人際交往使得我們很難記住與每個人之間的聯(lián)系方式,通訊錄能夠便捷的給我們帶來所需要的相關信息。而隨著計算機的普及,人們的生活擺脫了傳統(tǒng)式的記事本、電話簿,越來越多的靠計算機或者手機中的電話簿程序來幫助人們記住這些事情極其簡便。這就需要有一個使用的通訊錄管理系統(tǒng),用戶可以方便的通過自己電腦的通訊錄管理系
4、統(tǒng),來隨時查閱自己所需要的信息,而不必再大費周折去翻開那繁瑣的記事本。</p><p> 21世紀是IT普及的世界,到處都存在IT的身影,身處其中,實時通訊已是占據(jù)它不可或缺的地位。因此,一個好的、強大的通訊錄系統(tǒng)已成為企業(yè)、個人通訊工作的好壞不但可以直接影響到企業(yè)、個人人際關系,而且會間接的影響到企業(yè)、個人經(jīng)濟利益和社會地位。隨著社會的發(fā)展,科技的進步,計算機的應用在社會各領域中都得到了普及越來越多的人都感受
5、到利用計算機進行各類管理的科學和便捷;認識到通訊信息系統(tǒng)對于通訊工作的重要性。利用計算機進行通訊管理是必然趨勢,通訊錄系統(tǒng)是各類工作中不可缺少的。所以在這次課程設計中,我選擇開發(fā)通訊錄管理系統(tǒng)。通訊錄管理系統(tǒng)的功能主要有增加記錄,刪除記錄。這就要求它應該能夠為用戶提供有好美觀的窗口界面、充足可靠的信息數(shù)據(jù)、簡單方便的維護手段和靈活多變的查詢方式以及快捷而準確的查詢結果。所以,對于通訊錄管理系統(tǒng)的設計主要包括數(shù)據(jù)庫的建立、維護以及應用程序
6、的開發(fā)兩個方面。對于前者而言要求建立起數(shù)據(jù)一致性及完整性強、數(shù)據(jù)安全性好</p><p> 的數(shù)據(jù)庫。對于后者而言則要求具備應用程序功能全易使用等,運行穩(wěn)定等特點。因此,擬選用的開發(fā)軟件是Microsoft公司出品的Visual C++6.0 MFC平臺進行系統(tǒng)的開發(fā)。</p><p><b> 目錄</b></p><p> 前言………
7、……………………………………………………………1</p><p> 第一章 課程設計的目的和要求…………………………………… 3</p><p> 1.1 課程設計目的………………………………………………3</p><p> 1.2 課程設計要求………………………………………………3</p><p> 第二章 課程設計任務內容…………
8、……………………………… 4</p><p> 2.1 系統(tǒng)實現(xiàn)方案………………………………………………4</p><p> 2.2 系統(tǒng)實現(xiàn)環(huán)境………………………………………………4</p><p> 2.3具體的開發(fā)方法……………………………………………4</p><p> 第三章 總體設計思路………………………………………………
9、 5</p><p> 3.1 面對的問題…………………………………………………5</p><p> 3.2 解決問題的關鍵技術等……………………………………5</p><p> 3.3 通訊錄系統(tǒng)管理分析………………………………………5</p><p> 3.4 涉及的基礎知識……………………………………………5</p>
10、<p> 3.4.1 MFC簡介………………………………………………5</p><p> 3.4.2 AppWizard向導開發(fā)應用程序………………………5</p><p> 第四章 功能模塊框圖………………………………………………10</p><p> 4.1 通訊錄管理涉及……………………………………………10</p><
11、;p> 4.2 部署鏈接……………………………………………………10</p><p> 4.3 算法描述……………………………………………………11</p><p> 4.4 詳細流程圖…………………………………………………11</p><p> 第五章 程序測試……………………………………………………12</p><p>
12、第六章 課程設計遇到的問題與體會………………………………15</p><p> 參考文獻…………………………………………………………… 16</p><p> 附錄………………………………………………………………… 17</p><p> 第一章 課程設計目的和要求</p><p> 1.1 課程設計目的</p><
13、;p> 學習了了C++語言后,通過編寫程序基本掌握面向過程程序設計的基本思路和方法,達到熟練掌握C++語言的基本知識和技能,使自己能夠利用所學的基本知識和技能,解決簡單的程序設計問題。</p><p> 1.2 課程設計要求</p><p><b> 基本要求</b></p><p> 在編寫程序的過程中,要利用C++語言面向過程
14、的編程思想來完成系統(tǒng)的設計,特別是要突出C語言的函數(shù)特征,以多個函數(shù)實現(xiàn)每一個子功能,其中還包括靈活運用指針、畫出功能模塊圖、用文件流實現(xiàn)數(shù)據(jù)的保存和讀取。整個程序要進行簡單界面設計,能夠實現(xiàn)友好的交互,具有清晰的程序流程圖和數(shù)據(jù)結構的詳細定義。</p><p><b> 創(chuàng)新要求</b></p><p> 軟件要有自己的特點,要有很好的可移植性,做到盡量完善程序
15、</p><p><b> 總體方案</b></p><p> 使用在基礎知識中數(shù)據(jù)庫的設計先設計數(shù)據(jù)庫和數(shù)據(jù)表。用MFC設計應用程序框架,在創(chuàng)建MFC時,進入框架設計的第2步,應選擇“查看數(shù)據(jù)庫而不使用文件支持”,在“Data Source”里添加已經(jīng)創(chuàng)建的數(shù)據(jù)庫和數(shù)據(jù)表,即可完成。然后制作通訊錄管理主窗體,在里面最主要的是進行控件與數(shù)據(jù)表字段的綁定。最后為系統(tǒng)
16、實現(xiàn)增加、刪除、刷新與查詢功能。</p><p><b> 第二章課程設計內容</b></p><p> 用C++語言編寫一個通訊簿軟件實現(xiàn)以下功能:</p><p> 1.管理個人的聯(lián)系人信息,可以方便地通過該軟件對聯(lián)系人進行相 應的功能操作;</p><
17、;p> 2. 聯(lián)系人信息可以根據(jù)需要全部顯示,默認為按字母順序顯示;</p><p> 3. 聯(lián)系人信息查詢可以通過輸入姓名查詢或輸入號碼查詢</p><p> 4. 新建聯(lián)系人,填寫聯(lián)系人信息,包括姓名、地址、郵箱、聯(lián)系方式、備注等;</p><p> 5. 支持對聯(lián)系人信息的修改;</p><p> 6. 能夠刪除不再需要
18、的聯(lián)系人;</p><p> 7. 能夠通過文件的方式瀏覽聯(lián)系人的信息。</p><p> 2.1系統(tǒng)實現(xiàn)方案:</p><p> 為實現(xiàn)系統(tǒng)功能,本程序主要分為五個模塊。它們分別為:輸入一個信息、刪除一個信息、查詢一個信息、插入一個信息、列出所有的信息、退出該程序。這五個函數(shù)再通過主函數(shù)調用分別得以實現(xiàn)。</p><p> 主函數(shù),
19、首先提供了程序運行時的友好界面,列出了清單,提供用戶做出選擇,以便</p><p> 決定使用通訊錄的哪種功能。然后,通過執(zhí)行多分支選擇語句——switch語句,分別實現(xiàn)其它各個函數(shù)的調用功能。</p><p> 2.2系統(tǒng)實現(xiàn)環(huán)境:</p><p> 通過VC++6.0用C++語言對程序進行編寫設計</p><p> 在window
20、s界面下用DOS訪問</p><p> 2.3具體的開發(fā)方法:</p><p> 用面向對象的程序設計方法,運用C++語言編寫程序進行該學生考勤管理系統(tǒng)的詳細設計,使之能提供錄入、顯示、查找、刪除、修改的功能。最后在VC++6.0</p><p> 環(huán)境下編寫和調試程序,進而完成系統(tǒng)的實現(xiàn)。</p><p> 第三章 總體設計思路&l
21、t;/p><p> 根據(jù)課程設計任務編寫了相應的程序。程序簡單的分為了八個模塊,以下對八個模塊進行說明,包括模塊間的關系、函數(shù)、函數(shù)間的關系以及系統(tǒng)的測試、運行等都會加以說明。</p><p><b> 3.1 面對的問題</b></p><p> 這次課題主要的問題就是數(shù)據(jù)庫的結構設計。這里所說的數(shù)據(jù)庫結構設計是指數(shù)據(jù)庫中各個表結構的設計,
22、包括信息保存在哪些表格中,各個表的結構如何以及各個表之間的關系。通訊錄管理雖然只有一個數(shù)據(jù)表,但仍然要進行數(shù)據(jù)鏈接,這其中也就帶來了各成員之間的綁定問題。</p><p> 3.2解決問題的關鍵技術等</p><p> 通訊錄管理系統(tǒng)需解決的關鍵技術是與數(shù)據(jù)源進行鏈接,Microsoft Access的使用以及MFC的使用等。</p><p> 3.3 通訊錄
23、管理系統(tǒng)分析</p><p> 通訊錄管理系統(tǒng)主要是對個人的人脈通訊信息的管理,使個人的人脈通訊信息管理更加科學化、便捷化;為個人的人脈通訊信息管理水平跨上新臺階;為個人的人脈發(fā)展奠定堅實基礎。進行通訊錄管理系統(tǒng)需要Windows2000以上的操作系統(tǒng)及Visual C++6.0語言環(huán)境。</p><p> 3.4 涉及的基礎知識</p><p> 3.4.1
24、 MFC簡介</p><p> MFC是Microsoft Foundation Class Library(微軟基礎類庫)的縮寫形式。它是C++的類集,提供面向對象框架,利用這個框架,程序員可以輕松地創(chuàng)建Windows應用程序。</p><p> MFC還提供應用程序開發(fā)模型。此模型被稱為文檔/視圖模型。文檔/視圖模型是將應用程序數(shù)據(jù)與用戶界面元素分離的一種應用程序方法。它允許這兩部
25、分程序獨立存在,這樣一來,程序員在更改其中一部分時,就無須大量更改另一部分。</p><p> MFC為程序員提供了更友好的C++類,使之更易于使用。在很多情況下,MFC在幕后執(zhí)行一些復雜操作,而向開發(fā)人員提供更簡單的編程界面,并可以掩蓋Windows API的一些缺點。</p><p> 3.4.2 AppWizard向導開發(fā)應用程序</p><p> 從F
26、ile菜單中單擊New(新建),顯示New對話框的Projects(項目)選項卡,其中列出了Visual C++中的向導。選擇標有MFC AppWizard(exe)的圖標,如圖,為項目輸入一個名字。在Location文本框中指定一個路徑。直到選擇列表中的一個圖標,并輸入一個項目名后,OK按鈕才能用。單擊OK。</p><p><b> 步驟1</b></p><p&g
27、t; AppWizard的第一步要求用戶指定應用程序的類型,選擇單文檔界面(SDI)多文檔界面(MDI)或基于對話框的界面。要創(chuàng)建不需要文檔對象從磁盤文件中讀取數(shù)據(jù)的簡單的Windows應用程序,把標為Document/View Architecture Support(文檔/視圖結構支持)復選項禁用即可</p><p><b> 步驟2</b></p><p>
28、 在圖中所在的AppWizard的第二步中,要求提供項目所需要的數(shù)據(jù)庫支持種類。我們選擇None,有使用數(shù)據(jù)庫,Next(下一步)按鈕跳過這一步,進到步驟3。</p><p><b> 步驟3</b></p><p> 在AppWizard的第三步中,設置程序的OLE和ActiveX支持類型。對話框上半部分的五個單選按鈕控制著AppWizard添加到程序中的復合
29、文檔支持的類型。我們仍然選擇None,單擊Next按鈕進到步驟4。</p><p><b> 步驟4</b></p><p> 在圖中所示的AppWizard的第四步中,可以控制AppWizard為程序創(chuàng)建</p><p><b> 哪些用戶界面元素。</b></p><p> AppWiz
30、ard自動為程序主窗口的菜單系統(tǒng)、工具欄及狀態(tài)欄生成代碼和數(shù)據(jù)。Normal(常規(guī))Internet Explorer Rebars單選按鈕為應用程序的工具欄提供兩種不同的風格。激活Context-Sensitive Help(上下文相關)復選項,會告訴AppWizard希望所創(chuàng)建的程序提供在線幫助。這些說明清晰完整不需要再做更多的工作只需要說明那些自己添加到程序中的命令以加強幫助文件。在AppWizard第四步的對話框的右下角有一個A
31、dvanced(高級)按鈕,單擊它,將顯示一個標題為Advanced Options(高級選項)的包含兩個選項卡的對話框。</p><p><b> 步驟5</b></p><p> 所示的 AppWizard 的第五步詢問想創(chuàng)建的程序的風格、是否需要附加的源代碼注釋,及希望程序如何鏈接到MFC庫。</p><p><b> 步
32、驟6</b></p><p> AppWizard 的第六步列舉了AppWizard將為項目創(chuàng)建的類</p><p> 單擊Finish按鈕后,AppWizard顯示一個摘要表,其中列出了所選的項目特征。單擊OK會使AppWizard在摘要表底部所列的目錄下創(chuàng)建項目。</p><p> 第四章 功能模塊框圖</p><p>
33、 根據(jù)系統(tǒng)功能的要求,可以將系統(tǒng)分解成幾個功能模塊,它如圖2—12所示。</p><p> 4.1通訊錄管理系統(tǒng)設計</p><p> 通訊錄管理系統(tǒng)設計主要進行四個功能:增加記錄、刪除記錄、修改記錄。</p><p><b> 4.2部署鏈接</b></p><p><b> 4.3算法描述<
34、/b></p><p> 增加記錄的功能描述(如圖3-2所示):獲取指向數(shù)據(jù)庫的指針->確認對數(shù)據(jù)庫的任何修改均已保存->獲取新的NAME值->通過AddNew函數(shù)來添加新記錄->把新的NAME值設置為新增記錄中的NAME字段值->調用Requery函數(shù)更新記錄->游標移到最后一條記錄。</p><p> 刪除記錄的功能描述(如圖3-3所示):
35、刪除記錄->游標移到下一條記錄->如果游標在文件尾,將它移到最后一條記錄->如果游標在文件頭,則內容為空->更新表單。</p><p><b> 4.4 詳細流程圖</b></p><p><b> 第五章 程序測試</b></p><p> 編譯并連接源程序,執(zhí)行程序后</p>
36、<p><b> 1)初始界面</b></p><p> 2)增加記錄的運行圖</p><p> 3)刪除記錄的運行圖</p><p> 第六章 課程設計遇到的問題與體會</p><p> 實驗過程中遇到的問題:</p><p> 1、始時對mfc的一些控件的使用不是很熟悉
37、,</p><p> 通過查閱相關資料了解了樹形、列表控件的使用方法。</p><p> 2、按照教程上的方法在刪除記錄時無法刪除相應的數(shù)據(jù)經(jīng)過自己的調試和修改,得到了自己想要的結果。</p><p> 3、實現(xiàn)添加記錄到樹中的功能時,開始并沒有得到想要的結果,總會插入重復的數(shù)據(jù),后經(jīng)過自己的分析,發(fā)現(xiàn)了算法的錯誤之處,并加以改動,實現(xiàn)了所需的功能。</
38、p><p><b> 體會:</b></p><p> 本程序基本完成了報告上要求的添加、修改、刪除、分類顯示、查詢這些要求。分類顯示實現(xiàn)了多級顯示。但本程序只能添加本學校的學生信息,如果輸入學院、專業(yè)、班級為空,樹形控件的顯示也為空。分類顯示應該像qq這類聊天工具一樣,可以自己定義分組,然后向每個分組中插入學生信息。本程序還進行了打包,方便其他同學安裝使用,但只能安
39、在默認目錄下,安裝在其它目錄下會提示用戶選擇數(shù)據(jù)源。</p><p> 課程設計是十分有意義,而且是十分必要的。編寫程序的過程就是自我提高的過程。通過編寫程序能夠鞏固自己所學,發(fā)現(xiàn)自己編程中的問題,改正自己的錯誤,鍛煉自己的思維,掌握更多的新知識。其實,編程也可以看作是一種智力游戲。它要求編程者思路清晰,語言嚴謹,算法科學、正確,對問題的處理要干凈、簡潔。當然,在這次課程設計作業(yè)的過程中由于在設計方面我們沒有經(jīng)
40、驗,理論基礎知識掌握得不牢固,在設計中難免會出現(xiàn)這樣那樣的問題,但是方法總是比問題多,有問題才會有進步,所以我在完成這次作業(yè)的過程中我總是不怕出現(xiàn)問題,希望發(fā)現(xiàn)問題、解決問題。本次的課程設計,培養(yǎng)了我綜合應用C++程序設計課程及其他課程的理論知識和理論聯(lián)系實際的能力,在今后的學習過程中我們會更加努力和團結。程設計可以說要告一段落了,這期間雖然很忙碌、很疲勞,但是收獲很大。希望這次課程設計作業(yè)能夠得到老師的評點和指教。</p>
41、<p><b> 參考文獻:</b></p><p> 1 譚浩強 . C++程序設計(第一版).[m].北京:清華大學出版社,2004 </p><p> 2 Decoder.C/C++程序設計.[m].北京:中國鐵道出版社,2002 </p><p> 3 [美]Walter Savitch著,周靖譯.C++
42、面向對象程序設計——基礎、數(shù)據(jù)結構與編程思想.[m].北京:清華大學出版社,2004</p><p> 4 刁成嘉.面向對象C++程序設計.[m].北京:機械工業(yè)出版社,2004</p><p> 附錄:部分程序(帶有較詳細的注釋)</p><p><b> 增加記錄的代碼</b></p><p> voNam
43、e COdbcDlg::OnBtnadd() </p><p><b> { </b></p><p> // TODO: Add your control notification handler code here char strSql[1024]; </p><p> this->UpdateData(TRUE); &l
44、t;/p><p> sprintf(strSql,"insert into emp values(%d,'%s','%s')", atoi(m_strName), m_strSex, m_strPhone); </p><p> icePub_databaseExeSQLDirect(m_hdbc,strSql,&hStmt);
45、//執(zhí)行sql語句</p><p> this->ShowData();</p><p> sprintf(strSql,"delete from emp where 姓名= %s", m_strName); </p><p> icePub_databaseExeSQLDirect(m_hdbc,strSql,&hStmt)
46、; //執(zhí)行sql語句</p><p> this->ShowData(); //刷新CListCtl的顯示數(shù)據(jù)</p><p> m_strName = ""; </p><p> m_strSex = ""; </p><p> m_strPhone = "";
47、</p><p> UpdateData(FALSE); </p><p><b> } </b></p><p><b> 刷新記錄的代碼</b></p><p> voName COdbcDlg::OnBtnrefresh() </p><p><b&g
48、t; { </b></p><p> // TODO: Add your control notification handler code here </p><p> this->UpdateData(FALSE); </p><p> this->ShowData(); </p><p><b&
49、gt; }</b></p><p><b> 修改記錄的代碼</b></p><p> voName COdbcDlg::OnItemchangedList2(NMHDR* pNMHDR, LRESULT* pResult) </p><p><b> { </b></p><p&
50、gt; NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; </p><p> // TODO: Add your control notification handler code here </p><p> if(pNMListView->uNewState&LVIS_SELECTED) </p>&l
51、t;p><b> { </b></p><p> char pContent[50] ; </p><p> int iCurrent = pNMListView->iItem; </p><p> m_ListCtrl.GetItemText(iCurrent,0,pContent,50); </p>&
52、lt;p> m_strIName=Format("%s", pContent); </p><p> m_ListCtrl.GetItemText(iCurrent,1,pContent,50); </p><p> m_strSex = CString(pContent); </p><p> m_ListCtrl.GetIt
53、emText(iCurrent,2,pContent,50); </p><p> m_strPhone = CString(pContent); </p><p> UpdateData(FALSE); </p><p><b> } </b></p><p> *pResult = 0; </p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于visual c++的數(shù)字鍵盤式簡單計算器課程設計
- visual c++超市管理系統(tǒng)課程設計報告
- c++課程設計學生通訊管理系統(tǒng)
- c++課程設計--簡單成績管理系統(tǒng)
- c++課程設計--簡單計算器
- c++課程設計--簡單計算器
- c++課程設計——學生籍貫信息記錄薄
- c++課程設計報告--簡單計算器
- c++簡單計算器課程設計報告
- 簡單的通信管理系統(tǒng)--課程設計c++
- c++課程設計--簡單的行編輯器
- c++課程設計——簡單圖形的處理系統(tǒng)
- 基于Visual C++網(wǎng)絡監(jiān)聽的實現(xiàn).pdf
- c++課程設計---簡單3d建模系統(tǒng)
- 課程設計---用c++語言設計個人帳薄管理系統(tǒng)
- c++課程設計--簡單文本編輯器的設計
- c++課程設計--基于c++的火車票管理系統(tǒng)
- visual c++綜合設計題目
- c++課程設計報告
- 基于c++的教師排課程序課程設計
評論
0/150
提交評論