公司考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)本科畢業(yè)論文(設(shè)計(jì))_第1頁(yè)
公司考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)本科畢業(yè)論文(設(shè)計(jì))_第2頁(yè)
公司考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)本科畢業(yè)論文(設(shè)計(jì))_第3頁(yè)
公司考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)本科畢業(yè)論文(設(shè)計(jì))_第4頁(yè)
公司考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)本科畢業(yè)論文(設(shè)計(jì))_第5頁(yè)
已閱讀5頁(yè),還剩98頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本科畢業(yè)論文(設(shè)計(jì))本科畢業(yè)論文(設(shè)計(jì)) 公司考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)公司考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn) 院院 (系)(系)信息學(xué)院 專專 業(yè)業(yè)軟件工程 學(xué)學(xué) 號(hào)號(hào) 學(xué)生姓名學(xué)生姓名 指導(dǎo)教師指導(dǎo)教師 提交日期提交日期 內(nèi)容摘要內(nèi)容摘要 公司考勤管理系統(tǒng)能夠?yàn)榭蛻籼峁┛记趫?bào)到及信息查詢和統(tǒng)計(jì)的工 作,系統(tǒng)的功能與效率對(duì)于管理者來(lái)說(shuō)都是至關(guān)重要的,是公司對(duì)人員 管理的重要手段。本文先從實(shí)際出發(fā),考察了部分公司的考勤管理系統(tǒng), 詳細(xì)分析了系統(tǒng)目前存在的不足,并從公司考勤系統(tǒng)的現(xiàn)狀和未來(lái)的發(fā) 展趨勢(shì)入手,使用 java 與 sql 等相關(guān)的技術(shù),對(duì)這一系統(tǒng)進(jìn)行編程開發(fā), 進(jìn)而實(shí)現(xiàn)系統(tǒng)的各種功能。其中在通過(guò)具體

2、的詳細(xì)分析之后,主要設(shè)計(jì) 了用戶管理模塊、員工考勤模塊、員工管理模塊與考勤信息模塊四個(gè)大 的模塊來(lái)對(duì)系統(tǒng)進(jìn)行編碼,并根據(jù)模塊對(duì)數(shù)據(jù)庫(kù)和界面進(jìn)行設(shè)計(jì)。同時(shí), 文章給出了各個(gè)關(guān)鍵模塊的功能說(shuō)明、實(shí)現(xiàn)代碼,最后對(duì)系統(tǒng)進(jìn)行了功 能測(cè)試,并就開發(fā)過(guò)程中存在的問(wèn)題進(jìn)行了總結(jié)。 關(guān)鍵詞:關(guān)鍵詞: j ja av va a 模塊模塊 數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) 公司考勤管理系統(tǒng)公司考勤管理系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)設(shè)計(jì)及實(shí)現(xiàn) abstractabstract the attendance management system can provide attendance report and information query and

3、statistics for the customers work is essential, function and efficiency of the system for managers of the company, is an important means of personnel management. this article first embarks from the reality, the attendance management system is part of the company, a detailed analysis of the shortcomi

4、ngs of the current system, and from the present situation of the company attendance system and the future development trend, the use of java and sql and other related technologies, programming of the system, so as to realize the various functions of the system. the through detailed analysis of concr

5、ete, the main design of the user management module, employee attendance module, staff management module and the attendance information module four big modules to code system, and based on the database and interface design module. at the same time, the paper gives the description of the function of e

6、ach key module, the realization of the code, finally has carried on the system function test, and summarizes the problems existing in the development process. keykey words:words: j ja av va a modulemodule databasedatabase thethe compantcompant attendanceattendance managementmanagement systemsystem 目

7、目 錄錄 1.1.引言引言 .1 1 2 2公司考勤管理系統(tǒng)需求分析公司考勤管理系統(tǒng)需求分析 .2 2 2.1 系統(tǒng)概述 .2 2.2 系統(tǒng)運(yùn)行環(huán)境 .2 2.2.1 硬件環(huán)境 .2 2.2.2 軟件環(huán)境 .2 2.3 開發(fā)工具 .2 2.3.1 java .2 2.3.2 eclipse .2 2.3.3 sql server 2012 .3 2.4 系統(tǒng)需求分析 .3 2.4.1 系統(tǒng)數(shù)據(jù)流圖 .3 2.4.2 系統(tǒng)功能需求 .4 2.4.3 系統(tǒng)功能需求用例圖 .5 3 3公司考勤管理系統(tǒng)的總體設(shè)計(jì)公司考勤管理系統(tǒng)的總體設(shè)計(jì) .6 6 3.1 開發(fā)和設(shè)計(jì)的總體思想 .6 3.2 系統(tǒng)模塊

8、結(jié)構(gòu)設(shè)計(jì) .6 3.3 系統(tǒng)功能模塊劃分 .6 3.3.1 用戶管理模塊 .6 3.3.2 員工考勤模塊 .7 3.3.3 員工管理模塊 .7 3.3.4 考勤信息模塊 .7 3.4 系統(tǒng)流程描述 .7 3.5 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) .8 3.5.1 數(shù)據(jù)庫(kù)的 e-r 圖設(shè)計(jì) .8 3.5.2 數(shù)據(jù)庫(kù)表結(jié)構(gòu) .9 3.6 界面設(shè)計(jì).10 3.6.1 登錄模塊界面 .10 3.6.2 系統(tǒng)主界面 .11 3.6.3 員工考勤界面 .11 3.6.4 員工管理界面 .12 3.6.5 關(guān)于本系統(tǒng)界面 .12 3.6.6 管理員界面 .13 3.6.7 成員信息管理界面 .14 3.6.8 通訊錄界面 .1

9、7 3.6.9 備忘錄界面 .18 3.6.10 音樂(lè)管理界面 .19 3.6.11 退出對(duì)話框 .19 4.4. 公司考勤管理系統(tǒng)詳細(xì)設(shè)計(jì)公司考勤管理系統(tǒng)詳細(xì)設(shè)計(jì) .2020 4.1 連接數(shù)據(jù)庫(kù)模塊 .20 4.1.1 模塊描述 .20 4.1.2 主要程序清單 .20 4.2 登錄模塊 .21 4.2.1 模塊描述 .21 4.2.2 主要程序清單 .21 4.3 主界面模塊.23 4.3.1 模塊描述 .23 4.3.2 主要程序清單 .23 4.4 考勤模塊 .33 4.4.1 模塊描述 .33 4.4.2 主要程序清單 .33 4.5 信息統(tǒng)計(jì)模塊 .37 4.5.1 模塊描述 .3

