東南大學C++系統設計報告書_第1頁
東南大學C++系統設計報告書_第2頁
東南大學C++系統設計報告書_第3頁
東南大學C++系統設計報告書_第4頁
東南大學C++系統設計報告書_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、合程序設計(VC+短學期課程)第七小組組長:XX組員:XX CC SS交通學院C+小組二O一零年八月目錄第一部份軟件工程一、需求分析二、系統設計三、編碼實現四、系統測試五、運行維護第二部份干部招聘錄用系統一、題目與要求二、畫數據流圖三、畫模塊結構圖四、詳細設計(VC+語言)五、編程(略)第三部份成績評定標準第四部分用戶說明書第五部分程序設計日志第六部分實習心得第一部份軟件工程1968年,北大西洋公約組織的學術會議第一次創造了 “軟件工程”一詞,提出“軟件工程”概念。通過工 程化的方法來開發軟件,解決軟件危機。三十年余年來,盡管軟件的差錯就象汽車一樣時有拋錨的時候,但軟 件的發展速度遠遠超過了任

2、何傳統工業,而期間并未出現真真的軟件危機。這在很大程度上歸功于“軟件工程”。 如今軟件工程成了一門學科。軟件工程簡單的講,主要講述軟件開發的道理,基本上是軟件實踐者的成功經驗和失敗教訓的總結。軟件 工程的觀念、方法、策略和規范都是樸實無華的,平凡之人皆可領會,而關鍵在于運用。軟件工程方法是應該 事先掌握,在整個軟件設計過程中都必須遵照執行的,而不能把它看成是事后解決問題的錦囊妙計,對預料將 要出現的問題,必須控制每個實踐環節,防患于未然。研究軟件工程將隨著軟件工程的開始,直到軟件被廢棄 研究工作才結束。軟件工程中最基本的概念是軟件生命周期。一個軟件從定義到開發、使用和維護,直到最終被廢棄,要經

3、 歷一個漫長的時期,通常把軟件經歷的這個漫長的時期稱為生存周期。軟件生存周期就是從提出軟件產品開始, 直到該軟件產品被淘汰的全過程。軟件生命周期是指軟件產品或軟件系統從產生、投入使用到被淘汰的全過程 統。通常,將軟件生命周期分為五個階段:需求分析、系統設計、編碼實現、系統測試和運行維護。需求分析和系統設計是軟件開發過程中最核心的活動。典型的針對需求分析和系統設計的軟件開發方法有: 結構化分析方法、面向數據結構的方法和面向對象方法。結構化分析方法(structured analysis,簡稱SA)是一種面向數據流進行需求分析的方法,適合于數據處理類型 軟件的需求分析。結構化分析方法使用數據流圖D

4、FD與數據字典DD來描述,面向數據流問題的需求分析適合 于數據處理類型軟件的需求描述。其核心思想是分解化簡問題,將物理與邏輯表示分開,對系統進行數據與邏 輯的抽象。下面的需求分柝和系統設計就是以結構化分析方法為前提的。面向數據結構的方法是結構化方法的變形,它注重數據結構而不是數據流,是從數據結構方面分析,即分 析信息結構,并用數據結構圖來表示,在此基礎上進行需求分析,導出軟件的結構。其特征是:信息結構是層 次式;數據結構的表達要求用順序、選擇、重復等合成構造;具有將層次式數據結構映射到程序結構的映射機 制。面向對象方法我們在后面單獨介紹。(該部分內容摘自于大學計算機基礎基本概念及應用思維解析,

5、 沈軍、朱敏等,高等教育出版社一書)一、 需求分析一日錄概述背景:系統目標完成的任務、不完成的任務、業務模式、業務狀況、用戶需求、業務需求、使用范圍、功能要求、權限管理 性能、需求業務流程與其他系統的關系業務、流程圖業務、邏輯業務分解。業務描述數據分析、數據單據數據、分類數據描述附件概述。1.1背景:該教師住房管理信息系統是按課題要求所完成的。面向的用戶:全校住學校宿舍的教師因此該系統的最終用戶是全校的住學校宿舍的教師,同時還有對于住房分配的相關管理者。他們的權限各有不同。要 求使用本系統的用戶對計算機能夠熟練的使用,知道基本的操作。1.2系統目標1.2.1系統應完成的目標通過計算機完成教師住

