高校人員信息管理系統(tǒng)_第1頁
高校人員信息管理系統(tǒng)_第2頁
高校人員信息管理系統(tǒng)_第3頁
高校人員信息管理系統(tǒng)_第4頁
高校人員信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘 要C+作為一種面向的程序設(shè)計語言,在現(xiàn)在的計算機(jī)領(lǐng)域上,應(yīng)用的很廣泛,市場對熟練掌握C+語言的人才需求量也在日益的增加。作為一種軟件開發(fā)的計算機(jī)語言,C+擁有簡單方便的特點(diǎn),同時具有信息隱蔽的特點(diǎn),可以根據(jù)自己的意愿對自己設(shè)計的信息進(jìn)行封裝,是信息安全。在軟件的維護(hù)方面,是面向?qū)ο筮M(jìn)行維護(hù),可以使信息的修改,系統(tǒng)的大體模塊清新,使用方便。所以在全國的各個高校,都在開設(shè)C+這門課程,可見在計算機(jī)方面C+具有很高的地位!本次課設(shè)意在培養(yǎng)C+在軟件的開發(fā)方面的意識,為以后更多的計算機(jī)語言的學(xué)習(xí)做好基礎(chǔ)!當(dāng)前各高校對職工的需求量更大,高校要想對高效的各類職員的信息進(jìn)行管理,就必須要擁有一個完善的人

2、員信息管理系統(tǒng),以實(shí)現(xiàn)人員信息的方便查找等功能,方便了人與哪的流通等。這次課設(shè)的題目正在嘗試的解決這個問題。關(guān)鍵詞:系統(tǒng)設(shè)計 類 信息 信息存儲圖 數(shù)據(jù)成員成員函數(shù) 查改排序目 錄摘要1目錄1第1章緒論11.1 課程設(shè)計的目的11.2 課程設(shè)計的背景和意義1課程設(shè)計的背景11.2.2 課程設(shè)計的意義21.3 課程設(shè)計環(huán)境2第2章需求分析32.1 問題描述32.2 功能要求32.3 問題的解決方案3第3章系統(tǒng)設(shè)計43.1 數(shù)據(jù)設(shè)計43.1.1 類設(shè)計43.1.2 類之間的關(guān)系43.1.3 函數(shù)設(shè)計53.2 結(jié)構(gòu)設(shè)計53.2.1 系統(tǒng)流程圖53.2.2 界面設(shè)計6第4章系統(tǒng)實(shí)現(xiàn)74.1 類實(shí)現(xiàn)74

3、.2 函數(shù)實(shí)現(xiàn)104.3 主函數(shù)實(shí)現(xiàn)17第5章系統(tǒng)測試205.1 模塊測試205.2 課程設(shè)計過程中遇到的問題25總結(jié)25致謝26參考文獻(xiàn)28附錄29第1章 緒論1.1 課程設(shè)計的目的1、鞏固所學(xué)的C以及C+知識,以達(dá)到熟練掌握語法以及編程規(guī)范的目的。2、將所學(xué)的編程語言與實(shí)際問題結(jié)合起來,達(dá)到學(xué)為所用的母的。3、提高獨(dú)立思考問題的目的,通過對所給問題的分析,來提高分析解決問題的目的。1.2 課程設(shè)計的背景和意義1.2.1課程設(shè)計的背景1.理論研究基礎(chǔ)(1)類代表了某一批對象的共性和特征,類是對象的抽象,而對象是類的一個實(shí)例。(2)友元成員函數(shù)可以引用類中的所有成員。(3)派生類可以繼承基類的

4、所有公用的數(shù)據(jù)成員,當(dāng)繼承方式是protected方式的時候,派生類可以繼承積累中的protected類型的成員,但是不可以繼承積累的私有的成員。(4)運(yùn)用seekg和tellp函數(shù)可以計算已知文件的存儲的對象的個數(shù)。以二進(jìn)制的方式進(jìn)行數(shù)據(jù)的存儲的時候便于運(yùn)用指針進(jìn)行對數(shù)據(jù)的操作。(5)運(yùn)用冒泡法對數(shù)據(jù)進(jìn)行排序可以實(shí)現(xiàn)對數(shù)據(jù)按由小到大或者由大到小的方式進(jìn)行排序。(6)當(dāng)類的成員函數(shù)定義成為友元函數(shù)的時候,在main函數(shù)中可以直接調(diào)用,不需要和一般的成員函數(shù)一樣需要用對象調(diào)用。(7)運(yùn)用goto進(jìn)行循環(huán)的時候,可以使程序根據(jù)自己的意愿進(jìn)行循環(huán)的使用。(8)運(yùn)用工程的方式進(jìn)行程序的運(yùn)行的時候,可以