10、7 4.5.2 主要程序清單 .38 4.6 管理員模塊.44 4.6.1 模塊描述 .44 4.6.2 主要程序清單 .44 4.7 音樂(lè)管理模塊.52 4.7.1 模塊描述 .52 4.7.2 主要程序清單 .52 5 5系統(tǒng)測(cè)試和應(yīng)用系統(tǒng)測(cè)試和應(yīng)用 .5454 5.1 系統(tǒng)測(cè)試.54 5.1.1 關(guān)于軟件測(cè)試 .54 5.1.2 黑盒測(cè)試 .54 5.2 系統(tǒng)應(yīng)用.55 6 6結(jié)語(yǔ)與展望結(jié)語(yǔ)與展望 .5656 參參 考考 文文 獻(xiàn)獻(xiàn) .5757 致致 謝謝 .5858 1.1.引言引言 隨著社會(huì)的發(fā)展,人民生活水平的提高,人民對(duì)生活的質(zhì)量要求越 來(lái)越高,也就導(dǎo)致了房地產(chǎn)事業(yè)的快速發(fā)展。而

11、城市化的進(jìn)程使得傳統(tǒng) 的四合院家族越來(lái)越少,隨之而來(lái)的是,各地的高樓大廈拔地而起。為 了滿足生活要求和精神需求,越來(lái)越多的人選擇了離開家族, “自力更生” 。從而導(dǎo)致的結(jié)果是,家族之間的交流溝通,以及家族成員之間的信息 管理變得更加地困難。 計(jì)算機(jī)軟件和硬件等技術(shù)的高速發(fā)展,使得計(jì)算機(jī)在全世界的應(yīng)用 越來(lái)越廣泛,遍及各個(gè)行業(yè)各個(gè)角落,人們普遍使用計(jì)算機(jī)來(lái)提高工作 效率,計(jì)算機(jī)成為現(xiàn)代人不可缺少的一部分。在信息橫飛的當(dāng)今社會(huì), 我們應(yīng)該懂得如何利用計(jì)算機(jī)來(lái)對(duì)這些信息加以管理,從而更有效地為 管理部門提供現(xiàn)代化日常辦公條件及豐富的綜合信息服務(wù),實(shí)現(xiàn)檔案管 理自動(dòng)化和辦公事務(wù)處理自動(dòng)化,以提高辦公效

12、率和管理水平。 在現(xiàn)代社會(huì)發(fā)展和計(jì)算機(jī)出現(xiàn)的雙重影響下,用戶對(duì)家族軟件的需 求也越來(lái)越高,家族信息管理系統(tǒng)的開發(fā)也就不可避免地成為當(dāng)前軟件 開發(fā)的又一熱點(diǎn)。目前,我國(guó)的家族信息管理系統(tǒng)還處在萌芽階段,尚 未普及,但是,它確確實(shí)實(shí)已經(jīng)出現(xiàn)在現(xiàn)代的一些家族和城中村,而且 作為管理事業(yè)的一部分發(fā)揮著越來(lái)越重要的作用。家族信息管理系統(tǒng)能 夠?yàn)橛脩暨M(jìn)行成員管理、基本信息管理以及統(tǒng)計(jì)查詢等工作提供便捷的 服務(wù),有利于實(shí)現(xiàn)對(duì)家族事業(yè)的現(xiàn)代化管理,有利于協(xié)調(diào)配合城中村的 各項(xiàng)工作,有利于促進(jìn)家族成員的溝通與聯(lián)系,對(duì)構(gòu)建社會(huì)主義以人為 本的和諧社會(huì)具有重要的現(xiàn)實(shí)意義,已是現(xiàn)代家族事業(yè)管理必不可少的 一部分。 本

13、項(xiàng)目提出的家族信息管理系統(tǒng)是基于 vc 平臺(tái),使用 vc 中基于 mfc 的 windows 應(yīng)用程序進(jìn)行開發(fā)的,并且運(yùn)用了 odbc 數(shù)據(jù)訪問(wèn)技術(shù)。 visual c+不僅是一個(gè) c+編譯器,而且是一個(gè)基于 windows 操作系 統(tǒng)的可視化集成開發(fā)環(huán)境 。因此,基于 vc 平臺(tái)的開發(fā),可以使軟件具 有較好的可操作性,并且?guī)椭鷮?shí)現(xiàn)界面的友好性等。由于家族信息管理 系統(tǒng)涉及的功能和用途在不同的地方有所不同,因此,設(shè)計(jì)并實(shí)現(xiàn)具有 基本功能并有效合理的家族信息管理系統(tǒng)是本項(xiàng)目開發(fā)過(guò)程中著重考慮 的問(wèn)題。 另外,本項(xiàng)目除了實(shí)現(xiàn)家族信息管理系統(tǒng)的基本功能之外,還重點(diǎn)考 慮了信息管理系統(tǒng)界面的易用性和友

14、好性等問(wèn)題。 2 2家族信息管理系統(tǒng)需求分析家族信息管理系統(tǒng)需求分析 2.1 系統(tǒng)概述 本項(xiàng)目主要是設(shè)計(jì)并實(shí)現(xiàn)了公司考勤管理系統(tǒng),該系統(tǒng)主要的功能 包括系統(tǒng)員工管理、員工基本信息管理、員工考勤管理、統(tǒng)計(jì)查詢,例 如新增員工、查找員工、查找某員工信息、員工考勤信息統(tǒng)計(jì)情況等。 2.2 系統(tǒng)運(yùn)行環(huán)境 2.2.1 硬件環(huán)境 處理器:inter pentium ii 266 mx 或更高 內(nèi)存:64mb 硬件空間:2gb 顯卡:svga 顯示適配器 2.2.2 軟件環(huán)境 操作系統(tǒng):window xp/7/8 數(shù)據(jù)庫(kù):sql server2012 2.3 開發(fā)工具 2.3.1 visual c+ 6.0