6、房管理:用計算機高速、快捷的完成從大量的戶主中提取相關信息,以反映住房情況;計算機聯 網后,數據在網上傳遞,可以實現數據共享、避免重復勞動,規范住房分配管理行為、從而提高了分配效率和水平;住房 管理信息系統以計算機為工具,通過對住房管理所需的信息管理,把管理人員從繁瑣的數據計算處理中解脫出來,使其有 更多的精力從事住房管理政策的研究實施,分配計劃的制定執行和分配質量的監督檢查,從而全面提高分配的合理性。1.2.2系統不完成的任務:1系統不統計對于戶主住房地址等信息的管理。2系統同時對輸入僅提供簡單的輸入格式是否合格檢查,不提供對輸入的核對檢查,要確定輸入是否正確,還需工作 人員自己手工完成。1

7、.3業務模式(略)1.4現行組織機構及業務狀況用戶目前完成這些工作是通過傳統的手工操作方式,易發生數據丟失、統計錯誤、勞動強度高、且速度慢,通過計算 機工具和本系統來提高速度、改善現狀。2.1業務需求2.1.1使用范圍高校教師住房情況以及可分配的房源,隨時可以查詢,輸出。2.1.2功能要求戶主檔案管理:戶主的一般情況(每個已注冊戶主的姓名、性別、職稱等)2.2性能需求網絡環境下的多用戶系統在上述已有的硬件環境下,信息由各用戶在規定的權限下在各自的工作站上錄入,信息上 網后各用戶可查詢、調用,達到信息共享,數據的完整性、準確性。錄入數據采用表格方式,限制錄入數據類型及取值范 圍以保證數據的完整性

8、及準確性。系統具有部分反悔修改功能,系統備有的修改功能均可反悔。數據完成的時間性,如房源的分配,只有在戶主相關申請后才可以進行分配。數據安全性本系統采用二級安全保障:第一級:依賴于網絡本身對用戶使用權限的規定。第二級:在程序模塊中通過使用密碼控制功能對用戶使用權限加以限制。如前面的數據收集前的系統權限表。3.1原始數據單據以下是一部分原始數據單據:單據戶主基本信息單據單據名稱:戶主單據別名:戶主信息簡述:統計戶主的基本信息來源:戶主去處:戶主住房管理組成:戶主姓名、性別、職稱、學歷等家庭單據單據名稱:家庭單據別名:家庭成員簡述:統計家庭信息來源:戶主去處:住房分配打分組成:姓名、性別、出生年月

9、概念結構圖二、系統設計系統設計是把需求轉化為軟件系統的最重要的環節:系統設計的優劣在根本上決定了軟件系統的質量. o: 系統設計主要著力于系統“如何做”,它包含如下四方面內容:體系結構設計、模塊設計、數據結構與算法設計、 用戶界面設計。在系統設計時,通常分為概要設計和詳細設計兩個階段。詳細設計產生程序員可用的模塊說明, 即數據結構說明及加工描述。1 .概要設計概要設計建立整個軟件體系結構,包括子系統、模塊以及相關層次的說明、每一模塊的接口定義等。概在 概要設計過程中,復審系統計劃與需求分析,確定系統具體的實施方案,構建軟件的體系結構。概要設計還要 確定模塊結構,劃分功能模塊,將軟件功能需求分配