5、對每個類進(jìn)行以頭文件的形式存儲,再添加到工程中,可以使程序的main函數(shù)清晰。(9)在程序的開頭設(shè)置了全局的變量,可以在程序中運(yùn)用并可以在程序中輸出。2.技術(shù)層面的支持(1)、經(jīng)過一年來對Microsoft Visual C+ 6.0軟件的使用,在此環(huán)境下的兼容了C與C+的語法,可以運(yùn)用此軟件進(jìn)行C+程序的編寫,同時運(yùn)行。此編譯器對數(shù)據(jù)的內(nèi)存空間的開辟不能滿足自己需要的空間的時候,可以在工程的參數(shù)中進(jìn)行適當(dāng)?shù)男薷摹#?)、在Microsoft Visual C+ 6.0的環(huán)境下,編譯器提供的變量的存儲空間有限,但是在工程的設(shè)置中,改變參數(shù)可以使程序正常的運(yùn)行。課程設(shè)計的意義通過本次課設(shè)來檢驗(yàn)對

6、所學(xué)的編程語言的掌握情況,從而使我們對所學(xué)習(xí)的知識的掌握,同時提高了自己對問題的分析能力,可以從一個題目中來發(fā)掘未知的問題以及功能,提高了做事謹(jǐn)慎的能力,同時也規(guī)范了自己的編程規(guī)范。1.3 課程設(shè)計環(huán)境軟件環(huán)境:在Windows XP系統(tǒng)中, Visual C+ 6.0環(huán)境下運(yùn)行。硬件環(huán)境:圖書館五樓計算機(jī)系軟件一或軟三實(shí)驗(yàn)室。第2章 需求分析2.1 問題描述某高校有四類員工:教師、實(shí)驗(yàn)員、行政人員,教師兼行政人員;共有的信息包括:編號、姓名、性別、年齡等。其中,教師還包含的信息有:所在系部、專業(yè)、職稱;實(shí)驗(yàn)員還包含的信息由:所在實(shí)驗(yàn)室、職務(wù);行政人員還包含的信息有:政治面貌、職稱等。2.2

7、功能要求(1)基本功能1) 添加功能:程序能夠任意添加上述四類人員的記錄,可提供選擇界面供用戶選擇所要添加的人員類別,要求員工的編號要唯一,如果添加了重復(fù)編號的記錄時,則提示數(shù)據(jù)添加重復(fù)并取消添加。2) 查詢功能:可根據(jù)編號、姓名等信息對已添加的記錄進(jìn)行查詢,如果未找到,給出相應(yīng)的提示信息,如果找到,則顯示相應(yīng)的記錄信息。3) 顯示功能:可顯示當(dāng)前系統(tǒng)中所有記錄,每條記錄占據(jù)一行。4) 編輯功能:可根據(jù)查詢結(jié)果對相應(yīng)的記錄進(jìn)行修改,修改時注意編號的唯一性。5)刪除功能:主要實(shí)現(xiàn)對已添加的人員記錄進(jìn)行刪除。如果當(dāng)前系統(tǒng)中沒有相應(yīng)的人員記錄,則提示“記錄為空!”并返回操作;否則,輸入要刪除的人員的

8、編號或姓名,根據(jù)所輸入的信息刪除該人員記錄,如果沒有找到該人員信息,則提示相應(yīng)的記錄不存。6) 統(tǒng)計功能:能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計。例如,統(tǒng)計四類人員數(shù)量以及總數(shù),或者統(tǒng)計男、女員工的數(shù)量,或者統(tǒng)計某年齡段人員的數(shù)量等。7)保存功能:可將當(dāng)前系統(tǒng)中各類人員記錄存入文件中,存入方式任意。8)讀取功能:可將保存在文件中的人員信息讀入到當(dāng)前系統(tǒng)中,供用戶進(jìn)行使用。(2)擴(kuò)展功能在完成以上基本功能的基礎(chǔ)上,可自行進(jìn)行擴(kuò)展或完善,例如: 1) 添加人員記錄時,考慮各種數(shù)據(jù)的有效性。2)組合查詢功能的實(shí)現(xiàn)。3)可按人員的某些信息進(jìn)行排序。4)對文件的讀寫使用二進(jìn)制信息。2.3 問題的解決方案根據(jù)系統(tǒng)功