15、 及 c+語(yǔ)言 visual c+的簡(jiǎn)介 visual c+1是一個(gè)功能強(qiáng)大的可視化軟件開發(fā)工具。自1993 年 microsoft 公司推出 visual c+1.0 后,隨著其新版本的不斷問(wèn)世, visual c+已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。雖然微軟公 司推出了 visual c+.net(visual c+7.0),但它的應(yīng)用的很大的局 限性,只適用于 windows 2000,windows xp 和 windows nt4.0。所以 實(shí)際中,更多的是以 visual c+6.0 為平臺(tái)。visual c+6.0 不僅是 一個(gè) c+編譯器,而且是一個(gè)基于 windows 操

16、作系統(tǒng)的可視化集成開 發(fā)環(huán)境(integrated development environment,ide)。visual c+6.0 由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)?appwizard、類向?qū)?class wizard 等開發(fā)工具。 這些組件通過(guò)一個(gè) 名為 developer studio 的組件集成為和諧的開發(fā)環(huán)境。 visual c+ 它大概可以分成三個(gè)主要的部分: developer studio ,mfc, platform sdk。 visual c+包含了兩套完整的 windows 應(yīng)用程序開發(fā)系統(tǒng),既可以 使用 win32 api 來(lái)開發(fā)用 c 編寫的 wind

17、ows 應(yīng)用程序,也可以開發(fā)基于 mfc 的 windows 應(yīng)用程序,此外,visual c+也包括 activex 模板庫(kù) (activex template library,atl) ,可以用它來(lái)開發(fā)在 internet 上使 用的 activex 控件,還可以制作基于 mfc 的 activex 控件,還可以設(shè)計(jì) 基于 c 或 c+的動(dòng)態(tài)鏈接庫(kù)(dll) 。 visual c+具有面向?qū)ο蟪绦蛟O(shè)計(jì)的功能,visual c+的核心是 microsoft 基礎(chǔ)類庫(kù)(microsoft foundation class library,mfc) ,采 用的是消息映射機(jī)制進(jìn)行程序設(shè)計(jì)。 c+語(yǔ)

18、言的簡(jiǎn)介 c+2是一種使用非常廣泛的計(jì)算機(jī)編程語(yǔ)言。 c+是一種靜態(tài)數(shù) 據(jù)類型檢查的,支持多重編程范式的通用程序設(shè)計(jì)語(yǔ)言。它支持過(guò)程化 程序設(shè)計(jì)、數(shù)據(jù)抽象、 面向?qū)ο蟪绦蛟O(shè)計(jì)、制作圖標(biāo)等等泛型程序設(shè) 計(jì)等多種程序設(shè)計(jì)風(fēng)格。一開始 c+是作為 c 語(yǔ)言的增強(qiáng)版出現(xiàn)的, 從給 c 語(yǔ)言增加類開始,不斷的增加新特性。 虛函數(shù)(virtual function) 、運(yùn)算符重載(operator overloading) 、多重繼承 (multiple inheritance) 、模板(template) 、異常(exception) 、 名字空間(name space)等逐漸被加入 c+標(biāo)準(zhǔn)。但是,c

19、+是一門獨(dú) 立的語(yǔ)言,它并不依賴于 c 語(yǔ)言。 2.3.2 microsoft access 2003 microsoft access3是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng)。它結(jié)合 了 microsoft jet database engine 和 圖形用戶界面兩項(xiàng)特點(diǎn),是 microsoft office 的成員之一。access 是微軟公司推出的基于 windows 的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(rdbms) ,是 office 系列應(yīng)用軟件之一。它 提供了表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊 7 種用來(lái)建立數(shù)據(jù)庫(kù)系統(tǒng) 的對(duì)象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲(chǔ)、數(shù)據(jù)查詢、界 面設(shè)計(jì)、報(bào)表

20、生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫(kù)管理系統(tǒng)提 供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理 的任務(wù)。 2.4 系統(tǒng)需求分析 軟件需求分析4是軟件定義時(shí)期的最后一個(gè)階段,它的基本任務(wù)是準(zhǔn) 確地回答“系統(tǒng)必須做什么”的問(wèn)題,需求分析師發(fā)現(xiàn)、求精、建模和 規(guī)約的過(guò)程。需求分析的方法有結(jié)構(gòu)化分析方法和其他分析方法。其中, 結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的一種方法。它使用數(shù)據(jù)流 圖(dfd,data flow diagram) 、數(shù)據(jù)字典(dd,data dictionary)等 工具進(jìn)行分析。 2.4.1 系統(tǒng)數(shù)據(jù)流圖 系統(tǒng)數(shù)據(jù)流圖4是描述數(shù)據(jù)處理過(guò)程的工具,它具有抽象

21、性、概括性 和層次性的三個(gè)特性。本系統(tǒng)的數(shù)據(jù)流圖如圖 2.4.1 所示。 用戶檢驗(yàn) 帳號(hào) 存儲(chǔ) 數(shù)據(jù)庫(kù) 帳戶、密碼 提示 密碼錯(cuò)誤 修改信息 圖 2.4.1 系統(tǒng)數(shù)據(jù)流圖 2.4.2 系統(tǒng)功能需求 新建家譜,打開已有家譜文件,對(duì)家譜成員進(jìn)行排序,增加成員, 查找成員,確定某兩個(gè)成員之間的關(guān)系,查找某代人的信息等功能,如 圖 2.4.2 所示。 家族信息管理系統(tǒng) 增 加 系 統(tǒng) 用 戶 新 建 家 譜 系 統(tǒng) 管 理 員 增 減 家 譜 成 員 系 統(tǒng) 信 息 錄 入 員 用 戶 密 碼 修 改 音 樂(lè) 選 擇 確 定 兩 人 關(guān) 系 通 訊 錄 管 理 對(duì) 家 譜 成 員 排 序 查 找 家