10、給所劃分的最小單元模塊。要確定各模塊間的聯系,確定 數據結構、文件結構、數據庫模式,以及確定測試方法與策略。體系結構設計體系結構是軟件系統中最本質的東西,它是對復雜事物的一種抽象。良好的體系結構是普遍適用的,它可 以高效地處理多種多樣的個體需求。體系結構設計時應在一定的時間內保持穩定。軟件體系結構已經在軟件工程領域中有著廣泛的應用,但迄今為止還沒有一個被大家所公認的定義。.體系 結構(Architcture)_詞在英文里就是“建筑的意思。我們把Dewayne Perry和Alex Wolf的定義作為參考:軟件 體系結構是具有一定形式的結構化元素,耳?構件的集合,包括處理構件、數據構件和連接構件

11、。處理構件負 責對數據進行加工,數據構件是被加工的信息,連接構件把體系結構的不同部分組組合連接起來:這,定義注 重區分處理構件、數據構件和連接構件,這一方法在其他的定義和方法中基本上得到保持。體系結構有許多種,包括常用的層次結構。層次結構是把比較復雜的事情,進行分層,然后一層一層地去完成。在實現時,高層的工作總是建立在低 層的工作之上。層次關系主要有兩種:上下層關系和順序相鄰關系。上下層關系非常常見,如學校的組織結構,最高層是學校,下面院系,院系下面是學系。在權限上學校的 權限高于院系,學校可以指揮院系,而反過來不行。對于順序相鄰關系,我們可以把計算機網絡的OSI參考模型來理解,OSI有七個層

12、次,在通訊時,只能 在相鄰兩層之間發生,信息只能被一層一層地順序傳遞下去。發送方和接收方傳遞的方向剛好相反。體系結構設計要求:通過分層,把每個功能逐步獨立起來,并且保證每個功能都有相應的模塊來實現;要 確定模塊間的調用關系,對模塊間接口做總體描述,明確模塊間信息的傳遞。模塊設計在設計好軟件的體系結構后,宏觀上就明確了各個模塊應具有的功能,在哪一個層次上,與其他功能模塊 的關系。我們習慣從功能上劃分模塊,保持“功能獨立”是模塊化設計的基本原則。因為,“功能獨立”的模塊 可以降低開發、測試、維護等階段的代價。但是“功能獨立”并不意味著模塊之間保持絕對的孤立。一個系統 要完成某項任務,需要各個模塊相

13、互配合才能實現,此時模塊之間就要進行信息交流。模塊設計主要說明每個 模塊“做什么”、簡要說明數據輸入、輸出、處理邏輯、與其它模塊的接口,與其它系統或硬件的接口等聯系。評價模塊設計優劣的三個特征因素:“信息隱藏”、“內聚與耦合”和“封閉、開放性”。信息隱藏:是盡量避免某個模塊的行為去干擾同一系統中的其它模塊,在我們學習面向對象程序設計,類 的封裝性就是為了實現信息隱藏。內聚與耦合:內聚(Cohesion)是一個模塊內部各成分之間相關聯程度的度量。耦合(C0upling)是模塊之間依 賴程度的度量。內聚和耦合是密切相關的,與其它模塊存在強耦合的模塊通常意味著弱內聚,而強內聚的模塊 通常意味著與其它

14、模塊之間存在弱耦合。模塊設計追求強內聚,弱耦合。封閉、開放性:如果一個模塊可以作為一個獨立體被其它程序引用,則稱模塊具有封閉性。如果一個模塊 可以被擴充,則稱模塊具有開放性。模塊的“封閉、開放性”實際上對應于軟件質量因素中的可復用性和可擴充性。采用面向過程的方法進行 程序設計,很難開發出既具有封閉性又具有開放性的模塊。采用面向對象設計方法可以較好地解決這個問題。詳細設計詳細設計的目的是為軟件中的每一個模塊確定使用的算法和塊內數據結構,并用某種選定的表達工具給出 清晰的描述。主要任務:為每個模塊確定采用的算法,選擇某種適當的工具表達算法的過程,寫出模塊的詳細過程性描述;.確定每一模塊使用的數據結