9、能要求,可以將問題解決分為以下步驟: 1)應(yīng)用系統(tǒng)分析,建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計;2)分析系統(tǒng)中的各個實(shí)體及它們之間的關(guān)系; 3)根據(jù)問題描述,設(shè)計系統(tǒng)的類層次; 4)完成類層次中各個類的描述; 5)完成類中各個成員函數(shù)的定義; 6)完成系統(tǒng)的應(yīng)用模塊; 7)功能調(diào)試; 8)完成系統(tǒng)總結(jié)報告。第3章 系統(tǒng)設(shè)計3.1 數(shù)據(jù)設(shè)計3.1.1類設(shè)計根據(jù)題目的要求的四類人員,本系統(tǒng)中總共定義了四個了類,teacher類(教師類)、experience類(實(shí)驗(yàn)員類)、govern類(行政人員類)、tego類(教師兼行政人員類)。在四個類中均有num(編號)、name(姓名)、sex(性

10、別)、age(年齡)四個數(shù)據(jù)成員,teacher類中還有xi(系部)、zhuan()專業(yè)、zhi(職稱)三個數(shù)據(jù)成員,experience類中還有addr(所在實(shí)驗(yàn)室)、post(職務(wù))兩個數(shù)據(jù)成員,govern類中還有main(政治面貌)、zhicheng(職稱)兩個數(shù)據(jù)成員,tego類中的數(shù)據(jù)成員是teacher類和govern類的數(shù)據(jù)成員的總和。在每個類中均有是個友元的成員函數(shù):friend void get1()(添加函數(shù));friend void chaxun1()(按編號查詢函數(shù));friend void chaxun11()(按姓名查詢函數(shù));friend void xiansh

11、i1()(信息顯示函數(shù));friend void shanchu1()(按編號刪除函數(shù));friend void shanchu11()(按姓名查詢函數(shù));friend void tongji1()(信息統(tǒng)計函數(shù));friend void bianji1()(信息編輯函數(shù));friend void paixu1()(按編號排序函數(shù));friend void paixu11()(按年齡查詢函數(shù))(四個類中函數(shù)基本形同,不一一列出)。3.1.2類之間的關(guān)系由于四類人員均含有編號、姓名、年齡、性別四種信息,同時教師兼行政人員類含有教師類和行政人員類的共育信息,所以,teacher類是基類,exper

12、ience類和govern類是由teacher類派生,tego類是teacher類和govern類共同派生。3.1.3函數(shù)設(shè)計四個類中都有是個友元的成員函數(shù),main函數(shù)中定義了八個函數(shù)來實(shí)現(xiàn)功能。四分類中的成員函數(shù)基本一樣(以teacher類為例說明)friend void get1()(添加函數(shù));friend void chaxun1()(按編號查詢函數(shù));friend void chaxun11()(按姓名查詢函數(shù));friend void xianshi1()(信息顯示函數(shù));friend void shanchu1()(按編號刪除函數(shù));friend void shanchu11(

13、)(按姓名查詢函數(shù));friend void tongji1()(信息統(tǒng)計函數(shù));friend void bianji1()(信息編輯函數(shù));friend void paixu1()(按編號排序函數(shù));friend void paixu11()(按年齡查詢函數(shù))。main函數(shù)中的函數(shù)為void shuru()(添加功能)、void chaxun()(查詢功能)、void xianshi()(顯示功能)、voidbianji()(編輯功能)、void shanchu()(刪除功能)、void tongji()(統(tǒng)計功能)、void paixu()(排序功能)、void tuichu()(退出功能

14、)。在main函數(shù)中分別調(diào)用各個類中的函數(shù),來實(shí)現(xiàn)對各個類的操作。四個類中分別封裝了對各自類的數(shù)據(jù)成員的操作,具體實(shí)現(xiàn)可以表示如下main函數(shù)-à成員函數(shù)-à數(shù)據(jù)成員。3.2 結(jié)構(gòu)設(shè)計3.2.1 系統(tǒng)流程圖.1人員類如圖 派 生 派 生 派生.2函數(shù)關(guān)系圖:main函數(shù) 調(diào) 用教師類實(shí)驗(yàn)員類行政人員類教師類的成員函數(shù)實(shí)驗(yàn)員類的成員函數(shù)行政人員類的成員函數(shù)教師兼行政人員類的成員函數(shù)main函數(shù)中的功能函數(shù)教師兼行政人員類添加,查詢,編輯,顯示,排序,刪除,統(tǒng)計,退出共八類功能函數(shù)注釋:各類中的成員函數(shù)分別與main函數(shù)的各個功能函數(shù)相對應(yīng)。.3系統(tǒng)使用流程圖:使用界面根據(jù)序號

15、選擇功能使用,繼續(xù)按Y,退出按N 繼續(xù) 使用按N后按 Y繼續(xù)使用繼續(xù)使用退出系統(tǒng)3.2.2 界面設(shè)計使用時的界面如下:圖-1退出時的界面如下:圖-2第4章 系統(tǒng)實(shí)現(xiàn)4.1 類實(shí)現(xiàn)各類均使用友元函數(shù),方便main函數(shù)調(diào)用/教師類class teacherprotected:char xi20;/系部char zhuan20/;專業(yè)char zhi20;/職稱int num;/編號char name20;/姓名char sex20;/性別int age;/年齡public:teacher()/構(gòu)造函數(shù)friend void get1();/添加函數(shù)friend void chaxun1();/編號

