人事管理_高校人事管理系統(tǒng)_第1頁
人事管理_高校人事管理系統(tǒng)_第2頁
人事管理_高校人事管理系統(tǒng)_第3頁
人事管理_高校人事管理系統(tǒng)_第4頁
人事管理_高校人事管理系統(tǒng)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向對象設計方法C+課程設計設計題目 高校人事管理系統(tǒng)組員姓名 組員學號 /03/17/34/19/09專業(yè)班級 11計算機科與技術2班指導教師李春梅信息工程學 院 計算機科學與技術 系 2013年 5 月 26 日面向對象設計方法C+課程設計任務分配院(系):信息工程學院 教研室:軟件教研室課程設計題目高校人事管理系統(tǒng)課 程 設 計目的(1)要求學生達到熟練掌握C+語言的基本知識和技能; (2)基本掌握面向對象程序設計的基本思路和方法; (3)能夠利用所學的基本知識和技能,解決簡單的面向對象程序設計問題。 (4)訓練用系統(tǒng)的觀點和軟件開發(fā)一般規(guī)范進行軟件開發(fā),并在此過程中培養(yǎng)嚴謹?shù)目茖W態(tài)度和良好的工作作風。初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設計、程序編碼、測試等基本方法和技能。(5)熟練掌握C+中類及類模板在程序中的應用,并熟練了解類中函數(shù)的調用。小組成員及任務分配姓名學號承擔任務是否組長類的構建等及運行調試是刪除功能實現(xiàn) 否統(tǒng)計功能實現(xiàn)及封面設計否添加功能實現(xiàn)否 編輯功能實現(xiàn)否查詢功能實現(xiàn)否 目錄第一章 需求分析1 第二章 總體設計22.1系統(tǒng)功能模塊22.2類之間的關系 2第三章 各功能模塊實現(xiàn)33.1模塊實現(xiàn)及代碼33.2運行結果15 第四章 系統(tǒng)調試 18第五章 總結與體會18參考文獻20附錄21 課程設計任務書 課 程 名 稱 高校人事管理 二 級 學 院 信息工程學院 專 業(yè) 班 級 11級計科本(2)班 起 止 日 期 2013年5月20日 指 導 教 師 李 春 梅 1課程設計目的及意義目的意義:(1)掌握面向對象程序設計的基本思路和方法;(2)了解系統(tǒng)開發(fā)的需求分析、類層次設計、模塊分解、編碼測試、模塊組裝與整體調試的全過程;(3)進一步熟悉C+中類的概念、類的封裝、繼承的實現(xiàn)方式;(4)學會分析簡單的實際問題,并能利用所學的知識建立系統(tǒng)的邏輯結構,學會簡單的調試技巧和方法。逐步熟悉面向對象程序設計的方法,養(yǎng)成良好的編程習慣。2課程設計任務及成果提交形式(包括課程設計說明書、圖紙、實物樣品等要求)(1) 分析課程設計題目的要求 (2) 寫出詳細設計說明 (3) 編寫程序代碼,調試程序使其能正確運行 (4) 設計完成的軟件要便于操作和使用(5) 設計完成后提交課程設計報告及測試記錄 3主要參考文獻1鄭莉、傅仕星編,C+面向對象程序設計,清華大學出版社,2003年9月出版 2譚浩強編,C+面向對象程序設計,清華大學出版社,2005年7月出版3李師賢等譯,C+精髓,機械工業(yè)出版社,2002年8月出版4Davis Chapman,學用Visual c+ 6.0,清華大學出版社,2001年7月出版5鄭莉、傅仕星編,C+語言面向對象程序設計習題與實驗指導,清華大學出版社,2003年9月出版。4課程設計進度安排起 止 日 期工 作 內(nèi) 容2013年5月18日5月20日分析設計準備階段: 功能模塊分析、控制模塊分析、 繪制必要的流程圖2013年5月20日5月24日代碼設計 2013年5月24日5月25日編程調試階段 2013年5月25日5月26日總結報告和書寫說明書階段:編寫程序設計說明書考核5成績考核辦法(1)根據(jù)平時上機考勤、表現(xiàn)和進度,教師將每天點名和檢查( 10% )(2)完成基本功能( 30% )。 (3)學生的動手能力,創(chuàng)新能力( 10% )。 (4)總結報告( 50% ) :包括系統(tǒng)設計要求,設計思路,系統(tǒng)功能模塊圖,系統(tǒng)流程圖,類的層次圖(包括類成員列表),調試過程,關鍵程序代碼,總結,參考書目。系審查意見:系主任簽字: 年 月 日教學單位意見:教學單位負責人簽字: 年 月 日努力了的才叫夢想,不努力的就是空想!如果你一直空想的話,無論看多少正能量語錄,也趕不走滿滿的負能量!你還是原地踏步的你,一直在看別人進步。第一章 需求分析高校人事管理,高校在有職人員(行政人員、教師、一般員工)、退休人員、返聘人員和臨時工?,F(xiàn)在,需要存儲這些人員的人事檔案信息:編號、姓名、性別、年齡、職務、職稱、政治面貌、最高學歷、任職時間、來院時間。要求: 1) 添加刪除功能:能根據(jù)學院人事的變動情況,添加刪除記錄;2) 查詢功能:能根據(jù)編號和姓名進行查詢;3) 編輯功能(高級):根據(jù)查詢對相應的記錄進行修改,并存儲;4) 統(tǒng)計功能:能根據(jù)多種參數(shù)進行人員的統(tǒng)計(在職人數(shù)、黨員人數(shù)、女工人數(shù)、高學歷高職稱人數(shù));5) 保存功能:能對輸入的數(shù)據(jù)進行相應的存儲,要求重載插入和提取符以完成數(shù)據(jù)的保存和打開。6) 人員編號在生成人員信息時同時生成,每輸入一個人員信息編號順序加1。第二章 總體設計2.1系統(tǒng)功能模塊輸出選擇退出操作統(tǒng)計功能編輯功能添加功能刪除功能查詢功能按編號查找按姓名查找圖2.1系統(tǒng)功能模塊2.2類之間的關系 定義了8個類,分別為人員類(personnel類),臨時工類(casuallaborer類),進入時間類(cometime類),在職人員類(incumbency類),退休時間類(retiretime類),退休人員類(retiree類),返聘時間類(retime類),返聘人員類(returnee類)等。同時又定義一個school類,在里面實現(xiàn)數(shù)據(jù)的添加、刪除、修改、查找、顯示和退出。Public:setcasuallaborer();casuallaborerprint();Protected:int number;char party20;char study30;char pos20;Public: setincumbency();incumbencyprint();incumbency();Protected:int day;int year;int month:Public:setretiretime( );retiretimeprint( );Protected:int month;int year;int day;Public:setretime( );retimeprint( );Public:setreturnee();returneeprint();9=jhnPublic:retireeprint();setretiree();Protected:int month;int year;int day;Public:cometime( );setcometime( );人員類Protected:char name20;char sex10;int age;Public:setpersonnel( );personnelprint();進入時間類臨時工類退休時間類返聘時間類在職員工類 退休人員類返聘人員類第三章 各功能模塊實現(xiàn)3.1 模塊實現(xiàn)及代碼刪除功能:#include1.hschool:dele()extern int I,J,K,Z;int i;int number;int a;system(cls);A:coutwelcomeendl; coutt 【1】按編號刪除 endl;coutt 【0】返回 n ; couta; switch(a) case 1:coutnumber; for(i=0;iJ;i+) if(incumbi.getnumber2()-number=0) coutincumbi.incumbencyprint()被刪除endl; for(i;iJ;i+) incumbi=incumbi+1; J-; for(i=0;iK;i+)if(retii.getnumber3()-number=0)coutretii.retireeprint()被刪除endl;for(i;iK;i+)retii=retii+1;K-;for(i=0;iZ;i+)if(returi.getnumber4()-number=0)coutreturi.returneeprint()被刪除:endl;for(i;iZ;i+)returi=returi+1;Z-;goto A; case 0:break; 添加功能:#include1.hschool:add() int a; extern int I,J,K,Z;A:coutwelcomeendl; coutt 【1】添加臨時工信息 endl; coutt 【2】添加在職員工信息 endl; coutt 【3】添加退休人員信息 endl;coutt 【4】添加人員的信息 endl;coutt 【0】返回 n ; couta;switch(a)case 1: casuallI. setcasuallaborer(); I+; goto B;case 2:incumbJ.setincumbency();J+; goto B;case 3:retiK.setretiree();K+; goto B;case 4:returZ.setreturnee();Z+; goto B;case 0:break;default:cout選擇有誤,請重新選擇!;goto A;統(tǒng)計功能:#include1.hschool:tongji()extern int I,J,K,Z;int a;int i=0;system(cls);A:int j=0; coutwelcomeendl; coutt 【1】在職人員數(shù)統(tǒng)計 endl; coutt 【2】黨員人數(shù)統(tǒng)計 endl; coutt 【3】女工人數(shù)統(tǒng)計 endl; coutt 【4】博士生人數(shù)統(tǒng)計 endl; coutt 【0】返回 endl; couta; switch(a) case 1:for(i=0;iJ;i+) incumbi.incumbencyprint(); for(i=0;iZ;i+) returi.returneeprint(); j=J+Z; cout在職人數(shù)為:jendl;goto A; case 2:for(i=0;iJ;i+) if(strcmp(incumbi.getparty2(),黨員)=0) incumbi.incumbencyprint(); j+; for(i=0;iK;i+) if(strcmp(retii.getparty2(),黨員)=0) retii.retireeprint(); j+; for(i=0;iZ;i+) if(strcmp(returi.getparty2(),黨員)=0) returi.retimeprint(); j+; cout黨員人數(shù)為:jendl;goto A; case 3:for(i=0;iI;i+) if(strcmp(casualli.getsex(),女)=0) casualli.casuallaborerprint(); j+; for(i=0;iJ;i+) if(strcmp(incumbi.getsex(),女)=0) incumbi.incumbencyprint(); j+; for(i=0;iK;i+) if(strcmp(retii.getsex(),女)=0) retii.retireeprint(); j+; for(i=0;iZ;i+) if(strcmp(returi.getsex(),女)=0) returi.retimeprint(); j+; cout女員人數(shù)為:jendl;goto A; case 4: for(i=0;iJ;i+) if(strcmp(incumbi.getstudy2(),博士生)=0) incumbi.incumbencyprint(); j+; for(i=0;iK;i+) if(strcmp(retii.getstudy3(),博士生)=0) retii.retireeprint(); j+; for(i=0;iZ;i+) if(strcmp(returi.getstudy4(),博士生)=0) returi.retimeprint(); j+; cout博士生人數(shù)為:jendl;goto A; default:cout選擇有誤,請重新選擇:;goto A; case 0:break; 編輯功能:#include1.hschool:push() extern int I,J,K,Z;int e;B:system(cls);coutwelcomeendl; coutt 【1】錄入臨時工信息 endl; coutt 【2】錄入在職員工信息 endl; coutt 【3】錄入退休人員信息 endl;coutt 【4】錄入返聘人員的信息 endl;coutt 【0】返回 n ; coute; switch(e) case 1: casuallI. setcasuallaborer(); I+; goto B;case 2:incumbJ.setincumbency();J+; goto B;case 3:retiK.setretiree();K+; goto B;case 4:returZ.setreturnee();Z+; goto B;case 0:break;default:cout選擇有誤,請重新選擇!;goto A; 查詢功能:#include1.hvoid chose() coutwelcomeendl; coutt 【1】姓名查找 endl; coutt 【2】編號查找 endl;coutt 【0】返回 n ; cout從0-2中選擇功能項:;school:find() int a;int i;extern int I,J,K,Z;char name20;int number;E:int j=0;system(cls);coutwelcomeendl; coutt 【1】模糊查找 endl; coutt 【2】在職員工中查找 endl; coutt 【3】退休人員中查找 endl;coutt 【4】返聘人員中查找 endl;coutt 【0】返回 n ; couta; switch(a) case 1:chose();A:cina; switch(a) case 1:coutname; for(i=0;iI;i+) if(strcmp(casualli.getname(),name)=0) j+; incumbi.incumbencyprint(); for(i=0;iJ;i+) if(strcmp(incumbi.getname2(),name)=0) j+; incumbi.incumbencyprint(); for(i=0;iK;i+)if(strcmp(retii.getname3(),name)=0)j+;retii.retireeprint();for(i=0;iZ;i+)if(strcmp(returi.getname4(),name)=0)j+;returi.returneeprint();if(j=0)cout沒有找到該人:endl;goto A; case 2:coutnumber; for(i=0;iJ;i+) if(incumbi.getnumber2()-number=0) j+; incumbi.incumbencyprint(); for(i=0;iK;i+)if(retii.getnumber3()-number=0)j+;retii.retireeprint();for(i=0;iZ;i+)if(returi.getnumber4()-number=0)j+;returi.returneeprint();if(j=0)couta; switch(a) case 1:coutname; for(i=0;iJ;i+) if(strcmp(incumbi.getname2(),name)=0) j+; incumbi.incumbencyprint(); if(j=0) cout沒有找到該人:endl; goto B; case 2:coutnumber; for(i=0;iJ;i+) if(incumbi.getnumber2()-number=0) j+; incumbi.incumbencyprint(); if(j=0) cout沒有此編號的人; goto B; default:couta; switch(a) case 1:coutname; for(i=0;iK;i+)if(strcmp(retii.getname3(),name)=0)j+;retii.retireeprint();if(j=0)cout沒有找到該人:endl;goto C; case 2:coutnumber; for(i=0;iK;i+)if(retii.getnumber3()-number=0)j+;retii.retireeprint(); if(j=0)cout沒有此編號的人;goto C; default:couta; switch(a) case 1:coutname; for(i=0;iZ;i+)if(strcmp(returi.getname4(),name)=0)j+;returi.returneeprint();if(j=0)cout沒有找到該人:endl;goto D; case 2:coutnumber; for(i=0;iZ;i+)if(returi.getnumber4()-number=0)j+;returi.returneeprint();if(j=0)cout沒有此編號的人;goto D; default:cout輸入有誤,請重新輸入:;goto D; case 0:goto E; case 0:break; default:cout輸入有誤,請重新輸入:;goto E; 3.2 運行結果1.開始菜單界面: 圖3.1開始菜單界面2.添加人員信息界面:圖3.2添加人員信息界面3.統(tǒng)計人員信息界面:圖3.3統(tǒng)計人員信息界面4.人員信息查找界面:圖3.4人員信息查找界面5.人員信息刪除界面:圖3.5人員信息刪除界面6.人員修改界面:圖3.6人員修改界面第四章 系統(tǒng)調試系統(tǒng)調試:在建立全局變量時,無法正常使用,后添加extern才實現(xiàn)功能的使用。通過對程序的調試,發(fā)現(xiàn)很多問題只有通過調試以后才能被找到和發(fā)現(xiàn),才能更好的美化和優(yōu)化,是程序看起來更完美,讓使用者更放心第五章 總結與體會通過本次課程設計,讓我對C+這門學科對有了進一步的認識,熟練掌握了類及類模板的應用。以前對該課程的恐懼感都以消失,任何事情沒有做不到只有愿不愿意去做。并且在本次課程設計的過程中,讓我進一步認識到了團隊的力量,只有團結才能發(fā)揮出一個集體的力量。一個人的力量真的好有限,即使個人能力再強,做一個大點的項目,也會力不從心。只有分工協(xié)作才能將事辦得越快越好。通過這次課程設計,會為我們以后進入社會提供一定的經(jīng)驗。課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程.隨著科學技術發(fā)展的日新日異,當今計算機應用在生活中可以說得是無處不在。因此作為二十一世紀的大學來說掌握計算機開發(fā)技術是十分重要的?;仡櫰鸫舜握n程設計,至今我仍感慨頗多,的確,自從拿到題目到完成整個編程,從理論到實踐,在整整一個星期的日子里,可以學到很多很多的的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。同時,對給過我?guī)椭乃型瑢W和各位指導老師再次表示忠心的感謝!。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。編寫的過程也是我們發(fā)現(xiàn)錯誤的過程,畢竟我們自己專業(yè)知識掌握的不夠,在設計中走了很多彎路,剛開始是根本無從下手,不知道要干嘛,如果平時課余時間多加強對這些專業(yè)知識的學習,那么在這次課程設計中將會少走很多的彎路。參考文獻1鄭莉、傅仕星編,C+面向對象程序設計,清華大學出版社,2003年9月出版2譚浩強編,C+面向對象程序設計,清華大學出版社,2005年7月出版3李師賢等譯,C+精髓,機械工業(yè)出版社,2002年8月出版4Davis Chapman,學用Visual c+ 6.0,清華大學出版社,2001年7月出版5鄭莉、傅仕星編,C+語言面向對象程序設計習題與實驗指導,清華大學出版社,2003年9月出版。 6嚴蔚敏,吳偉民.數(shù)據(jù)結構(C語言版).清華大學出版社.7嚴蔚敏,吳偉民.數(shù)據(jù)結構題集(C語言版).清華大學出版社.8DATA STRUCTURE WITH C+. William Ford,William Topp .清華大學出版社(影印版).附錄源程序:/1.h#include#includeusing namespace std;class personnel /人員類public:setpersonnel();personnelprint();/人員打印char *getname1()/獲取名字return name;char *getsex()/獲取性別return sex;protected:char name20;char sex10;int age;/class cometime/進入時間類public:cometime()year=0;setcometime();cometimeprint();/進入時間打印protected:int year;int month;int day;/class retime/返聘時間類public:setretime();retimeprint();/返聘時間打印protected:int year;int month;int day;/class retiretime/退休時間類public:setretiretime();retiretimeprint();/退休時間打印protected:int year;int month;int day;/class casuallaborer:public personnel,public cometime/臨時工類 public:setcasuallaborer();/臨時工初始化 casuallaborerprint();/臨時工信息打印 char *getname()/獲取姓名 return name; char *getsex()/獲取性別 return sex; ;/class incumbency:public personnel,public cometime /在職人員類public:setincumbency();/在職人員初始化incumbencyprint();/在職人員信息打印incumbency()number=0;setnumber(int number1)number=number1;char *getname2()/獲取姓名return name;int getnumber2()/獲取編號return number;char *getparty2()/獲取政治面貌return party;char *getstudy2()/獲取最高學歷return study;char *getpos2()/獲取職務return pos;char *getsex()/獲取性別return sex;protected: int number;/編號char party20;/政治面貌char study30; /最高學歷char pos20;/職務;/class retiree:public incumbency,public retiretime/退休人員類public:retireeprint();/退休人員信息打印setretiree();/退休人員初始化int getnumber3()/獲取編號return number;char *getname3()/獲取姓名return name;char *getparty3()/獲取政治面貌return party;char *getstudy3()/獲取最高學歷return study;char *getpos3()/獲取職務return pos;char *getsex()return sex;/class returnee:public retiree,public retime/返聘人員public:setreturnee();/返聘人員初始化returneeprint();/返聘人員信息打印int getnumber4()/獲取編號return number;char *getname4()/獲取姓名return name;char *getparty4()/獲取政治面貌return party;char *getstudy4()/獲取最高學歷return study;char *getpos4()/獲取職務return pos;char *getsex()/獲取性別return sex;/class schoolpublic:casuallaborer casuall100;/定義100個臨時工對像數(shù)組incumbency incumb100;/定義100個在職員工對象數(shù)組retiree reti100;/定義100個退休員工對像數(shù)組returnee retur100;/定義100個返聘員工對戲數(shù)組 push();/錄入信息print();/查看信息add();/添加信息dele();/刪除信息find();/查找信息tongji();/統(tǒng)計信息xiugai();/修改信息;/add.cpp#include1.hschool:add() int a; extern int I,J,K,Z;A:coutwelcomeendl; coutt 【1】添加臨時工信息 endl; coutt 【2】添加在職員工信息 endl; coutt 【3】添加退休人員信息 e

溫馨提示

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

評論

0/150

提交評論