15、構;確定模塊接口的細節,包括對系統外部的接口和用戶界面,對系統內部其它模塊的接口,以及模塊輸入 數據、輸出數據及局部數據的全部細節。為每一個模塊設計出一組測試用例,以便在編碼階段對模塊代碼(即程序)進行預定的測試,模塊的測試 用例是軟件測試計劃的重要組成部分,通常應包括輸入數據,期望輸出等內容。三、編碼實現編碼實現是將設計結果轉化為可執行的程序代碼,這是程序員的主要任務。 要將設計結果轉化為語言 代碼,首先必須正確理解需求分析中要求“做什么? ”。要詳細閱讀概要設計書和詳細設計書,明確自己需要完 成的模塊和其他模塊之間的聯系(接口規范),外部提供的數據元素和自己輸出的數據元素等。一個大的系統是

16、由一個團隊共同協作完成的,必須完全按照設計書的要求來完成相應模塊的程序編碼。一個好的程序編碼,在完成模塊功能的前提下,應該做到程序簡單易懂、運行可靠、性能穩定和執行效率 高等特點。1 .在編碼實現過程中還應該注意做到:所使用的標識符應有一定的約定,盡可能采用有一定含義的名字,可以顧名思義;在程序設計時,盡可能加上注解;書寫格式要規范,采用縮進等格式;這樣,可以便于閱讀和理解程序,為今后維護提供便利條件。2.采用標準的控制結構根據詳細設計的流程,采用標準的和詳細設計要求一致的分支和循環結構,不準隨意的用goto語句或多余無 效的循環等。數據輸入、輸出要求數據的在輸入、輸出過程中,要求做到:人機操

17、作界面要友好,操作方便,對于前后界面之間、相同類似操作界面間等風格要一致。如Windows 有相同風格的窗口界面,相同的對話框界面等。從外部提供的數據(輸入數據)要進行合法性或有效性檢查,防止無效數據輸入。如性別輸入,只有男或女 兩者之一,在輸入時應根據約定只能提供男女兩種數據形式。如果數據是根據約定輸入(是為了方便數據的輸入),應該提示相關約定信息。如性別輸入時用M表示男, 用F表示女,則在輸入時,應該包含上面的約定信息。輸入的數據格式盡可能和日常的表示方式一致。如日期,我們通常的表 示是年月.日格式。數據輸出時,盡可能輸出易懂的信息,如果是符號,要提示符號的約定。如性別輸出是應該輸出男或女

18、, 如果輸出的是符號,則需說明M.表示男,F.表示女,便于別人理解。程序要具有“傻瓜”功能,不會因為用戶輸入信息等環節偶然的錯誤,而導致程序非正常退出。除此之外,還可以提供在線幫助等方式,來方便用戶使用。四、系統測試系統測試就是通過測試活動使軟件系統達到需求時提出的各項要求,檢測和排除錯誤。測試總是在假設程 序中存在缺陷的前提下,再通過執行程序來發現并最終改正缺陷。世界上沒有完美無缺的程序,任何程序都或多或少的存在錯誤,系統測試的目的是盡可能多的去發現程序 所存在的錯誤,提高程序的質量。要盡可能多的發現程序中的錯誤不是一件輕而易舉的事情。需要找到相關的測試的方法,而要找出系統中 所有的錯誤,那

19、只是一種設想。試想一下目前我們使用非常廣泛的Windows操作系統,還一直被程序的許多漏 洞所困擾,微軟一直在提供相關的補丁,使系統能穩定的運行。測試一個系統,一定要明確是尋找系統中的缺陷和錯誤,如果是去證明系統的正確性,那么測試的時候, 就會按照系統的流程去測試,這樣就不可能發現程序中的錯誤,這樣的測試是毫無意義,也是沒有必要的。一個成功的測試示例在于發現了至今尚未發現的缺陷。對一個系統的測試內容有:功能性測試:測試軟件功能是否滿足設計要求,當給定合理的數據輸入,系統能否得到預期的結果。功 能性測試是系統成立的前提。容錯性測試:當給定的數據偏離合理數據范圍時,系統能否正常運行而不至于系統癱瘓