16、查詢函數(shù)friend void chaxun11();/姓名查詢函數(shù)friend void xianshi1();/顯示函數(shù)friend void shanchu1();/按編號刪除函數(shù)friend void shanchu11();/按姓名刪除函數(shù)friend void tongji1();/統(tǒng)計函數(shù)friend void bianji1();/編輯函數(shù)friend void paixu1();/排序函數(shù)friend void paixu11();/排序函數(shù);/實(shí)驗(yàn)員類class experience : public teacherprotected:char addr20;/所在實(shí)驗(yàn)室c

17、har post20;/職務(wù)public:experience ()/構(gòu)造函數(shù)friend void get2();/添加函數(shù)friend void chaxun2();/編號查詢函數(shù)friend void chaxun22();/姓名查詢函數(shù)friend void xianshi2();/顯示函數(shù)friend void shanchu2();/按編號刪除函數(shù)friend void shanchu22();/按姓名刪除函數(shù)friend void tongji2();/統(tǒng)計函數(shù)friend void bianji2();/編輯函數(shù)friend void paixu2();/按編號排序函數(shù)frie

18、nd void paixu22();/按年齡排序函數(shù);/行政人員類class govern :public teacherprotected:char main20;/政治面貌char zhicheng20;/職稱public:govern ()friend void get3();/構(gòu)造函數(shù)friend void get3();/添加函數(shù)friend void chaxun3();/編號查詢函數(shù)friend void chaxun33();/姓名查詢函數(shù)friend void xianshi3();/顯示函數(shù)friend void shanchu3();/按編號刪除函數(shù)friend void

19、 shanchu33();/按姓名刪除函數(shù)friend void tongji3();/統(tǒng)計函數(shù)friend void bianji3();/編輯函數(shù)friend void paixu3();/按編號排序函數(shù)friend void paixu33();/按年齡排序函數(shù);/教師兼行政人員類class tego :public govern :public teacherpublic: tego ()/構(gòu)造函數(shù)friend void get4();/添加函數(shù)friend void chaxun4();/編號查詢函數(shù)friend void chaxun44();/姓名查詢函數(shù)friend void

20、xianshi4();/顯示函數(shù)friend void shanchu4();/按編號刪除函數(shù)friend void shanchu44();/按姓名刪除函數(shù)friend void tongji4();/統(tǒng)計函數(shù)friend void bianji4();/編輯函數(shù)friend void paixu4();/按編號排序函數(shù)friend void paixu44();/按年齡排序函數(shù);4.2 函數(shù)實(shí)現(xiàn)一、四個類的成員函數(shù)1、添加函數(shù)friend void get()(主要運(yùn)用循環(huán)對每個數(shù)據(jù)成員的添加)cout<<"請輸入要輸入的教師的人數(shù)"cin>>n

21、;cout<<"教師編號"<<"姓名"<<"性別"<<"年齡"<<"系部"<<"專業(yè)"<<"職稱"<<endl;for(i=aa;i<(n+aa);i+)cout<<"輸入第"<<(i-aa+1)<<"個教師的信息:"yy:cin>>ti.num>>ti.n

