版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第頁共21頁實用文檔課程設(shè)計(論文)題目:通訊錄管理系統(tǒng)院(系):__________________專業(yè)班級:姓名:學(xué)號:指導(dǎo)教師:年月日
設(shè)計總說明我的題目是“通訊錄管理系統(tǒng)”,具有對聯(lián)系人進行增刪改查等功能,只有一個窗口,窗口左邊是聯(lián)系人的詳細信息,右邊是聯(lián)系人姓名列表。窗口上列出所有的“通訊錄管理系統(tǒng)”的操作。例如:增加聯(lián)系人,刪除聯(lián)系人,插入聯(lián)系人,按姓名查找聯(lián)系人,按電話查找聯(lián)系人等,界面簡潔方便,功能齊全。本程序利用MFC界面編程,運用對話框,控件等資源實現(xiàn)界面化的通訊錄,使其不但具有美觀的界面,同時方便了用戶的操作。關(guān)鍵字:通訊錄,信息管理系統(tǒng)方便效率目錄設(shè)計總說明 21.設(shè)計目的 32.問題描述 43.需求分析 43.1數(shù)據(jù)需求 43.2基本功能需求 43.3非功能性需求 44.概要設(shè)計 54.1數(shù)據(jù)結(jié)構(gòu) 54.2系統(tǒng)包含的函數(shù) 54.3函數(shù)間的關(guān)系 64.4系統(tǒng)功能模塊圖 75.詳細設(shè)計 85.1結(jié)構(gòu)體的詳細定義 85.2系統(tǒng)函數(shù)詳細介紹 85.3系統(tǒng)功能模塊介紹 105.4具體模塊設(shè)計 105.4.1增加聯(lián)系人: 115.4.2:插入聯(lián)系人 125.4.3:刪除聯(lián)系人 135.4.4:保存聯(lián)系人 145.4.5:查找聯(lián)系人 155.4.6:其它輔助功能 156.調(diào)試分析 167.使用說明 178.設(shè)計總結(jié) 209.參考文獻 21
《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計通訊錄管理系統(tǒng)1.設(shè)計目的“數(shù)據(jù)結(jié)構(gòu)”是計算機科學(xué)與技術(shù)專業(yè)一門十分重要的專業(yè)技術(shù)基礎(chǔ)課,計算機科學(xué)各領(lǐng)域及有關(guān)的應(yīng)用軟件都要使用到各種數(shù)據(jù)結(jié)構(gòu)。對于從事計算機科學(xué)及其應(yīng)用的科技工作者來說,數(shù)據(jù)結(jié)構(gòu)與算法是必須透徹地掌握的重要基礎(chǔ)。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的最終目的是解決實際的應(yīng)用問題,特別是非數(shù)值計算類型的應(yīng)用問題。課程設(shè)計是加強學(xué)生實踐能力的一個強有力手段。課程設(shè)計所安排的題目,在難度和深度方面都大于平時的上機訓(xùn)練,要求同學(xué)在完成設(shè)計和編寫中小型軟件的過程中,深化對數(shù)據(jù)結(jié)構(gòu)與算法課程中基本概念、理論和方法的理解;訓(xùn)練綜合運用所學(xué)知識處理實際問題的能力,強化面向?qū)ο蟮某绦蛟O(shè)計理念;使同學(xué)的程序設(shè)計與調(diào)試水平有一個明顯的提高。課程設(shè)計要求學(xué)生在完成程序設(shè)計的同時能夠撰寫比較規(guī)范的設(shè)計報告。嚴(yán)格實施課程設(shè)計這一環(huán)節(jié),對于學(xué)生基本程序設(shè)計素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯著的促進作用。2.問題描述本程序主要是為了解決聯(lián)系人的信息管理而制作的通訊錄管理系統(tǒng)??蓪β?lián)系人帶進行添加、修改、刪除、及對保存的聯(lián)系人按不同方式進行查詢。也加入了其它微小的輔助功能,如跳到最后一個聯(lián)系人。實現(xiàn)聯(lián)系人信息的方便管理。3.需求分析3.1數(shù)據(jù)需求聯(lián)系人信息:詳細信息包括姓名,性別,電話,郵編,住址。3.2基本功能需求對聯(lián)系人進行增加,插入,修改,刪除,保存,按姓名查詢,按電話查詢。3.3非功能性需求用戶界面需求:簡潔、易用、易懂、友好的用戶界面。硬件要求:裝有Visualstudio2012的計算機??煽啃孕枨螅罕WC用戶在正常使用本系統(tǒng)時,用戶的操作或誤操作不會產(chǎn)生數(shù)據(jù)的丟失。4.概要設(shè)計4.1數(shù)據(jù)結(jié)構(gòu)用結(jié)構(gòu)struct定義聯(lián)系人信息,用鏈表實現(xiàn)對聯(lián)系人信息的存儲及維護。以文件的形式保存聯(lián)系人信息到硬盤。4.2系統(tǒng)包含的函數(shù)類class:CmyDlg該類的成員函數(shù)及功能如下:函數(shù)原型:voidDataInit() 功能:完成從文件讀取數(shù)據(jù)的操作,如果文件不存在則只建立鏈表 函數(shù)原型:voidOnFirst() 功能:讓鏈表的當(dāng)前指針返回開頭,并在編輯框中顯示第一個記錄函數(shù)原型:voidOnNext() 功能:讓鏈表的當(dāng)前指針向后移一個位置,并在編輯框中顯示出來 .函數(shù)原型:voidOnPrior() 功能:讓鏈表的當(dāng)前指針向前移一個位置,并在編輯框中顯示出來 函數(shù)原型:voidOnLast() 功能:讓鏈表的當(dāng)前指針跳到結(jié)尾,并在編輯框中顯示出來 函數(shù)原型:voidOnAdd() 功能:在鏈表結(jié)尾添加一個結(jié)點并在用戶列表中顯示 函數(shù)原型:voidOnInsert() 功能:在鏈表當(dāng)前結(jié)點和下一結(jié)點間添加一個結(jié)點并在用戶列表中顯示 函數(shù)原型:voidOnDelete() 功能:刪除鏈表和用戶列表的當(dāng)前結(jié)點函數(shù)原型:voidOnSave() 功能:將編輯框中輸入的信息存儲到鏈表和用戶列表中去 函數(shù)原型:voidOnExit() 功能:關(guān)閉程序并將鏈表信息存入文件persondata.txt函數(shù)原型:voidOnSearchway1() 功能:完成按姓名查找用戶信息的功能并在編輯框和用戶列表中顯示出來 函數(shù)原型:voidOnSearchway2() 功能:完成按電話號碼查找用戶信息的功能并在編輯框和用戶列表中顯示出來 函數(shù)原型:voidOnSelchangeNamelist() 功能:完成在列表框點擊某項時將該項信息在編輯框中顯示出來函數(shù)原型:voidLoadInfo(structpersondata*p) 功能:將結(jié)點中存放的數(shù)據(jù)信息顯示在文本框中 輸入為當(dāng)前結(jié)點的地址值,輸出為空。 函數(shù)原型:voidOnClose() 功能:關(guān)閉程序并將鏈表信息存入文件persondata.txt 4.3函數(shù)間的關(guān)系進入程序調(diào)用DataInit()從硬盤讀取數(shù)據(jù),并將信息放入鏈表中。通過OnSave()把信息保存到鏈表中,當(dāng)退出程序時自動存盤。用函數(shù)OnDelete()刪除鏈表和用戶列表的當(dāng)前結(jié)點,可用函數(shù)OnAdd()在鏈表結(jié)尾添加一個結(jié)點并在用戶列表中顯示OnSearchway1()和OnSearchway2()可實現(xiàn)按不同方式進行聯(lián)系人查詢。 函數(shù)OnSelchangeNamelist()完成在列表框點擊某項時將該項信息在編輯框中顯示出來函數(shù)LoadInfo(structpersondata*p)將結(jié)點中存放的數(shù)據(jù)信息顯示在文本框中。以上這些函數(shù)各自有各自的功能,是通訊錄管理系統(tǒng)的基本功能的實現(xiàn),缺一不可。 其它函數(shù)OnLast()和OnPrior()和OnNext()和OnFirst()是額外添加的一些輔助功能,僅僅是為了方便使用。4.4系統(tǒng)功能模塊圖通訊錄管理系統(tǒng)通訊錄管理系統(tǒng)保存聯(lián)系人修改保存聯(lián)系人修改聯(lián)系人增加聯(lián)系人刪除聯(lián)系人退出查找聯(lián)系人按姓名按姓名查找按電話查找圖4-1系統(tǒng)功能模塊圖5.詳細設(shè)計5.1結(jié)構(gòu)體的詳細定義structpersondata{ charname[10];//姓名 charphonum[15];//電話號碼 charaddress[15];//地址 charpostcode[7];//郵編 charsex;//性別 structpersondata*pre;//上一節(jié)點 structpersondata*next;//下一結(jié)點}5.2系統(tǒng)函數(shù)詳細介紹類名:CmyDlg以下是其成員函數(shù)及功能說明:函數(shù)原型:voidDataInit() 功能:完成從文件讀取數(shù)據(jù)的操作,如果文件不存在則只建立鏈表 函數(shù)原型:voidOnFirst() 功能:讓鏈表的當(dāng)前指針返回開頭,并在編輯框中顯示第一個記錄函數(shù)原型:voidOnNext() 功能:讓鏈表的當(dāng)前指針向后移一個位置,并在編輯框中顯示出來 .函數(shù)原型:voidOnPrior() 功能:讓鏈表的當(dāng)前指針向前移一個位置,并在編輯框中顯示出來 函數(shù)原型:voidOnLast() 功能:讓鏈表的當(dāng)前指針跳到結(jié)尾,并在編輯框中顯示出來 函數(shù)原型:voidOnAdd() 功能:在鏈表結(jié)尾添加一個結(jié)點并在用戶列表中顯示 函數(shù)原型:voidOnInsert() 功能:在鏈表當(dāng)前結(jié)點和下一結(jié)點間添加一個結(jié)點并在用戶列表中顯示 函數(shù)原型:voidOnDelete() 功能:刪除鏈表和用戶列表的當(dāng)前結(jié)點函數(shù)原型:voidOnDelete() 功能:刪除鏈表和用戶列表的當(dāng)前結(jié)點函數(shù)原型:voidOnSave() 功能:將編輯框中輸入的信息存儲到鏈表和用戶列表中去 函數(shù)原型:voidOnExit() 功能:關(guān)閉程序并將鏈表信息存入文件persondata.txt函數(shù)原型:voidOnSearchway1() 功能:完成按姓名查找用戶信息的功能并在編輯框和用戶列表中顯示出來 函數(shù)原型:voidOnSearchway2() 功能:完成按電話號碼查找用戶信息的功能并在編輯框和用戶列表中顯示出來 函數(shù)原型:voidOnSelchangeNamelist() 功能:完成在列表框點擊某項時將該項信息在編輯框中顯示出來函數(shù)原型:voidLoadInfo(structpersondata*p) 功能:將結(jié)點中存放的數(shù)據(jù)信息顯示在文本框中 輸入為當(dāng)前結(jié)點的地址值,輸出為空。 函數(shù)原型:voidOnClose() 功能:關(guān)閉程序并將鏈表信息存入文件persondata.txt
5.3系統(tǒng)功能模塊介紹系統(tǒng)只有一個模塊,通訊錄管理。其中包含了聯(lián)系人的增加,聯(lián)系人的刪除,保存,查找(分按姓名查找和按電話查找),及其它輔助功能:跳到上個聯(lián)系人,跳到下個聯(lián)系人,跳到第一個聯(lián)系人,跳到最后一個聯(lián)系人。5.4具體模塊設(shè)計
5.4.1增加聯(lián)系人:增加聯(lián)系人增加聯(lián)系人啟用文本框控件啟用文本框控件每一個字符數(shù)組的每一元素都賦值為空格再初始化每一個字符數(shù)組的每一元素都賦值為空格再初始化在列表框中插入新名字并選中在列表框中插入新名字并選中總結(jié)點數(shù)加1,在尾結(jié)點后插入新結(jié)點總結(jié)點數(shù)加1,在尾結(jié)點后插入新結(jié)點啟用按鈕控件,在文本框顯示個人信息啟用按鈕控件,在文本框顯示個人信息圖5.1增加聯(lián)系人(注:此時需要點擊保存聯(lián)系人才能有效保存存入的聯(lián)系人)5.4.2:插入聯(lián)系人插入聯(lián)系人插入聯(lián)系人啟用文本框控件啟用文本框控件總結(jié)點數(shù)加1總結(jié)點數(shù)加1將默認的數(shù)據(jù)復(fù)制到當(dāng)前結(jié)點將默認的數(shù)據(jù)復(fù)制到當(dāng)前結(jié)點在列表框中插入新名字并選中在列表框中插入新名字并選中新建臨時指針p新建臨時指針p當(dāng)前結(jié)點是不是尾結(jié)點否是當(dāng)前結(jié)點是不是尾結(jié)點否是cur->next=p;p->pre=cur;p->next=NULL;cur=p;cur->next->pre=p;p->next=cur->next;cur->next=p;p->pre=cur;cur=p;cur->next=p;p->pre=cur;p->next=NULL;cur=p;cur->next->pre=p;p->next=cur->next;cur->next=p;p->pre=cur;cur=p;啟用按鈕控件,在文本框顯示個人信息啟用按鈕控件,在文本框顯示個人信息圖5.2插入聯(lián)系人刪除聯(lián)系人5.4.3:刪除聯(lián)系人刪除聯(lián)系人得到所選記錄在列表框中的序號得到所選記錄在列表框中的序號新建臨時指針P新建臨時指針P彈出確認對話框:是否刪除聯(lián)系人?是彈出確認對話框:是否刪除聯(lián)系人?是否否當(dāng)前節(jié)點是否為尾節(jié)點結(jié)束當(dāng)前節(jié)點是否為尾節(jié)點結(jié)束是是否否cur=cur->next; cur->pre=p->pre; cur=cur->next; cur->pre=p->pre; p->pre->next=cur;m_namelist.SetCurSel(sel+1);cur=cur->pre;cur->next=NULL;last=cur;m_namelist.SetCurSel(sel-1);總用戶信息數(shù)減一在列表框中刪除記錄總用戶信息數(shù)減一在列表框中刪除記錄圖5.3刪除聯(lián)系人5.4.4:保存聯(lián)系人保存聯(lián)系人保存聯(lián)系人將編輯框輸入的信息傳遞給變量將編輯框輸入的信息傳遞給變量檢查輸入是否合法,不合法無法繼續(xù)檢查輸入是否合法,不合法無法繼續(xù)獲取列表框記錄的位置,用于修改列表框中的記錄獲取列表框記錄的位置,用于修改列表框中的記錄將編輯框中信息存入當(dāng)前結(jié)點將編輯框中信息存入當(dāng)前結(jié)點將編輯框信息存入鏈表,更新列表框信息將編輯框信息存入鏈表,更新列表框信息保存成功保存成功圖5.4刪除聯(lián)系人5.4.5:查找聯(lián)系人查找聯(lián)系人查找聯(lián)系人遍歷鏈表,是否存在該聯(lián)系人遍歷鏈表,是否存在該聯(lián)系人不存在不存在存在存在提示框:"查無記錄!"將找到的信息輸入編輯框,在用戶列表中顯示提示框:"查無記錄!"將找到的信息輸入編輯框,在用戶列表中顯示圖5.5查找聯(lián)系人(注:查找聯(lián)系人分按姓名和電話查找,只是方式不同而已。)5.4.6:其它輔助功能1:退出:退出并存盤。2:跳到其它聯(lián)系人:跳到上個聯(lián)系人,跳到下個聯(lián)系人,跳到第一個聯(lián)系人,跳到最后一個聯(lián)系人。6.調(diào)試分析本軟件是基于Windows的編程開發(fā),所以,軟件調(diào)試必須在Windows環(huán)境下進行。調(diào)試前須做好準(zhǔn)備工作:需要安裝VisualStudio2012的計算機一臺;配置好之后,在VisualStudio2012環(huán)境下進行軟件的調(diào)試。(1) 測試數(shù)據(jù):聯(lián)系人信息輸入:在“添加”模塊中,點擊“添加”會新建一個名字初始化為“新姓名”,其它信息為空的聯(lián)系人信息,可添加信息。聯(lián)系人信息修改:點擊需要修改的聯(lián)系人,在編輯框內(nèi)即可修改信息,修改后點擊保存即修改成功。聯(lián)系人信息刪除:點擊需要修改的聯(lián)系人,點擊刪除,再次確認后即可刪除。聯(lián)系人的查詢:按姓名進行查詢、按電話號進行查詢這兩個功能模塊在具體編程實現(xiàn)上基本上是一樣的,因為都是針對聯(lián)系人信息的查詢。因此我們僅以“按姓名進行查詢”為例來說明一下這兩個個功能模塊的詳細實現(xiàn)過程。輸入需要查詢的姓名,點擊按姓名查找,如果存在該聯(lián)系人就跳到該聯(lián)系人,并且顯示詳細信息。值得注意的是,兩種查找方式當(dāng)存在信息相同的情況,比如具有相同的姓名的有多個,則顯示的是第一個人的信息。(2) 算法改進設(shè)想:在程序設(shè)計前期,我們并沒有用txt文件來保存學(xué)生信息。經(jīng)過我不斷的修改以及調(diào)試后,該程序總算可以進行txt文本的讀出與寫入,并且添加學(xué)生信息后可以直接將信息保存在txt文本文件中。7.使用說明1.雙擊Txl.exe進入程序主界面。圖7.1系統(tǒng)主界面2.添加聯(lián)系人圖7.2添加聯(lián)系人添加新聯(lián)系人時,添加到列表最后,姓名初始化為:“新名字”其它信息均為空。若想添加到其它位置,請使用插入功能。3插入聯(lián)系人選擇要插入的位置,點擊“插入”即插入了新聯(lián)系人。添加信息后點擊保存即可4.保存聯(lián)系人點擊“保存”進行保存,注意電話號碼限定了長度,如果輸入不符合11位長度則無法保存4.刪除聯(lián)系人圖7.3刪除聯(lián)系人選擇需要刪除的聯(lián)系人,點擊“刪除”,確認刪除后,即可刪除成功。5.查找聯(lián)系人分按姓名查找和按電話查找。如圖輸入姓名點擊“按姓名查找”:圖7.4按姓名查找聯(lián)系人輸入電話號碼點擊“按電話查找”圖7.5按電話查找聯(lián)系人如圖,因為電話號碼里查找不到“王五”,彈出“查無記錄”。6.其它輔助功能點擊“第一個”跳到第一個聯(lián)系人信息;點擊“下一個”;點擊“上一個”跳到上一個聯(lián)系人信息;點擊“最后一個”跳到最后一個聯(lián)系人信息。7.退出點擊“退出”退出程序,此時系統(tǒng)自動進行存盤。8.設(shè)計總結(jié)。課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識
,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對我們的實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新月異,當(dāng)今計算機應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握程序開發(fā)技術(shù)是十分重要的,而MFC編程又是最常見,功能最強大的一種高級語言,因此做好和MFC編程課程設(shè)計是十分必要的。
回顧起此次課程設(shè)計,至今我們?nèi)愿锌H多,的確,自從拿到題目到完成整個編程,從理論到實踐,在整整兩周里,可以學(xué)到很多很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年汽車銷售公司售后服務(wù)保障合同3篇
- 2024年科技創(chuàng)新項目贊助合同3篇
- 2025下半年浙江麗水市青田縣招聘國企業(yè)工作人員及人員高頻重點提升(共500題)附帶答案詳解
- 2025下半年廣西玉林市殘疾人聯(lián)合會直屬事業(yè)單位市殘疾人康復(fù)中心招聘5人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川省雅安市級事業(yè)單位招聘117人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川省內(nèi)江威遠縣鎮(zhèn)屬事業(yè)單位專項招聘5人歷年高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川南充市順慶區(qū)事業(yè)單位招聘22人高頻重點提升(共500題)附帶答案詳解
- 2025上??茖W(xué)技術(shù)交流中心工作人員公開招聘高頻重點提升(共500題)附帶答案詳解
- 2025上半年陜西省寶雞市事業(yè)單位歷年高頻重點提升(共500題)附帶答案詳解
- 2025上半年浙江省舟山廣播電視總臺招聘事業(yè)單位人員13人高頻重點提升(共500題)附帶答案詳解
- TCNEA-高溫氣冷堆球形燃料元件包裝技術(shù)規(guī)范
- DL∕T 1502-2016 廠用電繼電保護整定計算導(dǎo)則
- 滬教版九年級數(shù)學(xué)上冊期中期末挑戰(zhàn)滿分沖刺卷期中測試卷02(原卷版+解析)
- 《跨境電商英語》課程標(biāo)準(zhǔn)
- 上海市2023-2024學(xué)年高一上學(xué)期期末質(zhì)量調(diào)研化學(xué)檢測試卷(含答案)
- 陜西省西北工業(yè)大學(xué)附中2024屆高一數(shù)學(xué)第二學(xué)期期末經(jīng)典試題含解析
- 中儲糧管理制度
- 高鐵乘務(wù)員的儀態(tài)禮儀課件
- 污水排入城鎮(zhèn)污水管網(wǎng)排放口設(shè)置技術(shù)規(guī)范
- 建筑施工企業(yè)的安全生產(chǎn)管理全面手冊
- 河湖長制培訓(xùn)課件
評論
0/150
提交評論