22、譜 成 員 查 找 某 代 人 信 息 圖 2.4.2 功能需求圖 在使用該系統(tǒng)軟件時(shí),能夠供系統(tǒng)用戶在電腦上任意選擇自己喜 歡的 mp3 文件進(jìn)行播放。音樂(lè)的選擇能夠增強(qiáng)該系統(tǒng)的藝術(shù)感,并且在 用戶使用軟件時(shí),利用音樂(lè)可以達(dá)到放松心境的效果。 在使用該軟件的過(guò)程中,系統(tǒng)管理員可以設(shè)置其他的系統(tǒng)用戶, 如信息錄入員、系統(tǒng)管理員等,不同的系統(tǒng)用戶擁有不同的系統(tǒng)功能。 因?yàn)橛辛瞬煌南到y(tǒng)用戶,所以不同的用戶可以通過(guò)通訊錄了解其 他用戶的信息,并且通過(guò)電子郵件聯(lián)系其他系統(tǒng)用戶,又或者利用備忘 錄給其他系統(tǒng)用戶留言。 本系統(tǒng)提供了清晰友好的界面,用戶可以根據(jù)自己的需要和喜好 進(jìn)行選擇,在選擇的過(guò)程中,

23、系統(tǒng)還會(huì)出現(xiàn)一些提示信息,引導(dǎo)用戶正 確進(jìn)行操作。 2.4.3 系統(tǒng)功能需求用例圖 用例圖5顯示系統(tǒng)中的用例與角色及其相互關(guān)系。用例是系統(tǒng)提供的 高級(jí)功能塊,角色是與所建系統(tǒng)交互的對(duì)象。用例圖由參與者(actor) 、 用例(use case) 、系統(tǒng)邊界、箭頭組成。其中,用例之間一般有三種關(guān) 系:泛化關(guān)系,擴(kuò)展關(guān)系,包含關(guān)系。本系統(tǒng)的功能需求用例圖如圖 2.4.3 所示。 圖 2.4.3 用例圖 3 3家族信息管理系統(tǒng)的總體設(shè)計(jì)家族信息管理系統(tǒng)的總體設(shè)計(jì) 3.1 開發(fā)和設(shè)計(jì)的總體思想 本系統(tǒng)采用 visual c+ 6.0 為開發(fā)工具與 access 作為后臺(tái)數(shù)據(jù)庫(kù)相 結(jié)合實(shí)現(xiàn),總體思想基于

24、面對(duì)對(duì)象的程序設(shè)計(jì)。應(yīng)用高級(jí)語(yǔ)言程序設(shè)計(jì) 中的循環(huán)、選擇等控制結(jié)構(gòu)實(shí)現(xiàn)家族信息管理系統(tǒng)的增、刪、改和查等 經(jīng)典功能,大量信息的存儲(chǔ)和操作用 access 數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。在軟件開發(fā) 過(guò)程中應(yīng)用了軟件工程以及二叉樹6的基本理論?;诔杀疽约鞍踩钥?慮,假設(shè)本系統(tǒng)是一個(gè)相對(duì)封閉的單機(jī)運(yùn)行系統(tǒng),不提供與其他系統(tǒng)的 實(shí)時(shí)數(shù)據(jù)交互。 系統(tǒng)基本的流程是:用戶登錄主界面選擇各項(xiàng)功能。 3.2 系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì) 本家族信息管理系統(tǒng)主要分為 4 個(gè)子模塊,其系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖如圖 3.2.1 所示。 家族信息管理系統(tǒng) 系 統(tǒng) 用 戶 管 理 家 族 信 息 管 理 基 本 信 息 管 理 統(tǒng) 計(jì) 查 詢 模 塊 修

25、 改 帳 戶 密 碼 系 統(tǒng) 管 理 員 增 減 用 戶 系 統(tǒng) 信 息 錄 入 員 用 戶 密 碼 修 改 音 樂(lè) 選 擇 刪 除 記 錄 新 建 家 譜 增 加 孩 子 確 定 兩 人 關(guān) 系 更 改 資 料 保 存 家 譜 通 訊 錄 管 理 家 族 成 員 統(tǒng) 計(jì) 查 詢 系 統(tǒng) 用 戶 統(tǒng) 計(jì) 查 詢 圖 3.2.1 系統(tǒng)結(jié)構(gòu)圖 3.3 系統(tǒng)功能模塊劃分 根據(jù)上述系統(tǒng)總體設(shè)計(jì)思想的分析,該系統(tǒng)的主要模塊的設(shè)計(jì)如下: 3.3.1 系統(tǒng)用戶管理模塊 用戶使用該系統(tǒng)之前需要進(jìn)行登錄驗(yàn)證,系統(tǒng)會(huì)提示用戶選擇用戶和 輸入密碼,從而調(diào)用數(shù)據(jù)庫(kù)中存儲(chǔ)的該用戶信息進(jìn)行校驗(yàn),如果未能通 過(guò)校驗(yàn),則會(huì)提

26、示用戶密碼錯(cuò)誤,用戶將有三次登陸到系統(tǒng)的機(jī)會(huì),三 次機(jī)會(huì)還沒(méi)有登陸系統(tǒng)的話,系統(tǒng)將自動(dòng)退出。用戶登錄到系統(tǒng)后允許 使用的與權(quán)限相對(duì)應(yīng)的系統(tǒng)功能,主要有系統(tǒng)管理員、系統(tǒng)維護(hù)員、以 及系統(tǒng)信息錄入員。 3.3.2 基本信息管理模塊 包括對(duì)家族信息進(jìn)行管理、對(duì)系統(tǒng)用戶進(jìn)行管理、音樂(lè)選擇等功能。 其中,對(duì)系統(tǒng)用戶管理的模塊中,主要包括新增各類系統(tǒng)新用戶,包括 用戶名稱、用戶權(quán)限、用戶密碼、密碼確認(rèn),同時(shí)還可以對(duì)系統(tǒng)用戶進(jìn) 行注銷以及密碼修改等操作;而音樂(lè)選擇功能可以選擇硬盤中的各類格 式的音樂(lè)文件。 3.3.3 家族信息管理模塊 包括新建家譜,然后可以對(duì)家譜進(jìn)行管理,包括姓名、父親姓名、 出生日期、家