22、ame>>ti.sex>>ti.age>>ti.xi>>ti.zhuan>>ti.zhi;for( k=1;k<=i;k+)if(ti.num=ti-k.num)cout<<"教師號"<<(i-k+1)<<"存在,重新添加:"goto yy;if(ti.num=-1)break;for(int kk=0;kk+)if(ti.num<0|ti.age<=0|(strcmp(ti.sex,"m")&(strcmp(ti

23、.sex,"f")cout<<"數(shù)據(jù)有誤,重新輸入"<<endl;cout<<"輸入第"<<(i-aa+1)<<"個教師的信息:"cin>>ti.num>>>>ti.sex>>ti.age>>ti.xi>>ti.zhuan>>ti.zhi;else break;2、查詢函數(shù)friend void chaxun()(以按編號查詢?yōu)槔饕\(yùn)用循環(huán))cout<

24、;<"請輸入要查詢的教師的編號:"cin>>k;for(i=0;i<aa;i+)if(k=ti.num)cout<<"該教師的信息為:"<<endl;cout<<"該教師的編號為:"<<ti.num<<endl;cout<<"該教師的姓名為:"<<<<endl;cout<<"該教師的性別為:"<<ti.sex<<endl;cou

25、t<<"該教師的年齡為:"<<ti.age<<endl;cout<<"該教師的系部為:"<<ti.xi<<endl;cout<<"該教師的專業(yè)為:"<<ti.zhuan<<endl;cout<<"該教師的職稱為:"<<ti.zhi<<endl;q=1;break;3、編輯函數(shù)friend void bianji()(主要運(yùn)用循環(huán)先查找再編輯)cout<<&quo

26、t;請輸入您要編輯的教師的編號:"<<endl;int k,j,ww;cin>>k;for (i=0;i<aa;i+)if(k=ti.num)cout<<"原來教師的信息為:"<<endl;cout<<"教師編號"<<"姓名"<<"性別"<<"年齡"<<"系部"<<"專業(yè)"<<"職稱"<

27、;<endl;cout<<""<<ti.num<<""<<<<""<<ti.sex<<""<<ti.age<<""<<ti.xi<<""<<ti.zhuan<<""<<ti.zhi<<endl;cout<<"請輸入您要修改的信息:&quo

28、t;<<endl;q=1;yy:cin>>ti.num>>>>ti.sex>>ti.age>>ti.xi>>ti.zhuan>>ti.zhi;ww=ti.num;for(j=0;j<i;j+)if(ww=tj.num)cout<<"編號重復(fù),請重新輸入!"<<endl;goto yy;else break;for(j=(i+1);j<aa;j+)if(ww=tj.num) cout<<"編號重復(fù),請重新輸入!

29、"<<endl;goto yy;else break;4、顯示函數(shù)friend void xianshi()(主要運(yùn)用循環(huán)來循環(huán)輸出)cout<<"教師所有信息如下:"<<endl;cout<<"教師編號"<<"姓名"<<"性別"<<"年齡"<<"系部"<<"專業(yè)"<<"職稱"<<endl;for

30、(i=0;i<aa;i+)cout<<""<<ti.num<<""<<<<""<<ti.sex<<""<<ti.age<<""<<ti.xi<<""<<ti.zhuan<<""<<ti.zhi<<endl;5、刪除函數(shù)friend void shanchu()

31、(以編號刪除為例,運(yùn)用循環(huán)來先查找再覆蓋原信息來刪除,查找時與查詢一樣,在此不寫出)for(i=aaa;i<(aa-1);i+)ti.num=ti+1.num;strcpy(,ti+1.name);strcpy(ti.sex,ti+1.sex);ti.age=ti+1.age;strcpy(ti.xi,ti+1.xi);strcpy(ti.zhuan,ti+1.zhuan);strcpy(ti.zhi,ti+1.zhi);6、統(tǒng)計函數(shù)friend void tongji()(利用循環(huán)對人員性別對全局變量自增)for(i=0;i<aa;i+)if (strcmp(ti.

32、sex,"m")=0)a1+;else a2+;cout<<"男女教師總數(shù)為: "<<(a1+a2)<<endl;cout<<"男教師數(shù)為:"<<a1<<""<<"女教師數(shù)為: "<<a2<<endl;cout<<endl;7、排序函數(shù)friend vioid paixu()(主要運(yùn)用起泡法排序,以按編號排序?yàn)槔ゝor(j=0;j<(aa-1);j+)for(i=0;i

33、<(aa-j-1);i+)if(ti.age>ti+1.age)z1=ti.num;ti.num=ti+1.num;ti+1.num=z1;z2=ti.age;ti.age=ti+1.age;ti+1.age=z2;strcpy(z3,ti.sex);strcpy(ti.sex,ti+1.sex);strcpy(ti+1.sex,z3);strcpy(z4,ti.xi);strcpy(ti.xi,ti+1.xi);strcpy(ti+1.xi,z4);strcpy(z5,);strcpy(,ti+1.name);strcpy(ti+1.name,z5);

34、strcpy(z6,ti.zhuan);strcpy(ti.zhuan,ti+1.zhuan);strcpy(ti+1.zhuan,z6);strcpy(z7,ti.zhi);strcpy(ti.zhi,ti+1.zhi);strcpy(ti+1.zhi,z7);二、main函數(shù)中調(diào)用的的功能函數(shù)主要運(yùn)用ifelse語句實(shí)現(xiàn)選擇性的調(diào)用類中的函數(shù),以及goto語句實(shí)現(xiàn)循環(huán)以及switchcase語句實(shí)現(xiàn)選擇性分支。/輸入功能void shuru()cout<<"請選擇您要輸入的人員類型的代號:"<<endl;cout<<"1、教

35、師"<<" "<<"2、實(shí)驗(yàn)員"<<" "<<"3、行政人員"<<" "<<"4、教師兼行政人員"<<endl;int g;cin>>g;switch (g)case 1:get1();break;case 2:get2();break;case 3:get3();break;case 4:get4();break;default: cout<<"無

36、此選項(xiàng)"<<endl;/查詢功能void chaxun()cout<<"請選擇您要查詢的人員類型的代號:"<<endl;cout<<"1、教師"<<" "<<"2、實(shí)驗(yàn)員"<<" "<<"3、行政人員"<<" "<<"4、教師兼行政人員"<<endl;int g;cin>>g;swit

37、ch (g)case 1:cout<<"請選擇查詢方法:1、按編號查詢;2、按姓名查詢!"int gg;cin>>gg;if (gg=1)chaxun1();if (gg=2)chaxun11();break;case 2:cout<<"請選擇查詢方法:1、按編號查詢;2、按姓名查詢!"int gg;cin>>gg;if (gg=1)chaxun2();if (gg=2)chaxun22();break;case 3:cout<<"請選擇查詢方法:1、按編號查詢;2、按姓名查詢!&qu

38、ot;int gg;cin>>gg;if (gg=1)chaxun3();if (gg=2)chaxun33();break;case 4:cout<<"請選擇查詢方法:1、按編號查詢;2、按姓名查詢!"int gg;cin>>gg;if (gg=1)chaxun4();if (gg=2)chaxun44();break;default: cout<<"無此選項(xiàng)"<<endl;/刪除功能void shanchu()cout<<"請選擇您要刪除的人員類型的代號:"&

39、lt;<endl;cout<<"1、教師"<<" "<<"2、實(shí)驗(yàn)員"<<" "<<"3、行政人員"<<" "<<"4、教師兼行政人員"<<endl;int g;cin>>g;witch (g)case 1:cout<<"請選擇刪除方法:1、按編號刪除;2、按姓名刪除!"int gg;cin>>gg;

40、if (gg=1)shanchu1();if (gg=2)shanchu11();break;case 2:cout<<"請選擇刪除方法:1、按編號刪除;2、按姓名刪除!"int gg;cin>>gg;if (gg=1)shanchu2();if (gg=2)shanchu22();break;case 3:cout<<"請選擇刪除方法:1、按編號刪除;2、按姓名刪除!"int gg;cin>>gg;if (gg=1)shanchu3();if (gg=2)shanchu33();break;case 4:

41、cout<<"請選擇刪除方法:1、按編號刪除;2、按姓名刪除!"int gg;cin>>gg;if (gg=1)shanchu4();if (gg=2)shanchu44();break;default: cout<<"無此選項(xiàng)"<<endl;/編輯功能void bianji()cout<<"請選擇您要編輯的人員類型的代號:"<<endl;cout<<"1、教師"<<" "<<"

42、2、實(shí)驗(yàn)員"<<" "<<"3、行政人員"<<" "<<"4、教師兼行政人員"<<endl;int g;cin>>g;switch (g)case 1:bianji1();break;case 2:bianji2();break;case 3:bianji3();break;case 4:bianji4();break;default: cout<<"無此選項(xiàng)"<<endl;/顯示功能voi

43、d xianshi()cout<<"請選擇您要顯示的人員類型的代號:"<<endlcout<<"1、教師"<<" "<<"2、實(shí)驗(yàn)員"<<" "<<"3、行政人員"<<" "<<"4、教師兼行政人員"<<endl;int g;cin>>g;switch (g)case 1:xianshi1();break;

44、case 2:xianshi2();break;case 3:xianshi3();break;case 4:xianshi4();break;default: cout<<"無此選項(xiàng)"<<endl;/排序功能void paixu()cout<<"請選擇您要排序的人員類型的代號:"<<endl;cout<<"1、教師"<<" "<<"2、實(shí)驗(yàn)員"<<" "<<"

45、;3、行政人員"<<" "<<"4、教師兼行政人員"<<endl;int g;cin>>g;switch (g)case 1:cout<<"請選擇排序方法:1、按編號由小到大排序;2、按年齡由小到大排序!"int gg;cin>>gg;if (gg=1)paixu1();if (gg=2)paixu11();break;case 2:cout<<"請選擇排序方法:1、按編號由小到大排序;2、按年齡由小到大排序!"int g

46、g;cin>>gg;if (gg=1)paixu2();if (gg=2)paixu22();break;case 3:cout<<"請選擇排序方法:1、按編號由小到大排序;2、按年齡由小到大排序!"int gg;cin>>gg;if (gg=1)paixu3();if (gg=2)paixu33();break;case 4:cout<<"請選擇排序方法:1、按編號由小到大排序;2、按年齡由小到大排序!"int gg;cin>>gg;if (gg=1)paixu4();if (gg=2)pai

47、xu44();break;default: cout<<"無此選項(xiàng)"<<endl;/統(tǒng)計功能void tongji()cout<<"請選擇您要統(tǒng)計的人員類型的代號:"<<endl;cout<<"1、教師"<<" "<<"2、實(shí)驗(yàn)員"<<" "<<"3、行政人員"<<" "<<"4、教師兼行政人員&

48、quot;<<" "<<"5、四類人員總數(shù)"<<endl;int g;cin>>g;switch (g)case 1:cout<<"統(tǒng)計結(jié)果如下:"<<endl;tongji1();break;case 2:cout<<"統(tǒng)計結(jié)果如下:"<<endl;tongji2();break;case 3:cout<<"統(tǒng)計結(jié)果如下:"<<endl;tongji3();break;cas

49、e 4:cout<<"統(tǒng)計結(jié)果如下:"<<endl;cout<<"統(tǒng)計結(jié)果如下:"<<endl;tongji4();break;case 5:cout<<"統(tǒng)計結(jié)果如下:"<<endl;cout<<"四類人員的總數(shù)為:"<<(a1+a2+b1+b2+c1+c2+d1+d2)<<endl;cout<<"四類人員中男職工總數(shù)為: "<<(a1+b1+c1+d1)<

50、<endl;cout<<"四類人員中男職工總數(shù)為: "<<(a2+b2+c2+d2)<<endl;break;default: cout<<"無此選項(xiàng)"<<endl;/退出功能void tuichu()cout<<"*"<<endl;cout<<" * *"<<endl;cout<<" * 謝謝本次使用,歡迎您下次使用!"<<endl;cout<<

51、" * *"<<endl;cout<<" * 北華航天工業(yè)學(xué)院 *"<<endl;cout<<"*"<<endl;cout<<endl;4.3 主函數(shù)實(shí)現(xiàn)在main函數(shù)中,首先對登錄的界面進(jìn)行了設(shè)定,其次運(yùn)用switchelse分支語句進(jìn)行選擇性的分支調(diào)用各個功能函數(shù)以實(shí)現(xiàn)各個功能,同時運(yùn)用了goto語句來實(shí)現(xiàn)每一個功能實(shí)現(xiàn)后都可以見到界面。int main()cout<<" *"<<endl;cout<<&

52、quot; * *"<<endl;cout<<" * 【歡迎使用北華航天工業(yè)學(xué)院人員信息查詢系統(tǒng)】 *"<<endl;cout<<" * *"<<endl;cout<<" *"<<endl;y:cout<<endl;cout<<" 該系統(tǒng)的的功能有:"<<endl;cout<<endl;cout<<" *"<<endl;cout&l

53、t;<" * 1、信息添加功能"<< " "<<" 2、信息查詢功能 *"<<endl;cout<<" * *"<<endl;cout<<" * 3、信息顯示功能"<<" "<<" 4、信息編輯功能 *"<<endl;cout<<" * *"<<endl;cout<<" * 5、

54、信息刪除功能"<<" "<<" 6、信息統(tǒng)計功能 *"<<endl;cout<<" * *"<<endl;cout<<" * 7、信息排序功能"<<" "<<" 8、退 出 *"<<endl; cout<<" *"<<endl;cout<<"請輸入您需要的功能代號: "int m;ci

55、n>>m;if (m=1)y1:shuru();string f1;cout<<"是否繼續(xù)此功能,是請按Y,否請按N!"cin>>f1;if(f1="N")goto y;else goto y1;if(m=2)y2:chaxun();string f2;cout<<"是否繼續(xù)此功能,是請按Y,否請按N!"cin>>f2;if(f2="N")goto y;else goto y2;if(m=3)y3:xianshi();string f3;cout<&

56、lt;"是否繼續(xù)此功能,是請按Y,否請按N!"cin>>f3;if(f3="N")goto y;else goto y3;if(m=4)y4:bianji();cout<<"是否繼續(xù)此功能,是請按Y,否請按N!"string f4;cin>>f4;if(f4="N")goto y;else goto y4;if(m=5)y5:shanchu();string f5;cout<<"是否繼續(xù)此功能,是請按Y,否請按N!"cin>>f5;if

57、(f5="N")goto y;else goto y5;if(m=6)y6:tongji();string f6;cout<<"是否繼續(xù)此功能,是請按Y,否請按N!"cin>>f6;if(f6="N")goto y;else goto y6;if(m=7)y7:paixu();string f7;cout<<"是否繼續(xù)此功能,是請按Y,否請按N!"cin>>f7;if(f7="N")goto y;else goto y7;if(m=8)tuichu

58、();return 0;第5章 系統(tǒng)測試5.1 模塊測試1、系統(tǒng)第一次使用時的界面,主要運(yùn)用cout輸出語句,并對對輸出內(nèi)容進(jìn)行了排版來實(shí)現(xiàn)。是登錄是美觀!圖5.1-12、這是每一個功能使用完之后,都會自動的跳回這個界面。主要在main函數(shù)中運(yùn)用了goto循環(huán)語句來實(shí)現(xiàn)。圖5.1-23、輸入功能的使用界面,在使用的時候選擇輸入人員的類別,同時輸入要輸入的人數(shù),當(dāng)輸入重復(fù)的編號的時候,提示重復(fù),當(dāng)輸入年齡小于0或性別不規(guī)范時,提示錯誤,重新輸入。主要運(yùn)用for循環(huán)和goto尋循環(huán)實(shí)現(xiàn)。退出后返回主界面。圖5.1-34、顯示功能使用界面,主要運(yùn)用for循環(huán)。退出后返回主界面。圖5.1-45、統(tǒng)計功

59、能使用,主要運(yùn)用for循環(huán)和全局變量。退出后返回主界面。圖5.1-56、(上面兩個圖為排序,兩種排序方法,主要運(yùn)用了起泡法排序,退出后返回主界面。)圖5.1-6 圖5.1-77、下圖是查詢功能使用,兩種查詢方法,運(yùn)用for循環(huán)實(shí)現(xiàn),退出后返回主界面。圖5.1-88、(上面兩個圖為編輯功能圖,編輯后顯示信息,編輯實(shí)現(xiàn),退出后返回主界面。)圖5.1-9 圖5.1-109、刪除功能,刪除后又顯示信息,發(fā)現(xiàn)已刪除。退出后返回主界面。圖5.1-11圖5.1-1210、退出功能,程序結(jié)束。圖5.1-135.2 課程設(shè)計過程中遇到的問題在本次課設(shè)過程中,我遇到的問題以及解決方法如下:1、二進(jìn)制存儲數(shù)據(jù)的時候

60、無法計算已存對象的個數(shù)。通過老師的講解和課下自己看書,以解決上述問題。2、存儲字符類型的數(shù)據(jù)的時候,無法在文件中讀出。通過老師的講解和課下與同學(xué)的討論,將字符型數(shù)據(jù)由string定義改為char定義,解決上述問題。3、在程序編譯的時候總是編譯不過去,出現(xiàn)系統(tǒng)的錯誤。通過向老師請教,問題出在了自己定義的變量過多,是編譯器分配的空間不足,通過老師的講解,問題已解決??偨Y(jié)本次課設(shè)共計用時九天,本系統(tǒng)總體上對題目要求的基本功能都已實(shí)現(xiàn),同時拓展了排序,信息等數(shù)據(jù)要求有效的功能,同時排序,刪除,查詢?nèi)N功能都包含兩種方法。在可是期間出現(xiàn)的錯誤,經(jīng)過老師的細(xì)心和耐心的幫助,已經(jīng)解決,但是同時因?yàn)樽约旱哪芰?/p>

