




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、xx大學 軟件設計基礎-C+課程設計報告設計名稱: 高校人事管理系統 姓 名: 學 號: 專業班級: 學 院: 設計時間: 設計地點: 成績:指導教師評語: 指導教師簽字: 年 月 日軟件設計基礎-C+課程設計報告 第 PAGE 18 頁,共 NUMPAGES 18 頁目 錄1.課程設計目的32.課程設計任務與要求33.課程設計說明書44.課程設計成果75.程序調試過程146.設計問題的不足和改進方案157.課程設計心得168.參考文獻171課程設計目的軟件設計基礎-C+課程設計是這門課程的實踐性教學環節之一,本次設計結合實際應用的要求,使課程設計既覆蓋C+的知識點,又接近工程實際需要。目的是
2、通過課程設計的綜合訓練,培養學生實際分析問題、解決問題的能力,以及編程和動手能力,最終目標是通過課程設計這種形式,幫助學生系統掌握C+這門課程的主要內容,養成良好的編程習慣,更好的完成教學任務。2課程設計任務與要求:要求:本次課程設計利用軟件設計基礎-C+課程中所學到的編程知識和編程技巧,完成具有一定難度和工作量的程序設計題目,幫助學生掌握編程、調試的基本技能,獨立完成所布置的任務。要求:1、對系統進行功能需求分析2、設計合理的數據結構和系統框架3、編程簡練,程序功能齊全,能正確運行4、說明書、流程圖要清楚5、課題完成后必須按要求提交課程設計報告任務:某高校,主要人員有:在職人員(行政人員、教
3、師、一般員工)、退休人員、返聘人員和臨時工。現在,需要存儲這些人員的人事檔案信息:編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、任職時間、來院時間。(1)添加刪除功能:能根據高校人事的變動情況,添加刪除記錄;(2)查詢功能:能根據編號和姓名進行查詢;(3)編輯功能(高級):根據查詢對相應的記錄進行修改,并存儲;(4)統計功能:能根據多種參數進行人員的統計(在職人數、黨員人數、女工人數、高學歷人數);(5)保存功能:能對輸入的數據進行相應的存儲,要求重載插入和提取符以完成數據的保存和打開。(6)人員編號在生成人員信息時同時生成,每輸入一個人員信息編號順序加1。3課程設計說明書 = 1
4、* GB2 概要設計模塊說明:高校人事管理系統的設計程序共包括七個模塊,分別是添加并保存模塊、刪除模塊、修改模塊、查詢模塊、統計模塊、顯示模塊、退出系統模塊。我所做的是前三個模塊,通過程序中數據類型和函數用類來實現,人員類person,定義了相應的構造函數和構造函數的重載以及一些成員函數。此外還利用switch語句、if函數、while循環等。模塊結構圖:高校人士管理系統刪除人員信息修改人員信息查詢人員信息統計人員信息顯示所有信息 退出添加人員并保存 = 2 * GB2 詳細設計 總體流程圖:選擇要修改的人員信息運行選擇要刪除的人員信息管理系統主頁面分別輸入要輸入的人員信息刪除之后添加完最后一
5、項之后修改完之后各功能模塊流程圖:(1)添加人員信息功能:能根據人事的變動情況,添加記錄;姓名人員類型1添加人員信息并保存并保存bibingbaocun職務性別年齡職稱政治面貌最高學歷任職時間來院時間主頁面(2)刪除人員信息功能:能根據人事的變動情況,刪除記錄;2刪除人員信息主頁面刪除信息人員的編號(3)編輯功能:根據查詢對相應的記錄進行修改,并存儲;修改的項目的代號修改的人的編號3修改人員信息并保存bibingbaocun人員的新的信息修改完畢主頁面4課程設計成果源程序代碼#include#include/文件流,數據流輸入輸出#include #include/參數化輸入輸出是setw()
6、函數的頭文件using namespace std;int k;class person /人員基本信息/人員類 似有數據成員private: char num10; /序號/ char type20; /編號/ char name20; /姓名/ char sex10; /性別/ char age10; /年齡/ char zhiwu20; /職務/ char zhichen20; /職稱/ char zzmm20; /政治面貌/ char zgxl20; /最高學歷/ char rzsj20; /任職時間/ char lysj30; /來院時間/ static int bianhao;pu
7、blic:/構造函數一 void setperson(char *type1,char *name1,char *sex1,char *age1,char *zhiwu1, char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1); static int& getbianhao() return bianhao; char * gettype() return type; char * getname() return name; char * getsex() return sex; char * getage() ret
8、urn age; char * getzhiwu() return zhiwu; char * getzhichen() return zhichen; char * getzzmm() return zzmm; char * getzgxl() return zgxl; char * getrzsj() return rzsj; char * getlysj() return lysj; char * getnum() return num; void tjry(); void find(); /查找匹配信息/ void output(); /輸出/ void shancu(); /刪除/
9、void xiugai(); /修改/ void tongji(); /統計/;person p100;person pp100;int k1;int person:bianhao=0;/構造函數二void person:setperson(char *type1,char *name1,char *sex1,char *age1,char *zhiwu1, char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1)/*某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時工。 現在,需要存儲這些人
10、員的人事檔案信息:編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、任職時間、來院時間。 int static j=1; strcpy(type,type1); /字符串的拷貝 strcpy(name,name1); strcpy(sex,sex1); strcpy(age,age1); strcpy(zhiwu,zhiwu1); strcpy(zhichen,zhichen1); strcpy(zzmm,zzmm1); strcpy(zgxl,zgxl1); strcpy(rzsj,rzsj1); strcpy(lysj,lysj1); bianhao+; ofstream file(
11、添加人員.txt,ios_base:app); filepj.getbianhao()endl; filepj.gettype()endl; filepj.getname()endl; filepj.getsex()endl; filepj.getage()endl; filepj.getzhiwu()endl; filepj.getzhichen()endl; filepj.getzzmm()endl; filepj.getzgxl()endl; filepj.getrzsj()endl; filepj.getlysj()ppk.getnum(); filemppk.gettype(); f
12、ilemppk.getname(); filemppk.getsex(); filemppk.getage(); filemppk.getzhiwu(); filemppk.getzhichen(); filemppk.getzzmm(); filemppk.getzgxl(); filemppk.getrzsj(); filemppk.getlysj(); k+; filem.close(); cout請輸入要被刪除信息的人的編號:z; while(zbianhao) cout沒有找到你要刪除的人,請重新輸入:z; for(k=1;k=bianhao;k+) if(z=k) continue
13、; ofstream file2(添加人員.txt,ios_base:trunc); file2ppk.getnum()endl; file2ppk.gettype()endl; file2ppk.getname()endl; file2ppk.getsex()endl; file2ppk.getage()endl; file2ppk.getzhiwu()endl; file2ppk.getzhichen()endl; file2ppk.getzzmm()endl; file2ppk.getzgxl()endl; file2ppk.getrzsj()endl; file2ppk.getlysj
14、()endl; file2.close(); cout刪除記錄完畢ppk.getnum(); filemppk.gettype(); filemppk.getname(); filemppk.getsex(); filemppk.getage(); filemppk.getzhiwu(); filemppk.getzhichen(); filemppk.getzzmm(); filemppk.getzgxl(); filemppk.getrzsj(); filemppk.getlysj(); k+; filem.close(); cout請輸入要修改的人的編號:x; cout請輸入編號為x的人
15、需要修改的項目的代號:endl; cout1:編號-2:人員類型-3:姓名-4:性別-5:年齡-6:職務-7:職稱-8:政治面貌-9:最高學歷-10:任職時間-11:來院時間y; switch(y) case 1: coutppx.getnum() ; break; case 2: coutppx.gettype(); break; case 3: coutppx.getname(); break; case 4: coutppx.getsex(); break; case 5: coutppx.getage(); break; case 6: coutppx.getzhiwu(); brea
16、k; case 7: coutppx.getzhichen(); break; case 8: coutppx.getzzmm(); break; case 9: coutppx.getzgxl(); break; case 10: coutppx.getrzsj(); break; case 11: coutppx.getlysj(); break; ofstream file1(添加人員.txt,ios_base:trunc); for(k=1;k=bianhao;k+) file1ppk.getnum()endl; file1ppk.gettype()endl; file1ppk.get
17、name()endl; file1ppk.getsex()endl; file1ppk.getage()endl; file1ppk.getzhiwu()endl; file1ppk.getzhichen()endl; file1ppk.getzzmm()endl; file1ppk.getzgxl()endl; file1ppk.getrzsj()endl; file1ppk.getlysj()endl; file1.close(); cout修改并保存完畢endl;2.運行結果圖1:運行首界面圖2添加人員信息界面圖3人員信息刪除界面圖4人員信息修改界面5.程序調試過程將已經編好的程序放在V
18、C+6.0的環境中進行調試與測試,發現程序中的錯誤,在提示的情況下進行改正。檢查了是否缺少了分號(行結束符),if、else是否匹配、switch 語句用法是否對等。注意,宏定義、包含文件定義結束不需分號,而類定義結束需要分號。注意聲明函數時,各函數之間的調用關系。 變量、函數未定義、重定義: 檢查了變量大小寫、是否包含了相應的頭文件(包括你自己的和 MFC、Windows 的)。將程序編寫完成后,進行編譯,出現了error C2143: syntax error : missing ; before ,error C2043: illegal break,error C2046: illeg
19、al case,rror C2018: unknown character 0 xa3,error C2146: syntax error : missing ; before identifier i,rror C2143: syntax error : missing ; before )等錯誤,經過不斷的調試,我們改正了所有的錯誤,編譯通過了,但連接不正確,還是有警告,我們又進行了改正,將所有錯誤改正。 遇到了一些沒有學過的知識點,在老師的指導下不斷修改,有時去圖書館查詢一些問題,在網上進行查詢,最終得到了此程序。6.設計問題的不足和改進方案優點:使用結構使程序的輸入輸出更簡潔 使用函數可以使程序更簡便;不足:輸入的內容比較多;用文件儲存信息不能用結構輸入;讀取文件中的信息也不能用結構讀取; 程序比較大,各部分之間的關系繁瑣;改進方案:可以將每個模塊弄成頭文件的部分,是主程序變得簡便明了;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑裝修施工進度計劃及保障措施
- 養老護理急救培訓計劃
- 人教版八年級數學第二學期學生能力提升計劃
- 生態修復工程施工應急措施
- 語言培訓分層教學工作計劃
- 人教版四年級課外閱讀閱讀難度分級計劃
- 四年級上冊小學道德與法治校本課程計劃
- 物業法律合規管理2025年度工作總結及2025年度工作計劃
- 2025幼兒園教師專業能力提升計劃
- 幼兒園廚房員工應急處理計劃
- (高清版)DB11∕T 2429-2025 補充耕地質量調查與評價技術規范
- 湖北省襄陽市2024-2025學年高一下學期7月期末統一調研測試地理試卷
- 機場行李安檢安全培訓心得體會
- 建筑施工企業2025年半年業績總結和下半年工作計劃
- 昭通設備裝卸方案(3篇)
- 2025年天津市中考英語試卷(含標準答案及解析)
- 2025至2030中國港口航道工程行業深度研究及發展前景投資評估分析
- 單元復習AB卷:第二十八章 圓(A卷-中檔卷)解析版
- 建筑工程項目參與證明(8篇)
- 疏通經絡課件
- 2025至2030中國桃膠行業發展分析及產業運行態勢及投資規劃深度研究報告
評論
0/150
提交評論