27、庭地址、健在否(包括死亡日期) 、婚否等信息。在該家譜 的基礎(chǔ)上,可以進(jìn)行刪除記錄、增加孩子、確定兩人關(guān)系、更改資料等 操作。該系統(tǒng)可以對(duì)多個(gè)家譜進(jìn)行管理,并且分別進(jìn)行保存文件。也可 以對(duì)已經(jīng)做好的家譜進(jìn)行保存,并隨時(shí)進(jìn)行管理操作。 3.3.4 統(tǒng)計(jì)查詢模塊 包括對(duì)系統(tǒng)用戶的統(tǒng)計(jì)查詢以及對(duì)家族成員的統(tǒng)計(jì)查詢兩大模塊、 其中對(duì)系統(tǒng)用戶的統(tǒng)計(jì)查詢包括從姓名、生日、手機(jī)號(hào)碼進(jìn)行查找,同 時(shí)可以查看系統(tǒng)用戶的屬性,創(chuàng)建新的用戶、給新用戶發(fā)電子郵件等。 而對(duì)家族成員的統(tǒng)計(jì)查詢模塊中,主要包括對(duì)家族成員表進(jìn)行統(tǒng)計(jì)查詢, 包括按出生日期排序、按姓名查找成員、按生日查找成員、查詢某一代 的信息等操作。 3.4

28、 系統(tǒng)流程描述 運(yùn)行系統(tǒng)后,首先看到登錄窗體,對(duì)用戶的身份進(jìn)行認(rèn)證。 在本系統(tǒng)中,應(yīng)該首先增加家譜信息,之后才能對(duì)家譜成員進(jìn)行操 作?;拘畔⒐芾砟K包括節(jié)基本信息設(shè)置模塊包括對(duì)家族信息進(jìn)行管 理、對(duì)系統(tǒng)用戶進(jìn)行管理、音選擇樂(lè)等功能。其中,對(duì)系統(tǒng)用戶管理的 模塊中,主要包括新增各類系統(tǒng)新用戶,包括用戶名稱、用戶權(quán)限、用 戶密碼、密碼確認(rèn),同時(shí)還可以對(duì)系統(tǒng)用戶進(jìn)行注銷以及密碼修改等操 作;而音樂(lè)選擇功能可以選擇硬盤中的各類格式的音樂(lè)文件。 添加家譜信息之后,就可以對(duì)家族中的成員進(jìn)行各類的操作了。家 族信息管理設(shè)置模塊包括新建家譜,然后可以對(duì)家譜進(jìn)行管理,包括姓 名、父親姓名、出生日期、家庭地址、

29、健在否(包括死亡日期) 、婚否等 信息。在該家譜的基礎(chǔ)上,可以進(jìn)行刪除記錄、增加孩子、確定兩人關(guān) 系、更改資料等操作。該系統(tǒng)可以對(duì)多個(gè)家譜進(jìn)行管理,并且分別進(jìn)行 保存文件。也可以對(duì)已經(jīng)做好的家譜進(jìn)行保存,并隨時(shí)進(jìn)行管理操作。 統(tǒng)計(jì)查詢模塊包括對(duì)系統(tǒng)用戶的統(tǒng)計(jì)查詢以及對(duì)家族成員的統(tǒng)計(jì)查 詢兩大模塊、其中對(duì)系統(tǒng)用戶的統(tǒng)計(jì)查詢包括從姓名、生日、手機(jī)號(hào)碼 進(jìn)行查找,同時(shí)可以查看系統(tǒng)用戶的屬性,創(chuàng)建新的用戶、給新用戶發(fā) 電子郵件等。而對(duì)家族成員的統(tǒng)計(jì)查詢模塊中,主要包括對(duì)家族成員表 進(jìn)行統(tǒng)計(jì)查詢,包括按出生日期排序、按姓名查找成員、按生日查找成 員、查詢某一代的信息等操作。 本系統(tǒng)流程分析如圖 3.4.

30、1 所示。 開始 結(jié)束 登陸界面 密碼是否正確 密碼錯(cuò)誤 連續(xù)三次密 碼錯(cuò)誤 密碼正確 系統(tǒng)管理家譜管理 通訊錄管 理 注銷用戶 新增用戶 音樂(lè)管理 修改密碼 新建家譜 打開家譜 保存家譜 增加孩子 刪除孩子 更改資料 查找某代人 確定兩人關(guān)系 音樂(lè)選擇 修改資料 創(chuàng)建卡片 查找用戶 備忘錄管理 新備忘錄 保存?zhèn)渫?打開備忘錄 圖 3.4.1 系統(tǒng)流程圖 3.5 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 3.5.1 數(shù)據(jù)庫(kù)的 e-r 圖設(shè)計(jì) 家族信息管理系統(tǒng)采用 access2003 數(shù)據(jù)庫(kù)存儲(chǔ)通訊錄用戶的有關(guān)信 息,而對(duì)于系統(tǒng)用戶是通過(guò)自動(dòng)程序自動(dòng)保存設(shè)置,家族成員是通過(guò)文 件進(jìn)行保存。其 e-r 圖7如下: 系統(tǒng)用

31、戶 管理家族成員 密碼 帳戶名 姓名 出生日期 婚否 地址 健在否 死亡日期 通訊錄成 員 管理 孩子數(shù) 排行 姓名 電子郵件 qq 手機(jī)號(hào)碼生日電話號(hào)碼 工作單位 個(gè)人主頁(yè) 備注 用戶權(quán)限 3.5.2 數(shù)據(jù)庫(kù)表結(jié)構(gòu) 系統(tǒng)用戶數(shù)據(jù)表,如表 1 所示。其中,系統(tǒng)用戶信息表的各數(shù)據(jù)項(xiàng) 詳細(xì)說(shuō)明如表 2 所示。 表 1 用戶登陸密碼 amy信息錄入員 0000000 system系統(tǒng)管理員 0000000 圖 3.5.1 系統(tǒng) e-r 圖 表 2 數(shù)據(jù)字段數(shù)據(jù)類型 user 文本 password 文本 在數(shù)據(jù)庫(kù)中,系統(tǒng)通訊錄用戶信息存在 bookdata 表中,其基本信息 如表 3 所示。其中,系

32、統(tǒng)用戶信息表的各數(shù)據(jù)項(xiàng)詳細(xì)說(shuō)明如表 4 所示。 表 3 nameemailqqmobilephone birthd ay workuni t hom epa ge demo 楊麗金 ylijin2 2126.c om 483 777 08 136314 64763 020840 94779 198610 31 廣東商 學(xué)院 李濤 litao1 131457 27530 076323 12569 198505 12 表 4 數(shù)據(jù)字段數(shù)據(jù)類型 name 文本 3.6 界面設(shè)計(jì) 家族信息管理系統(tǒng)要為用戶提供一個(gè)易于操作的人機(jī)界面,在界面 設(shè)計(jì)過(guò)程中充分考慮界面的一致性和簡(jiǎn)潔性、要求方便易用,界面友好