61、有限,不能繼續(xù)拓展更大的功能。排序,退出,添加,顯示,編輯這幾個功能應(yīng)該比較完善,特別添加可以對任意的信息添加,同時避免了重復(fù)和數(shù)據(jù)的有效性問題。排序,顯示兩種功能都可以正常的運(yùn)行,同時輸出正確的結(jié)果。統(tǒng)計同時可以統(tǒng)計所有的人員的信息,但是,一直都是按性別進(jìn)行統(tǒng)計的,由于時間有限,沒有完成按年齡段等統(tǒng)計。刪除的時候也只是一個個的刪除,沒有實(shí)現(xiàn)多個刪除。這是遺憾。查詢也是沒有實(shí)現(xiàn)多個查詢。這次課設(shè)最大的缺點(diǎn)就是代碼過長,同時變量使用過多,造成編譯器分配的內(nèi)存不足,同時使用靜態(tài)的數(shù)組,造成內(nèi)存空間浪費(fèi),應(yīng)該為動態(tài)的數(shù)組!致 謝課設(shè)期間,僅僅憑借自己一個人的力量是不夠的,在本次課設(shè)過程中,老師給了我

62、很大的幫助,特別是在自己根本不知道哪里存在問題的時候,老師伸出了援助之手,在此我向老師表示深深的感謝!同時,同學(xué)的一些提醒,是自己的思路更加的寬廣,在此也向同學(xué)表示感謝!最后,我再次對老師和同學(xué)的幫助表示深深的感謝!參考文獻(xiàn)1C+面向?qū)ο蟪绦蛟O(shè)計,譚浩強(qiáng)編著,清華大學(xué)出版社;2C+大學(xué)教程(第二版),Paul James Deitel著,邱仲藩等譯,北京電子工業(yè)出版社。3C+程序設(shè)計(第三版),Jack W.Davidson著,劉瑞挺等譯,北京電子工業(yè)出版社。4C程序設(shè)計(第三版),譚浩強(qiáng)著,清華大學(xué)出版社。5C/C+程序設(shè)計,Decoder著,北京:中國鐵道出版社。6C+語言命令詳解(第二版),Brian Overland著,董梁等譯,北京電子工業(yè)出版社。7C/C+程序設(shè)計大全,P.J.Deitel著,薛萬鵬等譯,北京機(jī)械工業(yè)出版社。8標(biāo)準(zhǔn)

溫馨提示

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

最新文檔

評論

0/150

提交評論