版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課 程 設(shè) 計(jì) 報(bào) 告課程名稱 面向?qū)ο蟪绦蛟O(shè)計(jì) 課題名稱 高校人事管理系統(tǒng) 專 業(yè) 通信工程 班 級(jí) 通信1101 學(xué) 號(hào) 201103020127 姓 名 皮鋒 指導(dǎo)教師 李峰、譚曉蘭、張益星 2012年 12 月 22 日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書課程名稱 面向?qū)ο蟪绦蛟O(shè)計(jì) 課 題 高校人事管理系統(tǒng) 專業(yè)班級(jí) 通信工程 學(xué)生姓名 皮鋒 學(xué) 號(hào) 201103020127 指導(dǎo)老師 李峰、譚曉蘭、張益星 審 批 任務(wù)書下達(dá)日期 2012 年 12 月 22 日任務(wù)完成日期 2013 年 1 月 6 日二、進(jìn)度安排第 17 周 星期四 14時(shí):00分18時(shí):00分 星期五 19時(shí):
2、分21時(shí):00分 第 18 周 星期三 19時(shí):00分21時(shí):00分 星期四 19時(shí):00分21時(shí):00分實(shí)驗(yàn)內(nèi)容課題4:高校人事管理系統(tǒng) (一)、課程設(shè)計(jì)題目:高校人事管理系統(tǒng)(二)、目的與要求: 1、目的: (1)要求學(xué)生達(dá)到熟練掌握C+語言的基本知識(shí)和技能; (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 2、基本要求: (1)要求利用面向?qū)ο蟮姆椒ㄒ约癈+的編程思想來完成系統(tǒng)的設(shè)計(jì); (2)要求在設(shè)計(jì)的過程中,建立清晰的類層次; (3)在系統(tǒng)中至少要定義四個(gè)類,每個(gè)類中要有各自的屬性和方法; (4)在系統(tǒng)的設(shè)計(jì)中,
3、至少要用到面向?qū)ο蟮囊环N機(jī)制。 3、創(chuàng)新要求: 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 4、寫出設(shè)計(jì)說明書 (三)、設(shè)計(jì)方法和基本原理: 1、問題描述(功能要求): 某高校,主要人員有:在職人員(行政人員、教師、一般員工)、退休人員?,F(xiàn)在,需要存儲(chǔ)這些人員的人事檔案信息:編號(hào)、姓名、性別、年齡、職務(wù)、級(jí)別、職稱、政治面貌、最高學(xué)歷、任職時(shí)間、來院時(shí)間、工資。其中行政人員只有職務(wù)和級(jí)別,教師只有職務(wù)和職稱,一般員工只有職務(wù),退休人員則沒有職務(wù)、級(jí)別、職稱,但有退休時(shí)間。要求: (1)添加刪除功能:能根據(jù)學(xué)院人事的變動(dòng)情況,添加刪除記錄;(2)查詢功能:能根據(jù)編號(hào)和姓名進(jìn)
4、行查詢;(3)編輯功能(高級(jí)):根據(jù)查詢對(duì)相應(yīng)的記錄進(jìn)行修改,并存儲(chǔ);(4)統(tǒng)計(jì)功能:能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì)(在職人數(shù)、黨員人數(shù)、女工人數(shù)、高學(xué)歷高職稱人數(shù));(5)保存功能:能對(duì)輸入的數(shù)據(jù)進(jìn)行相應(yīng)的存儲(chǔ),(擴(kuò)展要求:要求重載插入和提取符以完成數(shù)據(jù)的保存和打開)。(6)人員編號(hào)在生成人員信息時(shí)同時(shí)生成,每輸入一個(gè)人員信息編號(hào)順序加1。2、問題的解決方案: 根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: (1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì);(2)分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系包括屬性和行為; (3)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次; (4)完成類層次中各個(gè)
5、類的描述(包括屬性和方法); (5)完成類中各個(gè)成員函數(shù)的定義; (6)完成系統(tǒng)的應(yīng)用模塊; (7)功能調(diào)試; (8)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說明書。目 錄 TOC o 1-2 h z u HYPERLINK l _Toc171224774 1.系統(tǒng)需求分析 PAGEREF _Toc171224774 h 1 HYPERLINK l _Toc171224775 2.總體設(shè)計(jì)1 HYPERLINK l _Toc171224776 3.詳細(xì)設(shè)計(jì)2 HYPERLINK l _Toc171224777 4.系統(tǒng)調(diào)試18 HYPERLINK l _Toc171224778 5.結(jié)果分析20 HYPE
6、RLINK l _Toc171224779 6.總結(jié)20系統(tǒng)需求分析1.用戶需求:(1)添加刪除功能:能根據(jù)學(xué)院人事的變動(dòng)情況,添加刪除記錄;(2)查詢功能:能根據(jù)編號(hào)和姓名進(jìn)行查詢;(3)編輯功能(高級(jí)):根據(jù)查詢對(duì)相應(yīng)的記錄進(jìn)行修改,并存儲(chǔ);(4)統(tǒng)計(jì)功能:能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì)(在職人數(shù)、黨員人數(shù)、女工人數(shù)、高學(xué)歷高職稱人數(shù));(5)保存功能:能對(duì)輸入的數(shù)據(jù)進(jìn)行相應(yīng)的存儲(chǔ),(擴(kuò)展要求:要求重載插入和提取符以完成數(shù)據(jù)的保存和打開)。(6)人員編號(hào)在生成人員信息時(shí)同時(shí)生成,每輸入一個(gè)人員信息編號(hào)順序加1。2.系統(tǒng)設(shè)計(jì)目標(biāo):(1)要求學(xué)生達(dá)到熟練掌握C+語言的基本知識(shí)和技能; (2)基本
7、掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; (3)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 3.系統(tǒng)擬實(shí)現(xiàn)的功能: 對(duì)高校人事系統(tǒng)進(jìn)行添加,編輯,查詢,統(tǒng)計(jì),保存功能。2.總體設(shè)計(jì)1.系統(tǒng)功能分析(1)資料維護(hù):系統(tǒng)維護(hù)包括對(duì)各種表記錄的修改、刪除、添加等操作。(2)資料維護(hù):對(duì)數(shù)據(jù)表中的信息進(jìn)行瀏覽。 (3)系統(tǒng)查詢:可以按職工編號(hào)、姓名等相關(guān)信息進(jìn)行詳細(xì)或模糊查詢。(4)報(bào)表統(tǒng)計(jì):包括統(tǒng)計(jì)職工編號(hào)、職工姓名、職工性別、所在部門、職工年齡、工作日期、 基本工資、職稱、職務(wù)和簡(jiǎn)歷等字段。(5)其它操作:系統(tǒng)封面、人性化提示信息。2.系統(tǒng)功能模塊劃分與設(shè)計(jì) 系統(tǒng)功能模塊劃分:數(shù)
8、據(jù)查找與瀏覽、數(shù)據(jù)修改、報(bào)表顯示和系統(tǒng)封面構(gòu)成。 開始 管理系統(tǒng)主頁面分別輸入要輸入的人員信息添加完最后一項(xiàng)之后選擇要修改的人員信息修改完之后選擇要?jiǎng)h除的人員信息刪除之后圖1-1 系統(tǒng)功能模塊詳細(xì)設(shè)計(jì) 高校人事管理系統(tǒng)保存功能查詢功能修改功能添加功能顯示功能刪除功能圖1-2 各功能模塊實(shí)現(xiàn)程序源代碼:#include#include/對(duì)外存文件的輸入輸出操作#include#include/字符串模板類#include/流操作using namespace std; int k;/全局變量 class personprivate: char num10;/編號(hào)char type20;/類型 c
9、har name20;/姓名 char sex10;/性別 char zhiwu20;/職務(wù) char age10;/年齡 char zhichen20;/職稱 char zzmm20;/政治面貌 char zgxl20;/最高學(xué)歷 char rzsj20;/任職時(shí)間 char lysj30;/來院時(shí)間 static int bianhao;/編號(hào)public:void setperson(char *type1,char *name1,char *sex1,char *age1,char *zhiwu1,char *zhichen1,char *zzmm1,char *zgxl1,char
10、*rzsj1,char *lysj1);static int& getbianhao() return bianhao;char * gettype() return type;char * getname() return name;char * getsex() return sex;char * getage() return age;char * getzhiwu() return zhiwu;char * getzhichen() return zhichen; char * getzzmm() return zzmm; char * getzgxl() return zgxl; c
11、har * getrzsj() return rzsj; char * getlysj() return lysj; char * getnum() return num; void tjry(); void find(); void output(); void shancu(); 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 *
12、zhiwu1,char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1)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 fil
13、e(添加人員.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();
14、filemppk.getname();filemppk.getsex();filemppk.getage();filemppk.getzhiwu(); filemppk.getzhichen();filemppk.getzzmm();filemppk.getzgxl();filemppk.getrzsj();filemppk.getlysj();if(strcmp(ppk.gettype(),行政人員)=0|strcmp(ppk.gettype(),教師)=0|strcmp(ppk.gettype(),一般員工)=0)a+;if(strcmp(ppk.getzzmm(),黨員)=0)b+;if
15、(strcmp(ppk.getsex(),nv)=0)c+;if(strcmp(ppk.getzgxl(),boshi)=0)d+;k+;filem.close();cout在職人數(shù)setw(12)黨員人數(shù)setw(12)女工人數(shù)setw(12)高學(xué)歷人數(shù)endl;coutasetw(12)bsetw(12)csetw(12)dppk.getnum(); filemppk.gettype(); filemppk.getname(); filemppk.getsex(); filemppk.getage(); filemppk.getzhiwu(); filemppk.getzhichen();
16、 filemppk.getzzmm(); filemppk.getzgxl(); filemppk.getrzsj(); filemppk.getlysj(); k+;filem.close();cout請(qǐng)輸入要修改的人的編號(hào):x;cout請(qǐng)輸入編號(hào)為x的人需要修改的項(xiàng)目的代號(hào):endl;cout1:編號(hào)-2:人員類型-3:姓名-4:性別-5:年齡-6:職務(wù)-7:職稱-8:政治面貌-9:最高學(xué)歷-10:任職時(shí)間-11:來院時(shí)間y;switch(y)case 1: coutppx.getnum() ; break;case 2: coutppx.gettype(); break;case 3:
17、coutppx.getname(); break;case 4: coutppx.getsex(); break;case 5:coutppx.getage(); break;case 6: coutppx.getzhiwu(); break;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 f
18、ile1(添加人員.txt,ios_base:trunc);for(k=1;k=bianhao;k+) file1ppk.getnum()endl; file1ppk.gettype()endl; file1ppk.getname()endl; file1ppk.getsex()endl; file1ppk.getage()endl; file1ppk.getzhiwu()endl; file1ppk.getzhichen()endl; file1ppk.getzzmm()endl; file1ppk.getzgxl()endl; file1ppk.getrzsj()endl; file1pp
19、k.getlysj()endl; file1.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請(qǐng)輸入要被刪除信息的人的編號(hào):z;while(zbianha
20、o)cout沒有找到你要?jiǎng)h除的人,請(qǐng)重新輸入:z;for(k=1;k=bianhao;k+)if(z=k)continue;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.get
21、zgxl()endl;file2ppk.getrzsj()endl;file2ppk.getlysj()endl;file2.close();cout刪除記錄完畢endl; void person:find() /查找人員cout1:按編號(hào)查詢-2:按姓名查詢-請(qǐng)選擇(1-2)m;while(m2)cout請(qǐng)重新輸入(1-2)m;switch(m)case 1:char n10;coutn;ifstream filem(添加人員.txt,ios_base:in);int k=1;cout編號(hào)setw(9)人員類型setw(5)姓名setw(5)性別setw(5)年齡setw(5)職務(wù)setw(
22、5)職稱setw(9)政治面貌setw(10)最高學(xué)歷setw(10)任職時(shí)間setw(10)來院時(shí)間ppk.getnum();filemppk.gettype();filemppk.getname();filemppk.getsex();filemppk.getage();filemppk.getzhiwu();filemppk.getzhichen();filemppk.getzzmm();filemppk.getzgxl();filemppk.getrzsj();filemppk.getlysj();if(strcmp(ppk.getnum(),n)=0)coutppk.getnum()
23、setw(9)ppk.gettype()setw(5)ppk.getname()setw(5)ppk.getsex()setw(5)ppk.getage()setw(5)ppk.getzhiwu()setw(5)ppk.getzhichen()setw(9)ppk.getzzmm()setw(10)ppk.getzgxl()setw(10)ppk.getrzsj()setw(10)ppk.getlysj()endl;break;k+;if(filem.eof()coutendl;cout 警告:沒有要查找的人!;filem.close(); break;case 2:char nname20;
24、coutnname;ifstream filem(添加人員.txt,ios_base:in);int k=1;cout編號(hào)setw(9)人員類型setw(5)姓名setw(5)性別setw(5)年齡setw(5)職務(wù)setw(5)職稱setw(9)政治面貌setw(10)最高學(xué)歷setw(10)任職時(shí)間setw(10)來院時(shí)間ppk.getnum();filemppk.gettype();filemppk.getname();filemppk.getsex();filemppk.getage();filemppk.getzhiwu();filemppk.getzhichen();filempp
25、k.getzzmm();filemppk.getzgxl();filemppk.getrzsj();filemppk.getlysj();if(strcmp(ppk.getname(),nname)=0)coutppk.getnum()setw(9)ppk.gettype()setw(5)ppk.getname()setw(5)ppk.getsex()setw(5)ppk.getage()setw(5)ppk.getzhiwu()setw(5)ppk.getzhichen()setw(9)ppk.getzzmm()setw(10)ppk.getzgxl()setw(10)ppk.getrzsj
26、()setw(10)ppk.getlysj()endl;break;k+;if(filem.eof()coutendl;cout 警告:沒有要查找的人!;filem.close();break; void person:tjry() /添加人數(shù)int v,l=1;char type220;char name220;char sex210;char age210;char zhiwu220;char zhichen220;char zzmm220;char zgxl220;char rzsj220;char lysj230;cout請(qǐng)輸入要添加的人數(shù)k;p1.getbianhao()=ppk1.
27、getbianhao();v=bianhao;for(int i=v+1;i=v+k;i+)cout請(qǐng)輸入第l個(gè)人的信息endl;couttype2;coutname2;coutsex2;coutage2;coutzhiwu2;coutzhichen2;coutzzmm2;coutzgxl2;coutrzsj2;coutlysj2;pi.setperson(type2,name2,sex2,age2,zhiwu2,zhichen2,zzmm2,zgxl2,rzsj2,lysj2);l+; void person:output() /ifstream filem(添加人員.txt,ios_bas
28、e:in);int k=1;cout編號(hào)setw(9)人員類型setw(5)姓名setw(5)性別/在輸出前增加空格setw(5)年齡setw(5)職務(wù)setw(5)職稱setw(9)政治面貌setw(10)最高學(xué)歷setw(10)任職時(shí)間setw(10)來院時(shí)間ppk.getbianhao();filemppk.gettype();filemppk.getname();filemppk.getsex();filemppk.getage();filemppk.getzhiwu();filemppk.getzhichen();filemppk.getzzmm();filemppk.getzgxl
29、();filemppk.getrzsj();filemppk.getlysj();coutppk.getbianhao()setw(9)ppk.gettype()setw(5)ppk.getname()setw(5)ppk.getsex()setw(5)ppk.getage()setw(5)ppk.getzhiwu()setw(5)ppk.getzhichen()setw(9)ppk.getzzmm()setw(10)ppk.getzgxl()setw(10)ppk.getrzsj()setw(10)ppk.getlysj()endl; k+;k1=-k;filem.close();void
30、menu()person pjk;int c;coutendl;cout高校人事管理系統(tǒng)endl;cout* *endl;cout* 1-添加人員信息并保存 *endl;cout* 2-刪除人員信息 *endl;cout* 3-修改人員信息 *endl;cout* 4-查詢?nèi)藛T信息 *endl;cout* 5-統(tǒng)計(jì)人員信息 *endl;cout* 6-顯示所有信息 *endl;cout* 7-退出 *endl;coutendl;cout 請(qǐng)選擇(1-7): c;switch(c)case 1: pjk.tjry();menu();break;case 2:pjk.shancu();menu()
31、; break;case 3:pjk.xiugai();menu(); break;case 4:pjk.find() ;coutendlendl; menu();break;case 5:pjk.tongji();menu(); break;case 6:pjk.output();menu();break;case 7:exit(1);break; void main()system(color 5F);menu();序運(yùn)行結(jié)果:圖2-1 程序運(yùn)行結(jié)果 圖2-1 存入人事信息系統(tǒng)調(diào)試(調(diào)試出現(xiàn)的主要問題,編譯語法錯(cuò)誤及修改,重點(diǎn)是運(yùn)行邏輯問題修改和調(diào)整) 1.error C2065: set
32、w : undeclared identifier 在找預(yù)編譯頭文件路徑時(shí)出錯(cuò),c+中的setw(n)設(shè)置域?qū)挷荒苷{(diào)用,要加上頭文件 #include 2.error C2018: unknown character 0 xa3 不認(rèn)識(shí)的字符0 xa3。(一般是漢字或中文標(biāo)點(diǎn)符號(hào))。 3.error C2057: expected constant expression 希望是常量表達(dá)式。(一般出現(xiàn)在switch語句的case分支中)。4.error C2143: syntax error: missing : before 句法錯(cuò)誤:“”前缺少“;”。在編寫查找功能時(shí),本來用for循環(huán)。但要求達(dá)到條件再循環(huán),且條件是(!filem.eof(),而不是一個(gè)數(shù),所以后來改成了while。while(!filem.eof() filemppk.getnum();filemppk.gettype();filemppk.getname();filemppk.getsex();filemppk.getag
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 626建材、家具、家電電商平臺(tái)建設(shè)項(xiàng)目
- 2024跨境電子商務(wù)合作經(jīng)營(yíng)合同
- 2024股權(quán)補(bǔ)償協(xié)議范本
- 2025年度主播與直播平臺(tái)合作分成協(xié)議3篇
- 福建省南平市莒口中學(xué)2021-2022學(xué)年高二化學(xué)下學(xué)期期末試卷含解析
- 2024棉花種子種植基地建設(shè)與運(yùn)營(yíng)合同3篇
- 2024版:北京企業(yè)經(jīng)營(yíng)托管協(xié)議3篇
- 2024版空壓機(jī)短期租賃合同
- 2024跨國(guó)企業(yè)集團(tuán)內(nèi)部交易合同
- 2023年教科版四年級(jí)上冊(cè)英語Unit7How many stars does each group have(含答案)
- 醫(yī)院心電監(jiān)護(hù)術(shù)考核表
- 車工工藝課件(緒論、一章)
- 消防改造工程施工組織設(shè)計(jì)
- 中醫(yī)藥特色護(hù)理在老年慢性疾病養(yǎng)生中的應(yīng)用課件
- 反恐怖防范知識(shí)課件
- 汽車發(fā)動(dòng)機(jī)機(jī)械系統(tǒng)檢修課件(全)全書教學(xué)教程完整版電子教案最全幻燈片
- 紙箱類檢測(cè)講解
- 設(shè)計(jì)階段的HAZOP總體分析
- 2022《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022版)》解讀
- 螺紋及緊固件基礎(chǔ)知識(shí)
- 滴滴打車項(xiàng)目融資計(jì)劃書ppt課件
評(píng)論
0/150
提交評(píng)論