20、或不會得出啼笑皆 非的結果。性能與效率測試:性能與效率測試主要是測試軟件的運行速度和對資源的利用率。一個好的系統應該盡可 能低的占用計算機資源,且運行效率高。易用性測試:系統提供的使用方法是否方便。一個好的系統應該有好的應用界面,使用戶操作方便、輸入 輸出直觀。當對系統進行具體測試時,有多種測試手段: “白盒測試”是指開發人員從程序內部對上述內容進行測試。“白盒測試”針對程序內部邏輯結構,對 所有邏輯路徑進行測試。測試時,從檢查程序的邏輯著手,得出測試數據。 “黑盒測試”(又稱為功能測試或數據驅動測試)是把測試對象看作一個黑盒子。利用黑盒測試法進行動 態測試時,需要測試軟件產品的功能,不需測試

21、軟件產品的內部結構和處理過程。五、運行維護運行維護是將系統投入運行,并對投入運行的軟件進行修改調整,使軟件系統能適應外界環境的變化、實 現功能擴充和質量改善。前面我們已經提到,系統不可能是完美無缺的。當系統投入使用后,系統中的缺陷就會不斷暴露出來,系 統投入使用的開始,也是系統不斷維護的開始。系統維護的終結,也是系統“死亡”的時刻。維護主要分三類:糾錯性維護:由于前期的測試不可能揭露軟件系統中所有替在的錯誤,用戶在使用軟件時仍將會遇到錯誤, 診斷和改正這些錯誤的過程稱為糾錯性維護。適應性維護。由于新的硬件設備不斷推出,操作系統和編譯系統也不斷地升級,為了使軟件能適應新的環 境而引起的程序修改和

22、擴充活動稱為適應性維護。完善性維護。在軟件的正常使用過程中,用戶還會不斷提出新的需求。為了滿足用戶新的需求而增加軟件 功能的活動稱為完善性維護。參考資料:本章的部分內容引用了浙大林銳博士的 軟件工程思想。沈軍、朱敏、徐冬梅、翟玉慶編著.大學計算機基礎基本概念及應用思維解析高等教育出版社第二部分 教師住房管理系統一題日與要求要求該系統在磁盤中存儲全校住學校宿舍的教師住房信息。對每一住戶存儲如下信息:戶主:姓名、性別、職稱教授、 副教授、講師、助教)、出生年月、參加工作年月和最后學歷(博士、碩士、本科、其他);家庭成員:對每一個成員,存儲 姓名、性別和出生年月;現住房等級(分別為集體宿舍、一室、一

23、室一廳、二室、二室一廳、三室、三室一廳)和現住房面 積(單位;平方米)。當學校有房源后,各住戶可提出分房申請(含姓名、申請住房的等級)。系統功能要求如下:(1)創建存儲教師住房信息的存儲系統;(2)分房時,系統應為申請者輸入申請信息(存盤)。對于所有分房者按申請等級不同(共6級)分別按分數高低列表(一種 等級一張表)輸出(同時存盤)。計分方法如下,職稱分:教授,20分;副教授,16分;講師,12分;助教,8分。工齡分: 每年0. 5分;每月0. 0416分。年齡分:每歲0. 1分;每月O. 0083分。學齡分:博士,4. 5分;碩士,3. 25分,本 科,2分;其他,0分。每張表應含申請該等級

24、的姓名、職稱、參加工作年月、最后學歷、原住房等級、職稱分、工齡分、 年齡分、學齡分及總分。每張表按總分從高到低排列。(3)可輸出婚后仍分居集體宿舍者的戶主姓名及出生年月,這類教師的總數。(4)可輸出未住上三室一廳或三室的副教授、教授姓名及現住房標準,這類教師的總數。(5)可輸出未住上一室一廳及以上等級的具有博士學位的教師姓名及住房標準。(6)可輸出全校教師人均(包括家庭人口)住房面積。提示(1)MFC應用:創建教師住房信息類,包書戶主信息、家庭成員信息和住房情況等(其中可以定義結構體或類或枚舉類 型表示某部分信息,如住房等級可用枚舉類型表示),應派生自CObject,類,并實現序列化操作;在文

