c++課程設(shè)計(jì)報(bào)告通信錄



課程設(shè)計(jì)說(shuō)明書課程名稱 C++項(xiàng)目設(shè)計(jì) 設(shè)計(jì)題目 學(xué)生姓名 學(xué)號(hào) 專 業(yè) 指導(dǎo)教師 年 月 日 目錄一、系統(tǒng)開(kāi)發(fā)相關(guān)情況 1(一)開(kāi)發(fā)背景 1(二)系統(tǒng)開(kāi)發(fā)的目標(biāo) 1二、系統(tǒng)以及需求分析 1(一)系統(tǒng)目標(biāo) 1三、程序功能描述以及模塊結(jié)構(gòu) 2(一)功能模塊描述及主要類描述 2(二)程序流程圖 3(三)數(shù)據(jù)結(jié)構(gòu)表 4四、用戶使用說(shuō)明與調(diào)試結(jié)果 4(一)使用說(shuō)明 4(二)調(diào)試結(jié)果 4(三)優(yōu)缺點(diǎn)分析 8五、總結(jié) 8參考文獻(xiàn): 9附錄:職工信息管理系統(tǒng)源碼(C++) 9隨著信息技術(shù)在管理上越來(lái)越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟管理信息系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,任何一個(gè)單位要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來(lái),就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)本文介紹了在Microsoft Visual C++ 6.0環(huán)境下開(kāi)發(fā)一個(gè)通訊錄的過(guò)程。
本系統(tǒng)界面友好,操作簡(jiǎn)單,比較實(shí)用一、系統(tǒng)開(kāi)發(fā)相關(guān)情況(一) 開(kāi)發(fā)背景隨著信息技術(shù)在管理上越來(lái)越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟管理信息系統(tǒng)是一個(gè)不斷發(fā)展的新型學(xué)科,任何一個(gè)單位要生存要發(fā)展,要高效率地把內(nèi)部活動(dòng)有機(jī)地組織起來(lái),就必須建立與自身特點(diǎn)相適應(yīng)的管理信息系統(tǒng)二)系統(tǒng)開(kāi)發(fā)的目標(biāo)為了更好地適應(yīng)我校的要求,進(jìn)一步提供全方位的信息服務(wù)通訊錄在實(shí)施后應(yīng)該能夠達(dá)到以下的目標(biāo): ★ 能夠準(zhǔn)確地記錄職工的相關(guān)信息★ 系統(tǒng)界面友好、操作簡(jiǎn)單易行,查詢靈活方便,數(shù)據(jù)儲(chǔ)存安全可靠★ 系統(tǒng)維護(hù)安全、方便、可靠,并且能夠?qū)崿F(xiàn)實(shí)用性,先進(jìn)性的要求二、系統(tǒng)以及需求分析(一)系統(tǒng)目標(biāo)除了前面所述,我們所開(kāi)發(fā)的系統(tǒng)還應(yīng)該具有以下功能:⑴ 原始數(shù)據(jù)修改簡(jiǎn)單方便;⑵ 方便的數(shù)據(jù)查詢;⑶ 刪除數(shù)據(jù)方便簡(jiǎn)單,穩(wěn)定性好;⑷ 數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);三、程序功能描述以及模塊結(jié)構(gòu)(一)功能模塊描述及主要類描述 模塊一:增加人員函數(shù)Add();增加通訊錄基本信息模塊二:刪除人員函數(shù)Delete();刪除指定的學(xué)生的基本信息模塊三:修改人員函數(shù)Modify();修改指定的通訊錄基本信息。
模塊四:查詢?nèi)藛T信息函數(shù)Query();查詢指定的學(xué)生信息模塊五:數(shù)據(jù)存盤,載入函數(shù)Save()以及Load();儲(chǔ)存與載入基本信息模塊六:預(yù)覽數(shù)據(jù)void Look();預(yù)覽比較詳細(xì)的信息模塊七:刪除通訊錄void DesTory();刪除已載入的所有的信息模塊八:基礎(chǔ)數(shù)據(jù)設(shè)置函數(shù)void TJ();;統(tǒng)計(jì)男女的人數(shù),以及總?cè)藬?shù)本通訊錄采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法所有的方法均以類為基礎(chǔ)所涉及到的類包括:class Person 基本員工類;該類是一個(gè)基類,設(shè)置了屬于保護(hù)類的職工基本屬性,以及構(gòu)造函數(shù)Person(char ID,char *Name,int Duty)可以給職工類型繼承Class Manage 管理類;該類定義了管理函數(shù),即前文所述八個(gè)模塊功能的實(shí)現(xiàn)方法,鏈表的使用也包括其中此類的作能在于將所有功能模塊集成并定義本系統(tǒng)使用的主要方法二)程序流程圖開(kāi)始定義變量數(shù)據(jù)處理調(diào)用輸出函數(shù)YN輸入C的值C>=1&&C<=8調(diào)用保存函數(shù)調(diào)用預(yù)覽函數(shù)調(diào)用清除函數(shù)調(diào)用查詢函數(shù)調(diào)用輸出函數(shù)調(diào)用修改函數(shù)調(diào)用刪除函數(shù)調(diào)用新增函數(shù)調(diào)用統(tǒng)計(jì)函數(shù)退出系統(tǒng)圖 3-1 程序流程圖(三)數(shù)據(jù)結(jié)構(gòu)表序號(hào)成員名數(shù)據(jù)類型長(zhǎng)度字段含義1Nostring學(xué)號(hào)2Namechar20名字3Sexchar10性別4Telstring20聯(lián)系方式5Agestring年齡表3-1 數(shù)據(jù)結(jié)構(gòu)表四、用戶使用說(shuō)明與調(diào)試結(jié)果(一)使用說(shuō)明這是一個(gè)關(guān)于職工信息管理系統(tǒng),具有錄入、輸出、刪除、查詢、修改、保存、統(tǒng)計(jì)等功能,建立了一個(gè)含有學(xué)號(hào)、姓名、性別、聯(lián)系方式等成員的類的變量class Person 。
已從文本錄入了范例數(shù)據(jù)調(diào)試過(guò)程中,可按照有關(guān)提示進(jìn)行相關(guān)操作:增加通訊錄按“1”鍵;刪除通訊錄按“2”鍵;修改通訊錄按“3”鍵;查詢?cè)敿?xì)通訊錄按“4”鍵;保存通訊錄數(shù)據(jù)設(shè)置按“5”鍵;預(yù)覽通訊錄按“6”鍵;清除通訊錄按“7”鍵;統(tǒng)計(jì)數(shù)據(jù)按“8”鍵二)調(diào)試結(jié)果★代碼中運(yùn)用了switch 語(yǔ)句調(diào)用各子函數(shù),數(shù)字 1、2、3、4、5、6、7、8等七個(gè)數(shù)字代表不同的指令★系統(tǒng)啟動(dòng)時(shí),會(huì)自動(dòng)在存放該系統(tǒng)的磁盤根目錄之下裝入一個(gè)數(shù)據(jù)文件:person.txt,調(diào)試時(shí)一個(gè)數(shù)據(jù)文件都已經(jīng)寫入部分?jǐn)?shù)據(jù),使用功能“6-預(yù)覽通訊錄”,顯示如下:★指令“n”為退回主界面,“y”代表進(jìn)入查詢?cè)敿?xì)信息界面:可以按照學(xué)號(hào)、名字、電話號(hào)碼查找較詳細(xì)信息★指令“2-刪除通訊錄”代表調(diào)用刪除人員函數(shù)Delete(),要求操作者輸入職工的相關(guān)ID,系統(tǒng)根據(jù)操作者輸出的ID,找出對(duì)應(yīng)的記錄,然后刪除該職工的信息,如果刪除的是第一個(gè)結(jié)點(diǎn),則 p1->next,指向第二個(gè)結(jié)點(diǎn);下圖示范了刪除第一個(gè)節(jié)點(diǎn)之后的顯示結(jié)果:如果刪除的是第i個(gè)(0< i ★指令“3-修改人員”代表調(diào)用修改人員函數(shù)Modify(),體統(tǒng)根據(jù)操作者輸入的ID找到對(duì)應(yīng)的記錄,將新輸入的數(shù)據(jù)對(duì)應(yīng)地賦給要修改的各成員★指令“5-保存數(shù)據(jù)”表示調(diào)用存盤函數(shù)Save(),輸入“Y”或者“N”以進(jìn)一步操作★指令“8-統(tǒng)計(jì)”,調(diào)用TJ();函數(shù),按照男、女統(tǒng)計(jì)人數(shù):★指令“7-清除通訊錄”,調(diào)用DesTory()清除已存數(shù)據(jù):(三)優(yōu)缺點(diǎn)分析優(yōu)點(diǎn):★ 系統(tǒng)中包含了輸入、輸出、保存、刪除、查詢、修改等多種功能,系統(tǒng)操作靈活性較強(qiáng),功能較強(qiáng)大;★ 可以隨意地選擇不同的指令進(jìn)行操作;★ 排版效果清晰明了,美觀;★ 操作簡(jiǎn)單方便缺點(diǎn):★ 由于該系統(tǒng)對(duì)數(shù)據(jù)采用文本保存方式,所以安全性不可靠★ 采用鏈表結(jié)構(gòu)操作,不能支持超大量的數(shù)據(jù),否則運(yùn)行緩慢五、總結(jié)本次設(shè)計(jì)我們選擇的題目是通訊錄因?yàn)槭孪鹊挠?jì)劃非常明確,所以我們?cè)谕瓿蛇@個(gè)設(shè)計(jì)的過(guò)程也是比較順利的在系統(tǒng)分析和設(shè)計(jì)的部分仍然花了比較多的時(shí)間模塊設(shè)計(jì)部分因?yàn)樯婕肮δ艿膶?shí)現(xiàn),要從抽象的設(shè)計(jì)轉(zhuǎn)化成實(shí)際的代碼,因此對(duì)于某項(xiàng)功能的實(shí)現(xiàn)方法都思考得比較詳盡加上在開(kāi)發(fā)系統(tǒng)之前,我們閱讀很多與本系統(tǒng)有相關(guān)內(nèi)容的書籍以做參考,使得此次系統(tǒng)編寫能順利進(jìn)行。 由于班里每個(gè)人都需要做一份設(shè)計(jì),所以我們經(jīng)常互相交流在交流的時(shí)候經(jīng)常能夠互相提出更好的建議經(jīng)過(guò)對(duì)通訊錄的分析與編寫,我得到了很大的收獲自主學(xué)習(xí)的必要性更是解決問(wèn)題的基礎(chǔ)這次設(shè)計(jì)使我重溫了以前學(xué)過(guò)的各科知識(shí),讓我對(duì)C++編程有了更深刻的認(rèn)識(shí)除了對(duì)系統(tǒng)作出正確的分析,實(shí)際的調(diào)查工作對(duì)系統(tǒng)的整體設(shè)計(jì)有著至關(guān)重要的作用所以在分析系統(tǒng)之前,我花了一些時(shí)間在公司的實(shí)際管理工作調(diào)查上也因?yàn)檫@樣,如何編寫代碼逐漸變得明朗每一個(gè)功能模塊經(jīng)過(guò)調(diào)查后后,各個(gè)功能逐漸顯露出來(lái),然后,反復(fù)探討,驗(yàn)證這項(xiàng)功能是否有存在的必要,是否可以改進(jìn)得更好在這樣的前提下,最后順利完成了這份設(shè)計(jì) 這次C++系統(tǒng)設(shè)計(jì)作業(yè),提升了我分析問(wèn)題的能力和思考問(wèn)題的邏輯能力,更明白實(shí)際調(diào)研的重要性從這次設(shè)計(jì)學(xué)到的東西,相信會(huì)對(duì)我們?nèi)蘸蟮膶W(xué)習(xí)工作起到很大的指導(dǎo)作用附錄:通訊錄系統(tǒng)源碼(C++)#include
