版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
《基于C++面向?qū)ο蟪绦蛟O計實例》
課程設計匯報
匯報題目:_____________________________
高校人員信息管理系統(tǒng)
作者所在系部:計算機科學和工程系
作者所在專業(yè):計算機科學和技術
作者所在班級:_________________
作者姓名:_________________
指導老師姓名:_________________
完成時間:6月
《基于C++面向?qū)ο蟪绦蛟O計實例》任務書
一.目標和要求
1、目標
(1)要求學生能夠熟練掌握C++語言基礎知識和技能。
(2)基礎掌握面向?qū)ο蟪绦蛟O計基礎思緒和方法。
(3)能夠利用所學基礎知識和技能,處理簡單面向?qū)ο蟪绦蛟O計問題。
2、基礎要求
(1)要求利用面向?qū)ο蠓椒ê虲++編程思想來完成系統(tǒng)設計。
(2)在系統(tǒng)設計中,要求利用面向?qū)ο髾C制(繼承、派生及多態(tài)性)來實現(xiàn)系統(tǒng)功
效,而且要建立清楚類層次關系。
(3)在系統(tǒng)設計中要分析和定義各個類,每個類中要有各自數(shù)據(jù)組員和組員函數(shù)。
(4)主函數(shù)中提供菜單選項,并給出足夠選擇信息和提醒信息。
(5)程序含有一定健壯性,不會因為用戶輸入錯誤引發(fā)程序運行錯誤而中止
實施。
對輸入值類型、大小范圍、字符串長度等,進行正確性檢驗,對不正當輸入值給出
犯錯信息,指犯錯誤類型,等候重新輸入。
3、創(chuàng)新要求
在基礎要求達成后,可依據(jù)實際情況進行創(chuàng)新設計,如依據(jù)查找結果進行修改功效
及設計出比較友好界面等,
二.驗收方法
完成設計內(nèi)容以后,即可開始驗收。驗收時,首先由學生簡明說明所做題目標思緒、
設計結構及實現(xiàn)過程,然后運行程序并進行測試,對輸出結果作出解釋,同時認真回復
老師提出問題。
三.課設匯報
在完成驗收以后,提交課設匯報。其中匯報中需包含系統(tǒng)設計要求,設計思緒,系統(tǒng)功效模塊
圖,系統(tǒng)步驟圖,類層次圖(包含類組員列表),調(diào)試過程,關鍵程序代碼,總結,參考書目等。另
外,課設匯報要嚴格遵守模板文件格式要求,思緒清楚,內(nèi)容詳實豐富。
四.成績評定
課設總成績二驗收成績(50%)+課程設計匯報成績(30%)+程序源代碼(10%)+
課設態(tài)度、考勤和遵守教學制度情況(10%)
五.說明
1、每位同學在以下題目中任選一個來完成。
2、學生應嚴格遵守課堂秩序,按時上機,認真完成各項任務。
3、上機前做好充足準備,包含事先寫好關鍵程序代碼,以確保充足利用上機時間調(diào)
試程序。
4、每位同學各自獨立完成自己題目,嚴禁剽竊或拷貝。
5、必需按要求時間上交課設匯報。
六.課設題目
題目1“高校職員信息管理系統(tǒng)”
1、問題描述
某高校有四類職員:老師、試驗員、行政人員,老師兼行政人員;共有信息包含:
編號、姓名、性別、年紀等。其中,老師還包含信息有:所在系部、專業(yè)、職稱;試驗
員還包含信息由:所在試驗室、職務;行政人員還包含信息有:政治面貌、職稱等。
2、功效要求
(1)基礎功效
1)添加功效:程序能夠任意添加上述四類人員統(tǒng)計,可提供選擇界面供用戶選擇所
要添加人員類別,要求職員編號耍唯一,假如添加了反復編號統(tǒng)計時,則提醒數(shù)據(jù)添加
反復并取消添加。
2)查詢功效:可依據(jù)編號、姓名等信息對已添加統(tǒng)計進行查詢,假如未找到,給出
對應提醒信息,假如找到,則顯示對應統(tǒng)計信息。
3)顯示功效:可顯示目前系統(tǒng)中全部統(tǒng)計,每條統(tǒng)計占據(jù)一行。
4)編輯功效:可依據(jù)查詢結果對對應統(tǒng)計進行修改,修改時注意編號唯一性。
5)刪除功效:關鍵實現(xiàn)對已添加人員統(tǒng)計進行刪除。假如目前系統(tǒng)中沒有對應人員
統(tǒng)計,則提醒“統(tǒng)計為空!”并返回操作;不然,輸入要刪除人員編號或姓名,依據(jù)所輸
入信息刪除該人員統(tǒng)計,假如沒有找到該人員信息,則提醒對應統(tǒng)計不存。
6)統(tǒng)計功效:能依據(jù)多個參數(shù)進行人員統(tǒng)計。比如,統(tǒng)計四類人員數(shù)量和總數(shù),
或統(tǒng)計男、女職員數(shù)量,或統(tǒng)計某年紀段人員數(shù)量等。
7)保留功效:可將目前系統(tǒng)中各類人員統(tǒng)計存入文件中,存入方法任意。
8)讀取功效:可將保留在文件中人員信息讀入到目前系統(tǒng)中,供用戶進行使用。
(2)擴展功效
在完成以上基礎功效基礎上,可自行進行擴展或完善,比如:
1)添加人員統(tǒng)計時,考慮多種數(shù)據(jù)有效性。
2)組合查詢功效實現(xiàn)。
3)可按人員一些信息進行排序。
4)對文件讀寫使用二進制信息。
3、問題處理方案
依據(jù)系統(tǒng)功效要求,能夠?qū)栴}處理分為以下步驟:
1)應用系統(tǒng)分析,建立該系統(tǒng)功效模塊框圖和界面組織和設計;
2)分析系統(tǒng)中各個實體及它們之間關系;
3)依據(jù)問題描述,設計系統(tǒng)類層次;
4)完成類層次中各個類描述;
5)完成類中各個組員函數(shù)定義;
6)完成系統(tǒng)應用模塊;
7)功效調(diào)試;
8)完成系統(tǒng)總結匯報。
摘要
在目前學校人員管理體制下,高等學校不僅要有濃厚學風氣息、雄厚師資力量、優(yōu)
異精良硬件設備,和此同時,作為優(yōu)異科學技術和優(yōu)異文化承載者和傳輸者,更需要有
一個實施效率高而且便于操作現(xiàn)代信息化管理系統(tǒng),以實現(xiàn)對高校各類人員進行添加、
查找、修改、刪除、統(tǒng)計、保留、讀取等動態(tài)管理目標。
本文利用MicrosoftVisualC++6.0AD0編寫程序,實現(xiàn)了高校對試驗員、老師、行
政人員、老師兼行政人員管理操作。
本系統(tǒng)關鍵有四個管理模塊一一試驗員管理系統(tǒng)、老師管理系統(tǒng)、行政人員管理系
統(tǒng)、老師兼行政人員管理系統(tǒng)。己經(jīng)過全方面系統(tǒng)測試,能夠很好運行,達成了預期效
果。
關鍵詞:系統(tǒng)設計類信息人員管理
目錄
摘要.......................................................................I
第1章緒論.............................................................1
1.1課程設計目標.......................................................1
1.2課程設計背景和意義.................................................1
1.1.1課程設計背景..................................................1
1.1.2課程設計意義..................................................1
1.3課程設計環(huán)境.......................................................1
第2章需求分析...........................................................2
2.1問題描述...........................................................2
2.2功效需求..........................................................2
2.3問題處理方案......................................................3
第3章系統(tǒng)設計...........................................................4
3.1數(shù)據(jù)設計..........................................................4
3.1.1類設計.......................................................4
3.1.2類之間關系...................................................5
3.2結構設計..........................................................6
3.2.1系統(tǒng)步驟圖...................................................6
3.2.2界面設計.....................................................6
第4章系統(tǒng)實現(xiàn)...........................................................9
4.1類實現(xiàn)............................................................9
4.2函數(shù)實現(xiàn)..........................................................11
4.3主函數(shù)實現(xiàn).......................................................21
第5章系統(tǒng)測試..........................................................23
5.1模塊測試.........................................................23
5.2課程設計過程中碰到問題...........................................32
總結.......................................................................33
致謝.......................................................................34
參考文件..................................................................35
第1章緒論
1.1課程設計目標
(I)要求學生能夠熟練掌握C++語言基礎知識和技能。
(2)基礎掌握面向?qū)ο蟪绦蛟O計基礎思緒和方法。
(3)能夠利用所學基礎知識和技能,處理簡單面向?qū)ο蟪绦蛟O計問題。
1.2課程設計背景和意義
1.2.1課程設計背景
1.理論研究基礎
(1)綜合C++編程知識,結合實際加以應用。
(2)參考書本對書本熟悉,應用類、數(shù)組等內(nèi)容。
2.技術層面支持
安裝MicrosoftVisualC++6.0集成開發(fā)環(huán)境。
1.2.2課程設計意義
綜合復習《C++面向?qū)ο蟪绦蛟O計》全部知識點,深入熟練面向?qū)ο蟪绦蜷_發(fā)方法和步
驟,提升學生獨立分析問題和處理問題能力,培養(yǎng)學生中、小型實踐項目開發(fā)能力。
讓我們提前感受到編寫軟件過程和處理問題方法。
1.3課程設計環(huán)境
軟件環(huán)境:MicrosoftVisualC++6.0集成開發(fā)環(huán)境。
硬件環(huán)境:圖書館五樓機房,筆記本電腦。
第2章需求分析
2.1問題描述
某高校有四類職員:老師、試驗員、行政人員,老師兼行政人員;共有信息包含:編
號、姓名、性別、年紀等。其中,老師還包含信息有:所在系部、專業(yè)、職稱;試驗員還
包含信息由:所在試驗室、職務;行政人員還包含信息有:政治面貌、職稱等
2.2功效要求
(1)基礎功效
1)添加功效:程序能夠任意添加上述四類人員統(tǒng)計,可提供選擇界面供用戶選擇所要
添加人員類別,要求職員編號要唯一,假如添加了反復編號統(tǒng)計時,則提醒數(shù)據(jù)添
加反復并取消添加。
2)查詢功效:可依據(jù)編號、姓名等信息對已添加統(tǒng)計進行查詢,假如未找到,給出對
應提醒信息,假如找到,則顯示對應統(tǒng)計信息。
3)顯示功效:可顯示目前系統(tǒng)中全部統(tǒng)計,每條統(tǒng)計占據(jù)一行。
4)編輯功效:可依據(jù)查詢結果對對應統(tǒng)計進行修改,修改時注意編號唯一性。
5)刪除功效:關鍵實現(xiàn)對已添加人員統(tǒng)計進行刪除。假如目前系統(tǒng)中沒有對應人員統(tǒng)
計,則提醒“統(tǒng)計為空!”并返回操作;不然,輸入要刪除人員編號或姓名,依據(jù)
所輸入信息刪除該人員統(tǒng)計,假如沒有找到該人員信息,則提醒對應統(tǒng)計不存。
6)統(tǒng)計功效:能依據(jù)多個參數(shù)進行人員統(tǒng)計。比如,統(tǒng)計四類人員數(shù)量和總數(shù),
或統(tǒng)計男、女職員數(shù)量,或統(tǒng)計某年紀段人員數(shù)量等。
7)保留功效:可將目前系統(tǒng)中各類人員統(tǒng)計存入文件中,存入方法任意。
8)讀取功效:可將保留在文件中人員信息讀入到目前系統(tǒng)中,供用戶進行使用。
(2)擴展功效
在完成以上基礎功效基礎上,可自行進行擴展或完善,比如;
1)添加人員統(tǒng)計時,考慮多種數(shù)據(jù)有效性。
2)組合查詢功效實現(xiàn)。
3)可按人員一些信息進行排序。
4)對文件讀寫使用二進制信息。
2.3問題處理方案
依據(jù)系統(tǒng)功效要求,能夠?qū)栴}處理分為以下步驟:
1)應用系統(tǒng)分析,建立該系統(tǒng)功效模塊框圖和界面組織和設計;
2)分析系統(tǒng)中各個實體及它們之間關系;
3)依據(jù)問題描述,設計系統(tǒng)類層次;
4)完成類層次中各個類描述;
5)完成類中各個組員函數(shù)定義;
6)完成系統(tǒng)應用模塊;
7)功效調(diào)試;
8)完成系統(tǒng)總結匯報。
第3章系統(tǒng)設計
3.1數(shù)據(jù)設計
3.1.1類設計
此系統(tǒng)共設計了九個類:基類(classPerson),試驗員類(classExperimenter),老師類
(classTeacher),行政人員類(clas*Staff),老師兼行政人員類(class)
基類中有
intnum;公用數(shù)據(jù)組員用于統(tǒng)計類組員編號
intage;公用數(shù)據(jù)組員用于統(tǒng)計類組員年紀
stringname;公用數(shù)據(jù)組員用于統(tǒng)計類組員姓名
stringsex;公用數(shù)據(jù)組員用于統(tǒng)計類組員性別
virtualvoidInput();公有數(shù)據(jù)組員函數(shù)用于輸入組員信息
virtualvoidOutput();公有數(shù)據(jù)組員函數(shù)用于輸出組員信息
intGetNum();公有數(shù)據(jù)組員函數(shù)用于取得組員編號
stringGetName();公有數(shù)據(jù)組員函數(shù)用于取得組員姓名
試驗員類中添加了
stringlibrary;公有數(shù)據(jù)組員用于統(tǒng)計類組員試驗室
stringzw;公有數(shù)據(jù)組員用于統(tǒng)計類組員職務
intchoice2;公有數(shù)據(jù)組員用于選擇組員性別
老師類中添加了
stringdepart;公有數(shù)據(jù)組員用于統(tǒng)計類組員部門
stringspec;公有數(shù)據(jù)組員用于統(tǒng)計類組員專業(yè)
siring(ide;公有數(shù)據(jù)組員用于統(tǒng)計類組員職稱
intchoice1;公有數(shù)據(jù)組員用于選擇組員部門
intchoice2;公有數(shù)據(jù)組員用于選擇組員性別
行政人員類中添加了
stringzzmm;;公有數(shù)據(jù)組員用于統(tǒng)計類組員政治面貌
stringzc;公有數(shù)據(jù)組員用于統(tǒng)計類組員任職職稱
intchoice2;公有數(shù)據(jù)組員用于選擇組員性別
老師兼行政人員類添加了
intchoiccl;公有數(shù)據(jù)組員用于選擇組員部門
intchoice2;公有數(shù)據(jù)組員用于選擇組員性別
還有四個功效相同功效函數(shù)類,其中有Exp_Manage類Tea_Manage類Staf_Manage
類Tea_Staf_Manage類c分別實現(xiàn)不一樣對應功效。
Tea_StaTea[TMAXJ;TMAX為常量,為數(shù)組中可存放老師統(tǒng)計最大數(shù);
inttop;top表示目前系統(tǒng)中存放統(tǒng)計個數(shù);
Tea_Staf_Manage(){iop=0;}初始時統(tǒng)計個數(shù)為0,所以設置top=0;
voidAdd();實現(xiàn)該類統(tǒng)計添加;
voidShow();實現(xiàn)該類全部統(tǒng)計顯示;
voidSearchO;實現(xiàn)該類統(tǒng)計杳詢:
voidEdit();實現(xiàn)該類統(tǒng)計修改;
voidDelete();實現(xiàn)該類統(tǒng)計刪除;
voidTotal();實現(xiàn)該類統(tǒng)計統(tǒng)計;
voidSave();將該類統(tǒng)計保留到文件;
voidRead();可從文件中將統(tǒng)計讀取到該類數(shù)組中;
試驗員、老師、行政人員管理類中函數(shù)全部相同,在此略。
3.1.2類之間關系
基類:(classPerson)派生類有:(classExperimenter),(classTeacher),(classStaff)
(classTea_Sta)
四個平行關系類,實現(xiàn)不一樣類功效;(classExp_Managc)(classTca_Managc)(class
Staf_Manage)(classTea_StaCManage)
3.1.3函數(shù)設計
在四個管理類中定義了以下相同函數(shù),功效如其后所說
voidAdd();實現(xiàn)該類統(tǒng)計添加;
voidShow();實現(xiàn)該類全部統(tǒng)計顯示;
voidSearch();實現(xiàn)該類統(tǒng)計查詢;
voidEdit();實現(xiàn)該類統(tǒng)計修改;
voidDelete();實現(xiàn)該類統(tǒng)計刪除;
voidTotal();實現(xiàn)該類統(tǒng)計統(tǒng)計;
voidSave();將該類統(tǒng)計保留到文件;
voidRead();可從文件中將統(tǒng)計讀取到該類數(shù)組中;
3.2結構設計
3.2.1系統(tǒng)步驟圖
圖3-1
3.2.2界面設計
主菜單界面
圖3—2主菜單界面圖
試驗員類菜單界面
圖3—3試驗員類菜單界面圖
老師類菜單界面
|*F:\LY\^^\Debug\zhangxiangying.exe
…歡迎進入北華領,天工業(yè)學院人員管理系統(tǒng)…
K<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
1=>實物員管理2=>教師管理3=>行政管理4=教師行政管理。=>退出系統(tǒng)
??????????????????????????????????????
請輸入您的選擇:2
教師管理***
:1.添加2.查找3.修改4.刪除5.顯示6.保存7.讀取8.統(tǒng)計退出;
輸入您操作的選項:
圖3-4老師類菜單界面圖
政人員管理菜單界面
圖3—5政人員管理菜單界面圖
老師兼行政人員管理菜單界面
八"F:\LY\課設\Debug\zhangxiangying.exe"|
***歡迎進入
XXXXX"T;^^.^.xxxxx
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
/1=>實驗員管理2=>教師管理3=>行政管理4=教師行政管理。=>退出系統(tǒng)!!
??????????????????????????????????????
請輸入您的選擇:4
****教師兼行政人員管理***
:1.添加2.查找3.修改4.刪除5.顯示6.保存7.讀取8.統(tǒng)計0=>退出;
輸入您操作的選項:.
5
圖3-6老師兼行政人員管理菜單界面圖
第4章系統(tǒng)實現(xiàn)
4.1類實現(xiàn)
對于基類定義
classPerson
(
public:
intnum;公用數(shù)據(jù)組員用于統(tǒng)計類組員編號
intage;公用數(shù)據(jù)組員用于統(tǒng)計類組員年紀
stringname;公用數(shù)據(jù)組員用于統(tǒng)計類組員姓名
stringsex;公用數(shù)據(jù)組員用于統(tǒng)計類組員性別
public:
Person(intn=0,stringnm='n,,strings="",inta=O):num(n),name(nm),sex(s),age(a){};
virtualvoidInput(){};
virtualvoidOutput。:};
intGetNum(){returnnum;}公有數(shù)據(jù)組員函數(shù)用于取得組員編號
stringGetName(){returnname;)公有數(shù)據(jù)組員函數(shù)用于取得組員姓名
);
對試驗員派生類定義
classExperimenter:publicPerson
I
public:
stringlibrary;公有數(shù)據(jù)組員用于統(tǒng)計類組員試驗室
stringzw;公有數(shù)據(jù)組員用于統(tǒng)計類組員職務
intchoice2;公有數(shù)據(jù)組員用于選擇組員性別
public:
Experimenter(intn=0,stringnm="",strings="男",inta=(),stringstringz=,,w)
:Person(num,name,sex,age),library(l),zw(z){);
voidInput()組員函數(shù)用于輸入組員信息
voidOutput()組員函數(shù)用于輸出組員信息
};
對于老師派生類定義
classTeacher:virtualpublicPerson
{
public:
stringdepart;公有數(shù)據(jù)組員用于統(tǒng)計類組員部門
stringspec;公有數(shù)據(jù)組員用于統(tǒng)計類組員專業(yè)
stringtitle;公有數(shù)據(jù)組員用于統(tǒng)計類組員職稱
intchoice1;公有數(shù)據(jù)組員用于選擇組員部門
intchoice2;公有數(shù)據(jù)組員用于選擇組員性別
public:
Tcacher(intn=0,stringnm="M,strings=n男=inta=0,stringd="電子系M,string
sp=H,,.stringt=uu)
:Person(n,nm,s,a),depart(d),spec(sp),title(t){};
voidInput()組員函數(shù)用于輸入組員信息
voidOutput()組員函數(shù)用于輸出組員信息
對于行政人員派生類定義
classStaff:virtualpublicPerson
(
public:
stringzzmm;;公有數(shù)據(jù)組員用于統(tǒng)計類組員政治面貌
stringzc;公有數(shù)據(jù)組員用于統(tǒng)計類組員任職職稱
intchoicc2;公有數(shù)據(jù)組員用于選擇組員性別
public:
Staff(intn=0,stringnm="M,strings="男",inta=0,stringz="n,stringzc="")
:Person(n,nm,s,a),zzmm(z),zc(zc){};
voidInput()組員函數(shù)用于輸入組員信息
voidOutputO組員函數(shù)用于輸出組員信息
);
對于老師兼行政人員類定義
classTea_Sta:publicTeacher,publicStaff
(
public:
intchoice1;公有數(shù)據(jù)組員用于選擇組員部門
intchoice2;公有數(shù)據(jù)組員用于選擇組員性別
Tea_Sta(intn=(),stringnm=,,u,strings="男=inta=(),stringd=M電子系",string
sp=M",stringstringz=,,M,stringzc=uu)
:Person(n,nm,s,a),Teacher(n,nm,s,a,sp4),Staff(n,niTi,s,a,z,zc){};
voidInput()組員函數(shù)用于輸入組員信息
voidOutputO組員函數(shù)用于輸出組員信息
);
對于在四個管理類中函數(shù)功效全部相同,以老師類為例
classTea_Manage
TeacherTeafTMAX];TMAX為常量,為數(shù)組中可存放老師統(tǒng)計最大數(shù);
inttop;top表示目前系統(tǒng)中存放統(tǒng)計個數(shù);
public:
Tea_Manage(){top=0;}初始時統(tǒng)計個數(shù)為0,所以設置top=0;
voidAdd();實現(xiàn)該類統(tǒng)計添加;
voidShow。;實現(xiàn)該類全部統(tǒng)計顯示;
voidSearch();實現(xiàn)該類統(tǒng)計查詢;
voidEdit();實現(xiàn)該類統(tǒng)計修改;
voidDelete();實現(xiàn)該類統(tǒng)計刪除;
voidTotal();實現(xiàn)該類統(tǒng)計統(tǒng)計;
voidSave();將該類統(tǒng)計保留到文件;
voidRcad();可從文件中將統(tǒng)計讀取到該類數(shù)組中;
4.2函數(shù)實現(xiàn)
對于在四個管理類中定義了相同函數(shù),以老師類為例
添加功效:程序能夠任意添加上述四類人員統(tǒng)計,可提供選擇界面供用戶選擇所要添
加人員類別,要求職員編號要唯一,假如添加了反復編號統(tǒng)計時,則提醒數(shù)據(jù)添加反復并
取消添加
voidTea_Manage::Add()
if(top>=TMAX)
(
cout?"用戶已滿"vvendl;
return;
Teachert;
coutvv”輸入新添加人員信息,<<endl;
t.Input();
for(inti=0;i<top;i++)
if(t.GetNum()==Tea[i].GetNum())
cout<<”該編號人員己存在"v<endl;
return;
)
Tca[top]=t;
top=top+1;
coutv<"添加成功!”《endl;
)
顯示功效:可顯示目前系統(tǒng)中全部統(tǒng)計,每條統(tǒng)計占據(jù)一行。
voidTea_Manage::Show()
{
if(top==0)
(
cout<<"無數(shù)據(jù)!"<<endl;
return;
1
cout?setw(1())<<"編號"
<<setw(10)vv"姓名”
?selw(10)<<“性別”
<<sctw(10)v<“年紀”
<<setw(10)v<“系部”
<<setw(10)<<“專業(yè)”
?setw(10)?“職稱"
?endl;
for(inti=0;i<top;i++)
Tea[i].Output();
)
查詢功效:可依據(jù)編號、姓名等信息對已添加統(tǒng)計進行查詢,假如未找到,給出對應
提醒信息,假如找到,則顯示對應統(tǒng)計信息。
voidTea_Manage::Search()
if(top==0)
cout<<”目前系統(tǒng)中沒有存放統(tǒng)計“<<endl;
return;
1
intchoice;
cout<<”請選擇杳找方法:1.按編號查找2.按姓名查找J?endl;
cin?choice;
switch(choice)
(
case1:{
coul<<”請輸入要查找編號:“<<endl;
intnum;
cin?num;
for(inti=0;i<top;i++)
(
if(Tea[iJ.GetNum()==num)
(
Tea[i].Output();
return;
)
)
coul<<"查無此人!"<<endl;
}break;
case2:{
cout<<”請輸入要查找姓名"<<endl;
stringname;
cin?name;
for(inti=0;i<top;i++)
if(Tea[i].GetName()==name)
Tea[iJ.Output();
}
)
for(i=0;i<top;i++)
if(Tea[i].GetName()==name)
return;
cout<<“查無此人!"?endl;
}break;
default:coutv<”無此選項!請重試!”<<endl;break;
1
1
voidTea_Manage::Edit()
(
if(top==0)
(
cout<<”目前系統(tǒng)中沒有存放統(tǒng)計!”<<endl;
return;
I
intnum;
cout?n請輸入要查找教編號:H?endl;
cin?num;
for(inti=0;i<top;i++)
if(Tea[i].GetNum()==num)
cout<<"請對這位老師信息進行修改:“<<endl;
Tea[i].Input();
coul<<"修改成功"<vendl;return;
)
I
cout<<"查無此人"v<endl;
)
刪除功效:關鍵實現(xiàn)對已添加人員統(tǒng)計進行刪除。假如目前系統(tǒng)中沒有對應人員統(tǒng)計,
則提醒“統(tǒng)計為空!”并返回操作;不然,輸入要刪除人員編號或姓名,依據(jù)所輸入信息刪
除該人員統(tǒng)計,假如沒有找到該人員信息,則提醒對應統(tǒng)計不存。
voidTea_Manage::Delete()
{
if(top==0)
(
cout?n目前系統(tǒng)中沒有存放統(tǒng)計:'<<endl;
return;
)
cout?”l、按編號查找刪除2、按姓名查找刪除"<vendl;
intchoice;
cin?choice;
switch(choice)
(
case1:
(
cout<<”請輸入編號:”;
intnum;
cin?num;
for(inti=0;i<top;i++)
if(num==Tea[i].num)
cout<<"是否確定刪除?1、是2、否"?cndl;
intchoice;
cin?choice;
switch(choice)
(
case1:
(
for(intj=i;j<top-1;j++)
Tea[j]=Tea[j+l];
cout<〈”刪除成功!"?endl;
top-;
);break;
case2:rcturn;
default:cout<<”無止匕項,失貝攵!"<vendl:break:
(return;
)
)
cout<<"無此人!"?endl;
};break;
case2:
cout?”請輸入姓名:”;
stringname;
cin?name;
for(inti=0;i<top;i++)
if(name==Tea[i].name)
(
cout<<”是否確定刪除?1、是2、否”<vendl;
intchoice;
cin?choice;
switch(choice)
(
case1:
(
for(intj=i;j<top-1;j++)
TeaU]=TeaU+l];
cout<〈"刪除成功!"?endl;
top-;
};brcak;
case2:return:
default:cout<<“無止匕項,失敗!"?endl;break;
(return;
1
}
cout<<"無此人!"?endl;
};break;
default:cout<<“沒有此項,失敗:H?endl;break;
)
1
統(tǒng)計功效:能依據(jù)多個參數(shù)進行人員統(tǒng)計。匕如,統(tǒng)計類中人員數(shù)量和總數(shù),
或統(tǒng)計男、女職員數(shù)量,不一樣部門職員數(shù)量等。
voidTea_Manage::Total()
cout?"1按人數(shù)統(tǒng)計2按性別統(tǒng)計3按系別統(tǒng)計"?endl;
intchoice;
cout?"請輸入你選擇”《endl;
cin?choice;
switch(choice)
(
case1:cout<<"老師類人數(shù)為:"《lop<vendl;break;
case2:
(
inta=0,b=0;
for(inti=0;i<lop;i++)
(
if(Tea[i].sex=="")a++;
if(Tea[i].sex=="^<")b++;
)
cout?"男老師人數(shù)為"vvavVendl;
cout<<"女老師人數(shù)為"?b?endl;
}break;
case3:
(
inta1=0,a2=0,a3=0,a4=0,a5=0,a6=0,a7=0,a8=0,a9=0;
for(inti=0;i<top;i++)
(
if(Tea[i].depart=="電子系")al++;
if(Tea[i].depart二二"機械系")a2++;
if(Tea[i].depart=="經(jīng)管系")a3++;
if(Tea[i].depart=="建I:系")a4++;
if(Tea[i].depart=="計算機系")a5++;
if(Tea[i].dcpart=="夕卜語系")a6++;
if(Tea[i].depart=="財會系")a7++;
if(Tea[i].depart=="材料系")a8++;
if(Tea[i].depart=="文法系")a9++;
)
cout<<"電子系老師人數(shù)為"?al?endl;
cout<<"機械系老師人數(shù)為"?a2?endl;
cout<<"經(jīng)管系老師人數(shù)為"<<a3?endl;
coutvv”建工系老師人數(shù)為“v<a4?endl;
cout?"計算機系老師人數(shù)為"《a5vvendl;
cout?"外語系老師人數(shù)為u?a6?endl;
cout<<"財會系老師人數(shù)為"<<a7vvendl;
coutv<"材料系老師人數(shù)為”《a8?cndl;
cout<<"文法系老師人數(shù)為“vva9?endl;
)break;
default:cout<<"輸入錯誤。請重新輸入"《endl;break;
)
)
保留功效:可將目前系統(tǒng)中各類人員統(tǒng)計存入文件中,存入方法任意。
voidTea_Manage::Save()
(
ofstreamout("D:\\ying2.txt",ios::out);
if(!out)
cout<v"打開失敗!”vvendl;
return;
)
coutv<”打開成功!”vvendl;
for(inti=0;i<top;i++)
(
out?Tea[i].num?""
?Tea[i].name?M"
v<Tea[i].sex<<""
?Tea[i].age?"H
?Tea[i].depart?u"
?Tea[i].spec?n
?Tea[i].title
?endl;
}
coutvv”寫入成功!"vvendl;
out.close();
)
讀取功效:可將保留在文件中人員信息讀入到目前系統(tǒng)中,供用戶進行使用。
voidTea_Manage::Read()
(
ifstreamin("D:\\ying2.txt",ios::in);
if(!in)
(
cout?"JT開失敗!"<<endl;
return;
}
inti=0;
while(in?Tea[i].num
?Tea[i].name
?Tea[i].sex
?Tea[il.age
?Tea[iJ.depart
?Tea[i].spcc
?Tea[il.title)
(
Tea[i].Output();
i++;
top++;
}
in.close();
};
老師函數(shù)主界面定義
voidTeaMenu()
(
Tea_Managet:
intchoice;
while(choice!=0)
(
cout?"\n***老師管理***
"?endl;
cout<v"++++++++++++-++++++++++++++++++++++++++++++++++++++++”?endl;
cout?M|r?endl;
coutv<”|I.添加2.查找3修改4.刪除5.顯示6.保留7.讀取8.統(tǒng)計0=>退出|"?endl;
cout?M|l"?endl;
cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++++++++”v〈endl;
coutvv"\n輸入您操作選項:";
cin?choice;
switch(choice)
(
case1:t.Add();break;
case2:t.Search();break;
case3:t.Edit();break;
case4:t.Delete();break;
case5:t.Show();break;
case6:t.Save();break;
case7:t.Read();break;
case8:l.Tolal();break;
case0:coutv<”退出成功!”<<endl;break;
default:cout<<"無此選項!請重試!"<<endl;break;
)
)
1
系統(tǒng)主菜單函數(shù)定義,依據(jù)不一樣人選擇不一樣子系統(tǒng)
inimain()
(
cout?H***歡迎進入北華航天工業(yè)學院人員管理系統(tǒng)**
intchoice;
do{
cout?n*****主菜單*****\n”《endl;
cout?,,???????????????????????????"?endl;
cout?n||||"?endl;
cout?"||l=>試驗員管理2=>老師管理3=>行政管理4二老師行政管理()=>退出系統(tǒng)
||"?endl;
cout?"||||"?endl;
cout?'??????>????????????????????'?endl;
cout?"\n請輸入您選擇:";
cin?choice;
switch(choice)
(
case1:ExpMenu();break;
case2:TeaMenu();break;
case3:StafMenu();break;
case4:Tea_StafMenu();break;
case():cout?"\n您已安全退出系統(tǒng)."<<endl;break;
default:cout?"\n沒有此選項.請重選."《endl;break;
)
}while(choice!=0);
cout?n\n***歡迎您下次再使用本系統(tǒng)!***"?endl;
return0;
)
4.3主函數(shù)實現(xiàn)
#include<iostream>
#include<string>
#include<fstream>
#include<iomanip>
constintTMAX=50;
usingnamespacestd;
intmain()
cout?n***歡迎進入北華航天工業(yè)學院人員管理系統(tǒng)***'vvendl;
intchoice;
do{
cout?n*****主菜單**
cout?"??????<?????????????????<???',?endl;
cout?"||||"?endl;
cout?"||l=>試驗員管理2=>老師管理3二〉行政管理4二老師行政管理0=>退出系統(tǒng)
||"?endl;
cout?"||||"?endl;
cout?"??????>????????????????????H?endl;
cout?"\n請輸入您選擇:";
cin?choice;
switch(choice)
(
case1:ExpMenu();break;
case2:TeaMenu();break;
case3:StafMenu();break;
case4:Tea_StafMenu();break;
case0:cout?"\n您已安全退出系統(tǒng)."<<endl;break;
default:cout?n\n沒有此選項.請重選."《endl;break;
}
}while(choice!=0);
cout?n\n***歡迎您下次再使用本系統(tǒng)!
return0;
第5章系統(tǒng)測試
5.1模塊測試
(因為試驗員類,老師類,行政人員類,老師兼行政人員類系統(tǒng)功效一樣,在此以老
師類為例)
1.添加模塊
(輸入正確添加信息)
x
Ld
圖5—1正確添加界面
(輸入錯誤信息)
圖5-2錯誤添加界而
2.查找模塊
(正確編號查找)
圖5—3正確編號查找界面
(錯誤編號查找)
圖5—4錯誤編號查找界面
(
正
確
姓
名
查
找
)
圖5-5正確姓名查找界面
(錯誤姓名查找)
圖5—6錯誤姓名查找界面
3..修改模塊
(正確修改)
rF:\LY\課設\Debug\zhang*iangying.eze
教師官■理3
工.添加2.查找3.修改4.刪除5.顯示6.保存7.讀取8.統(tǒng)計0=>退出
介入您操件的選項:3
與輸入要強找的教編號;
1
thenun
2
nputthename
putthesex”.男2.女)
輸入你的選擇
2
theage
t
/depart
電t^h
2.機械系3.經(jīng)管系4.建工系5.計算機系6.外語系7.財會系8.材料系
1.文^
9.
輸
入
你選擇
2
thespec
2
nputthetitle
2
區(qū)改成功
圖57正確修改界面
(錯誤修改)
圖5—8錯誤修改界面
4.刪除模塊
(正確編號刪除)
圖5-9正確編號刪除界面
(錯誤編號刪除)
圖5—10錯誤編號刪除界面
(正確姓名刪除)
圖5—11正確姓名刪除界面
(錯誤姓名刪除)
圖5—12錯誤姓名刪除界面
5.顯示模塊
c<*F:\1?丫\課設\061)118\由3118*1311871:£118.eze
3
*?*教師管理***
1.添加2.查找3.修改4.刪除5.顯示6.保存7.讀取8.統(tǒng)計0=>退出
?+---
++
選
入
售
的
您
1項5
.?
專
稱
業(yè)
名
性
系
姓
齡
職
與
1i1電11
女
222系22
徵
女
332系22
U
圖5-13顯不信息界面
6.保留模塊
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度民辦學校校車服務合同2篇
- 2025版新能源汽車銷售與服務合同模板下載4篇
- 2025年度農(nóng)業(yè)科技項目知識產(chǎn)權保護合同8篇
- 2025版綠色建筑節(jié)能技術實施合同4篇
- 2025年度高端培訓學校副校長職務聘任合同4篇
- 二零二五年度農(nóng)家樂土地流轉(zhuǎn)與鄉(xiāng)村旅游發(fā)展合同
- 二零二五年度農(nóng)家樂房屋出租與鄉(xiāng)村旅游開發(fā)合同
- 2025年度汽車租賃合同車輛違章處理范本3篇
- 案外人另案確權訴訟與執(zhí)行異議之訴的關系處理
- 二零二五年度民間借款擔保與資產(chǎn)保全服務合同樣本3篇
- 2024年山東省泰安市高考物理一模試卷(含詳細答案解析)
- 2022版《義務教育英語課程標準》解讀培訓課件
- 科技進步類現(xiàn)代軌道交通綜合體設計理論與關鍵技術公
- 五個帶頭方面談心談話范文三篇
- 互聯(lián)網(wǎng)的發(fā)展歷程
- 部編人教版五年級道德與法治下冊全冊課件(完整版)
- 廣西貴港市2023年中考物理試題(原卷版)
- 外觀質(zhì)量評定報告
- 窒息的急救解讀課件
- 下腔靜脈濾器置入術共27張課件
- 人教小學四年級上冊數(shù)學知識點歸納
評論
0/150
提交評論