25、檔類中添加存儲教 師住房信息的鏈表或數組(可用MFc的集合類),在文檔類Sefiize()函數中實現序列化;通過菜單打開對話框,在對話框中 輸入有關信息和查詢信息(用多個對話框);視圖類顯示查詢結果;教師住房的信息可保存到文件并可讀出。(2) 控制臺應用:創建教師住房信息類,類似提示1;定義存儲教師住房信息的鏈表或數組。二數據流圖2.1頂層數據流圖各類住房信息匯總家庭成員基本信息 戶主基本信息 現住房等級 現住房面積圖1教師住房管理系統數據流圖(第0層)相應的數據詞典條目:1、數據流名:家庭成員基本信息組 成:成員姓名+性別+出生年月2、數據流名:戶主基本信息組成:姓名+性別+職稱+出生年月+

26、參加工作年月+最后學歷3、數據流名:現住房等級組 成:級注 :共分六級4、數據流名:現住房面積組 成:平方米2.2第一層數據流圖原住房等級信息總讀入輸出教師及家庭成員基本信息 信信息處理各個等級戶主信息表,各個等級戶主 總數人均住房面積圖2教師住房管理系統數據流圖(第一層)數據流名組 成文件名組成信息總表戶主信息+家庭信息+原住房等級各個等級戶主信息表戶主信息+住房標準+總數2.3關于加工“輸出”的分解戶主住房信息總表圖3加工“輸出”的分解C全校教師人均住房面積總人數表A住集體宿舍教師卜輸出婚后仍分居集體宿舍者的戶主姓名及這類教師的總數表信息及總數出生年月2輸出來住上三室一廳或三室的副教授、教

27、授B教師信息表及姓名及現住房標準及這類教師的總數表3未住上一室一廳及以上等級的具有博士學位的教師姓名及住房標準表輸出全校教師人均(包括家庭人口)住房面積戶主基本信息分等級,出表讀入原,現住房等級,面積c人均住房面積2.4系統數據流圖B輸出條件4的輸出條件5的A輸出集體宿舍尸主信息打印總成績總表統計計算條件4:未住上三室一廳或三室的副教授、教授姓名及現住房標準,這類教師的總數 條件5:未住上一室一廳及以上等級的具有博士學位的教師姓名及住房標準圖4教師住房管理系統數據流圖系統頂層模塊結構下面考慮三個第一層模塊的下屬模塊。由于輸入的功能就是“讀入”加工的功能。再設計“輸出”模塊的下屬模塊。下面考慮設

28、計“信息處理”模塊的下屬模塊圖6輸出模塊下屬模塊圖7“信息處理”及其下屬模塊申請不同等級住房的住戶圖8系統的模塊結構圖三畫模塊結構圖3.1教師住房管理主模塊模塊名:ROOMMANNAGEMENT輸入:住戶基本信息、申請信息、查詢要求輸出:分類查詢結果報表、分房結果、不同等級住戶信息功能:建立查詢總表調用以下模塊:READIN、TREATINF、EXPORT3.2讀入 模塊模塊名:READIN輸入:住戶基本信息、申請信息輸出:信息總表功能:將住戶基本信息、申請信息存入指定的信息總表中。信息處理 模塊模塊名:TREATINF輸入:信息總表、查詢要求輸出:結果查詢總表功能:將信息總表 中信息折算成分

29、數,并按總分從高到低排成結果查詢總表。輸出 模塊模塊名:EXPORT輸入:基本查詢要求、申請分房等級輸出:分類查詢結果報表、分房結果和申請不同等級住房住戶信息中的一項或幾項的屏幕形象或紙面現象。 功能:將分類查詢結果報表 、分房結果和申請不同等級住房住戶信息 中的一項或幾項在屏幕或打印機上顯 示出來。3.5排序 模塊模塊名:ARRANGE輸入:申請等級、基本信息輸出:輸出總表功能:將分數 按總分從高到低排序。調用以下模塊:無3.6 輸出查詢結果 模塊模塊名:PRNPER輸入:查詢要求輸出:查詢報表的屏幕或紙面形象。功能:將各種查詢報表在屏幕或紙面上顯示。調用以下模塊:無注釋:該模塊與數據流圖中