33、, 具體設(shè)計(jì)如下。 3.6.1 登錄界面 用戶登錄界面設(shè)計(jì)充分考慮到用戶實(shí)際應(yīng)用系統(tǒng)時(shí)可能出現(xiàn)誤操作 的情況,如果用戶輸入的用戶名和密碼不符,則提示用戶重新輸入。 為保證用戶輸入密碼不會(huì)被竊取,用戶進(jìn)入系統(tǒng)時(shí)輸入的密碼采 email 文本 qq 文本 mobile 文本 phone 文本 birthday 文本 workunit 文本 homepage 文本 demo 文本 用不回顯的方式從屏幕獲取用戶輸入的字符,從而保證顧客登錄系統(tǒng)時(shí) 密碼的安全性。 當(dāng)用戶輸入的用戶名與密碼相符,則會(huì)直接進(jìn)入系統(tǒng)主界面。 根據(jù)不同的權(quán)限,調(diào)用相應(yīng)的系統(tǒng)界面。 圖 3.6.1 登錄界面 3.6.2 系統(tǒng)主界面

34、 系統(tǒng)管理員默認(rèn)名為 system,密碼為 0000000;信息錄入用戶名為 amy,0000000 為密碼,確認(rèn)登錄后進(jìn)入主界面,如圖 3.6.2 所示。 圖 3.6.2 系統(tǒng)主界面 3.6.3 系統(tǒng)用戶管理界面 用戶登錄到系統(tǒng)后允許使用的與權(quán)限相對(duì)應(yīng)的系統(tǒng)功能,主要有系統(tǒng) 管理員以及系統(tǒng)信息錄入員。系統(tǒng)用戶管理的模塊中,主要包括新增各 類系統(tǒng)新用戶,包括用戶名稱、用戶權(quán)限、用戶密碼、密碼確認(rèn),同時(shí) 還可以對(duì)系統(tǒng)用戶進(jìn)行注銷以及密碼修改等操作。密碼修改成功后,系 統(tǒng)將會(huì)提示“密碼修改成功,請(qǐng)牢記新密碼” 。用戶管理界面如圖 3.6.3 所示。 圖 3.6.3 用戶管理界面 3.6.4 幫助界

35、面 圖 3.6.4 幫助界面 3.6.5 關(guān)于本系統(tǒng)界面 該界面采用 flash 動(dòng)畫形式對(duì)系統(tǒng)進(jìn)行介紹,并且可直接點(diǎn)擊 e- mail 直接開啟 ooutlook 聯(lián)系作者。如圖 3.6.5 所示。 圖 3.6.5 關(guān)于本系統(tǒng)界面 3.6.6 家族信息管理界面 家族信息管理設(shè)置模塊包括新建家譜,然后可以對(duì)家譜進(jìn)行管理, 包括姓名、父親姓名、出生日期、家庭地址、健在否(包括死亡日期) 、 婚否等信息。在該家譜的基礎(chǔ)上,可以進(jìn)行刪除記錄、增加孩子、確定 兩人關(guān)系、更改資料等操作。該系統(tǒng)可以對(duì)多個(gè)家譜進(jìn)行管理,并且分 別進(jìn)行保存文件。也可以對(duì)已經(jīng)做好的家譜進(jìn)行保存(必須輸入后綴 “.ftf” ,否

36、則文件不能打開) ,并隨時(shí)進(jìn)行管理操作。界面如圖 3.6.6 所示。 圖 3.6.6 家族信息管理界面 圖 3.6.7 增加孩子 3.6.7 成員信息管理界面 在家族信息管理模塊下,可以進(jìn)行刪除記錄、增加孩子、確定兩人 關(guān)系、更改資料、按生日進(jìn)行排序等操作。成員信息管理界面如圖 3.6.8 所示。 圖 3.6.8 點(diǎn)擊“出生日期排序”后系統(tǒng)界面 圖 3.6.9 可填入任一代人的信息 圖 3.6.10 系統(tǒng)提示 圖 3.6.11 右邊表格出現(xiàn)該代人的信息 圖 3.6.12 輸入要查詢的名字“楊蕾” 圖 3.6.13 系統(tǒng)提示 圖 3.6.14 右邊表格出現(xiàn)“楊蕾”的相關(guān)信 息 圖 3.6.15

37、輸入查詢的生日“10.31” 圖 3.6.16 系統(tǒng)提示 圖 3.6.17 出現(xiàn)生日為 “10.31” 的成員的信 息 圖 3.6.18 輸入“楊招娣”及“華文億”兩人的名字 圖 3.6.19 系統(tǒng)提示并顯示兩人之間的關(guān)系 3.6.8 通訊錄界面 在通訊錄中,我們可以進(jìn)行增加、修改、刪除用戶資料,查看用戶 屬性,查找用戶,通過(guò)電子郵件聯(lián)系用戶等操作。界面自動(dòng)調(diào)用數(shù)據(jù)庫(kù) 中 bookdata 表信息。查找用戶的查找項(xiàng)有:姓名、手機(jī)號(hào)碼、電話號(hào)碼、 qq、生日、工作單位、個(gè)人主頁(yè)、email、備注等。而刪除用戶時(shí),應(yīng)點(diǎn) 擊通訊錄中某人的信息,再點(diǎn)擊“刪除”可刪除該系統(tǒng)用戶的資料,系 統(tǒng)會(huì)自動(dòng)提示“

38、是否真的要?jiǎng)h除” 。具體界面如圖 3.6.20 所示。 圖 3.6.20 通訊錄界面 3.6.9 備忘錄界面 在通訊錄界面中,用戶可以通過(guò)備忘錄進(jìn)行留言。備忘錄文件存儲(chǔ) 在文件夾中,以“.dat”為后綴,可以隨時(shí)調(diào)出備忘錄文件進(jìn)行查看, 修改等,同時(shí)也可新建新備忘錄,新建時(shí),可以指定當(dāng)天的日期、天氣 等信息,以便以后查看和確認(rèn)。界面如圖 3.6.21 所示。 圖 3.6.21 備忘錄界面 3.6.10 音樂(lè)管理界面 用戶可以在使用該軟件的時(shí)候,播放電腦中的任意 mp3 播放文件, 在工作的同時(shí)享受音樂(lè)的熏陶。播放過(guò)的文件,其路徑會(huì)保留,以便下 次直接播放。該界面如圖 3.6.22 所示。 圖

39、3.6.22 音樂(lè)界面 3.6.11 退出對(duì)話框 退出時(shí),正在進(jìn)行的音樂(lè)會(huì)同時(shí)退出,并且會(huì)顯示一下界面,如圖 3.6.23 圖 3.6.23 退出界面顯示 4.4. 家族信息管理系統(tǒng)詳細(xì)設(shè)計(jì)家族信息管理系統(tǒng)詳細(xì)設(shè)計(jì) 4.1 連接數(shù)據(jù)庫(kù)模塊 4.1.1 模塊描述 本系統(tǒng)采用 odbc 技術(shù)訪問(wèn)數(shù)據(jù)庫(kù),在類的類型中生成 familytree.cpp,默認(rèn)文件為 familytree.cpp. 4.1.2 主要程序清單 bool cfamilytreeapp:initodbc() char strcurfile256; char * p; cfilefind file; :getmodulefile

40、name(m_hinstance,strcurfile,sizeof(strcurf ile); p = strcurfile; while(strchr(p,) p = strchr(p,); p+; *p = 0; strcat(strcurfile,bookdata.mdb); if(!file.findfile(strcurfile) afxmessagebox(找不到 bookdata.mdb 數(shù)據(jù)庫(kù)文件,請(qǐng)保證該 文件和本程序在同一個(gè)目錄中!,mb_ok|mb_iconstop); return false; if(getprofileint(數(shù)據(jù)源,isfirstrun,0) c

41、string strkeydir = getprofilestring(數(shù)據(jù)源,curdir); if(strkeydir.compare(strcurfile) writeprofilestring(數(shù)據(jù)源,curdir,strcurfile); return(loadodbc(cstring(carsdatabase),cstring(strcurfile), cstring(數(shù)據(jù)源); else userinfo sysuser; strcpy(,system); sysuser.oper = 1; strcpy(sysuser.password,system);

42、 afxgetapp()-writeprofilebinary(用戶 ,user0000,(lpbyte) afxgetapp()-writeprofileint(用戶,lastid,1); writeprofileint(數(shù)據(jù)源,isfirstrun,1); writeprofilestring(數(shù)據(jù)源,curdir,strcurfile); return(loadodbc(cstring(carsdatabase),cstring(strcurfile), cstring(數(shù)據(jù)源); return true; 4.2 登錄模塊 4.2.1 模塊描述 身份認(rèn)證分為以下兩個(gè)過(guò)程:首先確認(rèn)用戶是

43、否有效的系統(tǒng)用戶, 其次確認(rèn)用戶的類型。第一個(gè)過(guò)程決定用戶能否進(jìn)入系統(tǒng),第 2 個(gè)過(guò)程 根據(jù)用戶的類型決定用戶的操作權(quán)限。如果還要?jiǎng)?chuàng)建其他用戶,則使用 system系統(tǒng)管理員用戶登錄,可以在用戶管理模塊中創(chuàng)建和管理;否 則建議使用信息錄入員身份登錄,此時(shí)不能創(chuàng)建新用戶,只能進(jìn)行其他 功能操作。在創(chuàng)建系統(tǒng)用戶時(shí),需要輸入要?jiǎng)?chuàng)建的用戶名、用戶權(quán)限、 密碼以及密碼確認(rèn)。system系統(tǒng)管理員用戶還可以添加和注銷其他用 戶數(shù)據(jù)。 登錄對(duì)話框?yàn)?idd_login,為其創(chuàng)建一個(gè)類 clogindlg。當(dāng)用戶單擊 確定按鈕時(shí),將發(fā)送 bn_clicked 消息,在 classwizard 窗口中為其添加

44、函數(shù) clogindlg:onok()。 4.2.2 主要程序清單 bool clogindlg:oninitdialog() cdialog:oninitdialog(); userinfo theuser; char * stroper = 信息錄入員,系統(tǒng)管理員 ; uint size = sizeof(userinfo); lpbyte bt = new unsigned charsizeof(theuser); cstring strid; strid.format(user%04u,0); int lastid; lastid = afxgetapp()-getprofileint

45、(用戶,lastid,0); for(int i=0;igetprofilebinary(用戶 ,strid,i+) memcpy( cstring strinfo; strinfo.format(%s %s,theu,stropertheuser.oper); m_ulist.addstring(strinfo); strid.format(user%04u,i+1); if(lastid 0) m_ulist.setcursel(0); delete bt; m_btnbutton2.subclassdlgitem(idok, this); m_btnbutton2.set

46、icon(idi_icon2); m_btnbutton3.subclassdlgitem(idcancel, this); m_btnbutton3.seticon(idi_icon3); return true; void clogindlg:onok() updatedata(); userinfo theuser; uint size = sizeof(theuser); lpbyte bt = new unsigned charsizeof(theuser); cstring strid; int id = m_ulist.getcursel(); strid.format(user

47、%04u,id); if(afxgetapp()-getprofilebinary(用戶,strid, delete bt; if(!m_pas.compare(theuser.password) m_dwuser = theuser.oper; cdialog:onok(); return; else delete bt; messagebox(沒(méi)有該用戶的信息,請(qǐng)與系統(tǒng)管理員聯(lián)系。,讀取 用戶數(shù)據(jù)錯(cuò)誤,mb_ok|mb_iconstop); return; if(m_times) m_times-; messagebox(用戶密碼不正確!請(qǐng)?jiān)俅螄L試!,登陸失敗! ,mb_ok|mb_ico

48、nstop); getdlgitem(idc_dlog_cpasword)-setfocus(); else messagebox(用戶密碼不正確!n 您的登陸失敗次數(shù)已達(dá)三次, 程序?qū)⑼顺?。n 請(qǐng)與系統(tǒng)管理員聯(lián)系。,登陸失?。?,mb_ok|mb_iconstop); cdialog:oncancel(); 4.3 主界面模塊 4.3.1 模塊描述 用戶成功登錄后進(jìn)入系統(tǒng)主界面,根據(jù)不同權(quán)限完成相應(yīng)的功能操 作。主界面的類為 familytreedlg.cpp。 4.3.2 主要程序清單 ondelete()函數(shù) ondelete()函數(shù)功能是將家譜中的某成員進(jìn)行刪除操作,代碼如下: voi

49、d cfamilytreedlg:ondelete() / todo: add your command handler code here if(operfamilytree.getroot()=0) return; htreeitem hitem,hchilditem; hitem=m_petree.getselecteditem(); hchilditem=m_petree.getnextitem(hitem,tvgn_child); charnamemax_charnum; strcpy(name,m_petree.getitemtext(hitem); int answer; if(

50、hchilditem=0) answer=:messagebox(this-m_hwnd,你確實(shí)想刪除 +cstring(name)+嗎?,警告,mb_yesno|mb_iconwarning); else answer=:messagebox(this-m_hwnd,cstring(name)+還有孩子, 如果你刪除了他,其孩子也一并被刪除。你確實(shí)想刪除此人及其孩子嗎? ,警告,mb_yesno|mb_iconwarning); if(answer=idno) return; person oneself=0; operfamilytree.find(operfamilytree.getro

51、ot(),oneself,name); if(oneself) operfamilytree.delete(oneself); m_petree.deleteitem(hitem); refreshtree(); refreshlist(); isfamilytreemodified=true;/置家譜修改標(biāo)記為 真 onadd()函數(shù) 當(dāng)對(duì)話框 idc_add 啟動(dòng)時(shí)觸發(fā) cfamilytreedlg:onadd()函數(shù)。增加孩 子,需要檢查家譜中是否有重名的孩子,并且要對(duì)其出生日期以及死亡 日期(如果有的話) 。對(duì)應(yīng)的代碼如下: void cfamilytreedlg:onadd() /

52、todo: add your command handler code here caddinfodlg dlg; htreeitem hitem; hitem=m_petree.getselecteditem(); if(operfamilytree.getroot()=0) dlg.m_parentname=-1; else dlg.m_parentname=m_petree.getitemtext(hitem); if(dlg.domodal()=idcancel)/彈出對(duì)話框 return; updatedata(false); person addnode; addnode=new

53、personnode;/新申請(qǐng)一結(jié)點(diǎn) if(addnode=0) afxmessagebox(內(nèi)存不足!); return; addnode-parent=0; addnode-child=0; addnode-sibling=0; /把有關(guān)結(jié)點(diǎn)信息加入到結(jié)點(diǎn)中去 strcpy(,dlg.m_name); strcpy(addnode-info.addr,dlg.m_addr); addnode-info.birthday.year=dlg.m_birthday_year; addnode-info.birthday.month=dlg.m_birthday_

54、month; addnode-info.birthday.day=dlg.m_birthday_day; addnode-info.marry=dlg.m_marry; addnode-info.live=dlg.m_live; /若此人已過(guò)世,則還應(yīng)有死亡日期 if(!dlg.m_live) addnode-info.deathday.year=dlg.m_deathday_year; addnode-info.deathday.month=dlg.m_deathday_month; addnode-info.deathday.day=dlg.m_deathday_day; person o

55、neself=0; operfamilytree.find(operfamilytree.getroot(),oneself,addnode -);/查找家譜中有沒(méi)有此人 if(oneself!=0) afxmessagebox(家譜中已有此人!); delete addnode; return; person parent=0; char parentnamemax_charnum; strcpy(parentname,dlg.m_parentname); if(strcmp(parentname,-1)=0)/試圖加入一個(gè) 新的根結(jié)點(diǎn)時(shí)給出警告 int reply; re

56、ply=:messagebox(this-m_hwnd,確實(shí)要置此結(jié)點(diǎn)為根結(jié)點(diǎn)嗎? , 警告,mb_yesno|mb_iconwarning); if(reply=idno) return; else/加入的結(jié)點(diǎn)不是根結(jié) 點(diǎn) operfamilytree.find(operfamilytree.getroot(),parent,parentna me);/在家譜中找 addnode 的父結(jié)點(diǎn) if(parent=0) afxmessagebox(父親結(jié)點(diǎn)沒(méi)找到!); delete addnode; return; /日期合法性檢查 if(!operfamilytree.isdatevalid(

57、addnode-info.birthday) afxmessagebox(個(gè)人信息中的出生日期不合實(shí)際!); delete addnode; return; /比較孩子結(jié)點(diǎn)與其父親結(jié)點(diǎn)的出生日期 if(strcmp(parentname,-1)!=0)/加入的結(jié)點(diǎn)不是根結(jié) 點(diǎn) if(operfamilytree.comparedate(addnode- info.birthday,parent-info.birthday)info.birthday,parent-info.birthday)=0) afxmessagebox(所加入孩子的出生日期與其父親的出生日期 相等,不合實(shí)際!); del

58、ete addnode; return; if(!addnode-info.live)/查看死亡日期的合法性 if(!operfamilytree.isdatevalid(addnode-info.deathday) afxmessagebox(個(gè)人信息中的死亡日期不合實(shí)際!); delete addnode; return; if(operfamilytree.comparedate(addnode- info.birthday,addnode-info.deathday)0) afxmessagebox(此人出生日期不可能比其死亡日期早!); delete addnode; return;

59、 operfamilytree.add(parent,addnode);/找到,把 addnode 加入家譜中 htreeitem hparentitem=0,hrootitem; hrootitem=m_petree.getrootitem();/得到樹的根結(jié) 點(diǎn) if(strcmp(parentname,-1)!=0)/加入的結(jié)點(diǎn)不是根 結(jié)點(diǎn) findintree(hrootitem,hparentitem,parentname);/在樹中 找到要加入結(jié)點(diǎn) addnode 的父結(jié)點(diǎn) parentname addtotree(hparentitem,addnode);/把此結(jié)點(diǎn)加入 到樹中

60、refreshtree();/刷新該樹 isfamilytreemodified=true;/置家譜修改標(biāo)記為 真 onfamilytreesort()函數(shù) onaddbutton()函數(shù),當(dāng)用戶單擊“出生日期排序”按鈕時(shí)觸發(fā) cfamilytreedlg:onfamilytreesort()函數(shù),對(duì)應(yīng)的代碼如下: void cfamilytreedlg:onfamilytreesort() / todo: add your command handler code here refreshlist(); quicksortnode* order; int totalnums=0; operf

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論