30、的加工各種查詢報表 對應。四 詳細設計(VC+語言)4.1系統中所用的數據結構模塊 int i;double year,month;class datapublic:double year,month;class djbpublic:char name100;int zc;data cjgzny;int zhxl;int yzfdj;double zcf,glf,nlf,xlf;double mark;class jiatingchengyuanpublic:char cyname100;int sex;/data csrq;class huzhupublic:char hzname100;i

31、nt sex;int zhicheng;data csrq;data cjgzrq;后續函數中所需的中間變量日期類年、月等級表類姓名職稱(1教授;2副教授;3教師;4助教)參加工作日期最后學歷(1博士;2碩士;3本科;4其他)原住房等級(1集體宿舍;2一室;3一室一廳;4二室;5二室一廳;6三室;7三室一廳)職稱分、工齡分、年齡分、學齡分總分家庭成員類成員姓名成員性別(1 stands for male,2 stands for female)出生日期戶主類戶主姓名戶主性別(1 stands for male,2 stands for female)戶主職稱(1教授;2副教授;3教師;4助教;

32、)出生日期參加工作日期int zuihouxueli;最后學歷(1博士;2碩士;3本科;4其他;);class jszfxx教師住房信息類public:huzhu hz;戶主int jtrs;家庭人數jiatingchengyuan jtcy100;家庭成員類家庭成員數組int xzfdj;現住房等級(1集體宿舍;2一室;3一室一廳;4二室;5二室一廳;6三室;7三室一廳;)int xzfmj;現住房面積(單位:平方米;)double fenshu;分數int sqzfdj;申請住房等級(1集體宿舍;2一室;3一室一廳;4二室;5二室一廳;6三室;7三室一廳;)jszfxx *next;教師住

33、房信息類指針;戶主信息輸入模塊jszfxx *creat()jszfxx *head,*p1,*p2;int rs=1;head=new(jszfxx);p1=p2=head;int n=1;分別輸入戶主個人信息及家庭成員信息并輸出存儲在文檔中while(1)if(n=1)head=p1;else p2-next=p1;p2=p1;p1=new(jszfxx);n+;coutii;if(ii=2)break;rs+;再次輸入戶主個人信息及家庭成員信息并輸出存儲在文檔中p2-next=NULL;delete p1;return head;申請住房信息輸入模塊void ffxt(jszfxx *h

34、ead)fstream outfile(教師申請住房信息.txt,ios:out);int iii;int rs=0;docouta;jszfxx *p1=head;doif(*(p1-hz.hzname)=*a)輸入與申請住房相關的各類信息cout是否繼續輸入申請信息? 1、繼續;2、停止iii;while(iii!=2);if(rs=0)outfilehz.zhicheng=1)s=s+20;職稱分計分系統elseif(p1-hz.zhicheng=2)s=s+16;elseif(p1-hz.zhicheng=3)s=s+12;else s=s+8;double p,q;p=(year-p

35、1-hz.cjgzrq.year)*0.5+(month-p1-hz.cjgzrq.month)*0.0416; 工齡分q=(year-p1-hz.csrq.year)*0.1+(month-p1-hz.csrq.month)*0.0083; 年齡分s=s+p+q;學齡分if(p1-hz.zuihouxueli=1)s=s+4.5;elseif(p1-hz.zuihouxueli=2)s=s+3.25;else s=s+2;p1-fenshu=s;p1=p1-next;各類信息輸出模塊void diyidengji(jszfxx *head);void dierdengji(jszfxx *h

36、ead);void disandengji(jszfxx *head);void disidengji(jszfxx *head);void diwudengji(jszfxx *head);void diliudengji(jszfxx *head);void hunhou(jszfxx *head);void weisan(jszfxx *head);void weiyi(jszfxx *head);void quanxiao(jszfxx *head);申請一室住房名單(按順序排名并存盤)申請一室一廳住房名單(按順序排名并存盤)申請二室住房名單(按順序排名并存盤)申請二室一廳住房名單(按

37、順序排名并存盤)申請三室住房名單(按順序排名并存盤)申請三室一廳住房名單(按順序排名并存盤)輸出婚后仍分居集體宿舍者的戶主姓名及出生年月,這類教師的 總數。輸出未住上三室一廳或三室的副教授、教授姓名及現住房標準, 這類教師的總數。輸出未住上一室一廳及以上等級的具有博士學位的教師姓名及住 房標準。輸出全校教師人均(包括家庭人口)住房面積。5編程(略)第三部份成績評定標準第四部分用戶說明書本教師住房管理系統全部代碼均由C+編寫而成,用于教師住房信息的創建、修改、刪除、排序、 查找以及查詢相關教師住房信息。使用本軟件,只需運行其中的“教師住房管理系統.cpp”即可。本系統主要功能如下:創建存儲教師住

38、房信息。分房時,為申請者輸入申請信息(存盤)。對于所有分房者按申請等級不同(共6級)分別按分數高低列表(一種等級一張表)輸出(同時存盤)。各類信息的查詢輸出婚后仍分居集體宿舍者的戶主姓名及出生年月,這類教師的總數。B輸出未住上三室一廳或三室的副教授、教授姓名及現住房標準,這類教師的總數。C輸出未住上一室一廳及以上等級的具有博士學位的教師姓名及住房標準。D.輸出全校教師人均(包括家庭人口)住房面積。本系統具體操作如下:創建存儲教師住房信息當 打 開 本 系 統 進 入管理 界 面, 出 現 如 下界面輸入1進入教師住房信息創建系統,系統如圖:這時用戶可按照自己的信息輸入,系統會為用戶自動將信息存

39、盤。輸入完后將進入下一界面:此時,如需創建下一教師住房信息,輸入1繼續,否則輸入2。本此操作為介紹所需(戶主押書凱,家庭成員吳凱劉姓李 聰),為簡便起見,直接進入下一程序。輸入2后界面如下:分房時,為申請者輸入申請信息(存盤)。接1最后一張圖,輸入1后界面如下:此時便是第2條功能,申請者輸入申請信息。輸入信息后,界面如下:對于所有分房者按申請等級不同(共6級)分別按分數高低列表(一種等級一張表)輸出(同時存盤)。上述操作完成后,會自動生成txt文件“教師申請住房信息”、“教師住房信息”:Debug2011/9/2 1&:23文4犢J教扁出請任房信息2011/9/2 16:4B丈本文檔1 KB教

40、扁住2011/9/2 12:40CPP文件38 KB教扁曲密段,dsp2011/9/2 16:2 包DSP文件4 KB教扁住贈理段,化2011/2 16:23NCB文件0 KB_教扁住房管理耋毓,pl 92011/2 16:23PLG文件1 KB胃教扁住W信息2011/2 16:331 KB4.各類信息的查詢:此時結束申請信息的輸入后會出現如下界面:輸入1進入。然后出現如下界面:是否進入相若信息查涅 心 信信王瞽 的息的戶副師、教積面 師扉房 啟廳房下以均統 住一住一 015及人系 室室室室分室室師理 -I M慕、曰全退請三室一廳 凱職稱:教授 =20工齡分淚參加工作年月年= 2010 :2最后學歷:本科-7912年齡分= 1-9581學蛉分島分= 24.7493原住房等級:集體宿心 信信王瞽 的息的戶副師、教積面 師扉房 象王下住 房廳房下以均統 住一住一 015及人系 室室室室分室室師理 -I 青主同青主里呈

溫馨提示

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

評論

0/150

提交評論