




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要C+作為一種面向的程序設計語言,在現在的計算機領域上,應用的很廣泛,市場對熟練掌握C+語言的人才需求量也在日益的增加。作為一種軟件開發的計算機語言,C+擁有簡單方便的特點,同時具有信息隱蔽的特點,可以根據自己的意愿對自己設計的信息進行封裝,是信息安全。在軟件的維護方面,是面向對象進行維護,可以使信息的修改,系統的大體模塊清新,使用方便。所以在全國的各個高校,都在開設C+這門課程,可見在計算機方面C+具有很高的地位!本次課設意在培養C+在軟件的開發方面的意識,為以后更多的計算機語言的學習做好基礎!當前各高校對職工的需求量更大,高校要想對高效的各類職員的信息進行管理,就必須要擁有一個完善的人
2、員信息管理系統,以實現人員信息的方便查找等功能,方便了人與哪的流通等。這次課設的題目正在嘗試的解決這個問題。關鍵詞:系統設計 類 信息 信息存儲圖 數據成員成員函數 查改排序目 錄摘要1目錄1第1章緒論11.1 課程設計的目的11.2 課程設計的背景和意義1課程設計的背景11.2.2 課程設計的意義21.3 課程設計環境2第2章需求分析32.1 問題描述32.2 功能要求32.3 問題的解決方案3第3章系統設計43.1 數據設計43.1.1 類設計43.1.2 類之間的關系43.1.3 函數設計53.2 結構設計53.2.1 系統流程圖53.2.2 界面設計6第4章系統實現74.1 類實現74
3、.2 函數實現104.3 主函數實現17第5章系統測試205.1 模塊測試205.2 課程設計過程中遇到的問題25總結25致謝26參考文獻28附錄29第1章 緒論1.1 課程設計的目的1、鞏固所學的C以及C+知識,以達到熟練掌握語法以及編程規范的目的。2、將所學的編程語言與實際問題結合起來,達到學為所用的母的。3、提高獨立思考問題的目的,通過對所給問題的分析,來提高分析解決問題的目的。1.2 課程設計的背景和意義1.2.1課程設計的背景1.理論研究基礎(1)類代表了某一批對象的共性和特征,類是對象的抽象,而對象是類的一個實例。(2)友元成員函數可以引用類中的所有成員。(3)派生類可以繼承基類的
4、所有公用的數據成員,當繼承方式是protected方式的時候,派生類可以繼承積累中的protected類型的成員,但是不可以繼承積累的私有的成員。(4)運用seekg和tellp函數可以計算已知文件的存儲的對象的個數。以二進制的方式進行數據的存儲的時候便于運用指針進行對數據的操作。(5)運用冒泡法對數據進行排序可以實現對數據按由小到大或者由大到小的方式進行排序。(6)當類的成員函數定義成為友元函數的時候,在main函數中可以直接調用,不需要和一般的成員函數一樣需要用對象調用。(7)運用goto進行循環的時候,可以使程序根據自己的意愿進行循環的使用。(8)運用工程的方式進行程序的運行的時候,可以
5、對每個類進行以頭文件的形式存儲,再添加到工程中,可以使程序的main函數清晰。(9)在程序的開頭設置了全局的變量,可以在程序中運用并可以在程序中輸出。2.技術層面的支持(1)、經過一年來對Microsoft Visual C+ 6.0軟件的使用,在此環境下的兼容了C與C+的語法,可以運用此軟件進行C+程序的編寫,同時運行。此編譯器對數據的內存空間的開辟不能滿足自己需要的空間的時候,可以在工程的參數中進行適當的修改。(2)、在Microsoft Visual C+ 6.0的環境下,編譯器提供的變量的存儲空間有限,但是在工程的設置中,改變參數可以使程序正常的運行。課程設計的意義通過本次課設來檢驗對
6、所學的編程語言的掌握情況,從而使我們對所學習的知識的掌握,同時提高了自己對問題的分析能力,可以從一個題目中來發掘未知的問題以及功能,提高了做事謹慎的能力,同時也規范了自己的編程規范。1.3 課程設計環境軟件環境:在Windows XP系統中, Visual C+ 6.0環境下運行。硬件環境:圖書館五樓計算機系軟件一或軟三實驗室。第2章 需求分析2.1 問題描述某高校有四類員工:教師、實驗員、行政人員,教師兼行政人員;共有的信息包括:編號、姓名、性別、年齡等。其中,教師還包含的信息有:所在系部、專業、職稱;實驗員還包含的信息由:所在實驗室、職務;行政人員還包含的信息有:政治面貌、職稱等。2.2
7、功能要求(1)基本功能1) 添加功能:程序能夠任意添加上述四類人員的記錄,可提供選擇界面供用戶選擇所要添加的人員類別,要求員工的編號要唯一,如果添加了重復編號的記錄時,則提示數據添加重復并取消添加。2) 查詢功能:可根據編號、姓名等信息對已添加的記錄進行查詢,如果未找到,給出相應的提示信息,如果找到,則顯示相應的記錄信息。3) 顯示功能:可顯示當前系統中所有記錄,每條記錄占據一行。4) 編輯功能:可根據查詢結果對相應的記錄進行修改,修改時注意編號的唯一性。5)刪除功能:主要實現對已添加的人員記錄進行刪除。如果當前系統中沒有相應的人員記錄,則提示“記錄為空!”并返回操作;否則,輸入要刪除的人員的
8、編號或姓名,根據所輸入的信息刪除該人員記錄,如果沒有找到該人員信息,則提示相應的記錄不存。6) 統計功能:能根據多種參數進行人員的統計。例如,統計四類人員數量以及總數,或者統計男、女員工的數量,或者統計某年齡段人員的數量等。7)保存功能:可將當前系統中各類人員記錄存入文件中,存入方式任意。8)讀取功能:可將保存在文件中的人員信息讀入到當前系統中,供用戶進行使用。(2)擴展功能在完成以上基本功能的基礎上,可自行進行擴展或完善,例如: 1) 添加人員記錄時,考慮各種數據的有效性。2)組合查詢功能的實現。3)可按人員的某些信息進行排序。4)對文件的讀寫使用二進制信息。2.3 問題的解決方案根據系統功
9、能要求,可以將問題解決分為以下步驟: 1)應用系統分析,建立該系統的功能模塊框圖以及界面的組織和設計;2)分析系統中的各個實體及它們之間的關系; 3)根據問題描述,設計系統的類層次; 4)完成類層次中各個類的描述; 5)完成類中各個成員函數的定義; 6)完成系統的應用模塊; 7)功能調試; 8)完成系統總結報告。第3章 系統設計3.1 數據設計3.1.1類設計根據題目的要求的四類人員,本系統中總共定義了四個了類,teacher類(教師類)、experience類(實驗員類)、govern類(行政人員類)、tego類(教師兼行政人員類)。在四個類中均有num(編號)、name(姓名)、sex(性
10、別)、age(年齡)四個數據成員,teacher類中還有xi(系部)、zhuan()專業、zhi(職稱)三個數據成員,experience類中還有addr(所在實驗室)、post(職務)兩個數據成員,govern類中還有main(政治面貌)、zhicheng(職稱)兩個數據成員,tego類中的數據成員是teacher類和govern類的數據成員的總和。在每個類中均有是個友元的成員函數:friend void get1()(添加函數);friend void chaxun1()(按編號查詢函數);friend void chaxun11()(按姓名查詢函數);friend void xiansh
11、i1()(信息顯示函數);friend void shanchu1()(按編號刪除函數);friend void shanchu11()(按姓名查詢函數);friend void tongji1()(信息統計函數);friend void bianji1()(信息編輯函數);friend void paixu1()(按編號排序函數);friend void paixu11()(按年齡查詢函數)(四個類中函數基本形同,不一一列出)。3.1.2類之間的關系由于四類人員均含有編號、姓名、年齡、性別四種信息,同時教師兼行政人員類含有教師類和行政人員類的共育信息,所以,teacher類是基類,exper
12、ience類和govern類是由teacher類派生,tego類是teacher類和govern類共同派生。3.1.3函數設計四個類中都有是個友元的成員函數,main函數中定義了八個函數來實現功能。四分類中的成員函數基本一樣(以teacher類為例說明)friend void get1()(添加函數);friend void chaxun1()(按編號查詢函數);friend void chaxun11()(按姓名查詢函數);friend void xianshi1()(信息顯示函數);friend void shanchu1()(按編號刪除函數);friend void shanchu11(
13、)(按姓名查詢函數);friend void tongji1()(信息統計函數);friend void bianji1()(信息編輯函數);friend void paixu1()(按編號排序函數);friend void paixu11()(按年齡查詢函數)。main函數中的函數為void shuru()(添加功能)、void chaxun()(查詢功能)、void xianshi()(顯示功能)、voidbianji()(編輯功能)、void shanchu()(刪除功能)、void tongji()(統計功能)、void paixu()(排序功能)、void tuichu()(退出功能
14、)。在main函數中分別調用各個類中的函數,來實現對各個類的操作。四個類中分別封裝了對各自類的數據成員的操作,具體實現可以表示如下main函數-à成員函數-à數據成員。3.2 結構設計3.2.1 系統流程圖.1人員類如圖 派 生 派 生 派生.2函數關系圖:main函數 調 用教師類實驗員類行政人員類教師類的成員函數實驗員類的成員函數行政人員類的成員函數教師兼行政人員類的成員函數main函數中的功能函數教師兼行政人員類添加,查詢,編輯,顯示,排序,刪除,統計,退出共八類功能函數注釋:各類中的成員函數分別與main函數的各個功能函數相對應。.3系統使用流程圖:使用界面根據序號
15、選擇功能使用,繼續按Y,退出按N 繼續 使用按N后按 Y繼續使用繼續使用退出系統3.2.2 界面設計使用時的界面如下:圖-1退出時的界面如下:圖-2第4章 系統實現4.1 類實現各類均使用友元函數,方便main函數調用/教師類class teacherprotected:char xi20;/系部char zhuan20/;專業char zhi20;/職稱int num;/編號char name20;/姓名char sex20;/性別int age;/年齡public:teacher()/構造函數friend void get1();/添加函數friend void chaxun1();/編號
16、查詢函數friend void chaxun11();/姓名查詢函數friend void xianshi1();/顯示函數friend void shanchu1();/按編號刪除函數friend void shanchu11();/按姓名刪除函數friend void tongji1();/統計函數friend void bianji1();/編輯函數friend void paixu1();/排序函數friend void paixu11();/排序函數;/實驗員類class experience : public teacherprotected:char addr20;/所在實驗室c
17、har post20;/職務public:experience ()/構造函數friend void get2();/添加函數friend void chaxun2();/編號查詢函數friend void chaxun22();/姓名查詢函數friend void xianshi2();/顯示函數friend void shanchu2();/按編號刪除函數friend void shanchu22();/按姓名刪除函數friend void tongji2();/統計函數friend void bianji2();/編輯函數friend void paixu2();/按編號排序函數frie
18、nd void paixu22();/按年齡排序函數;/行政人員類class govern :public teacherprotected:char main20;/政治面貌char zhicheng20;/職稱public:govern ()friend void get3();/構造函數friend void get3();/添加函數friend void chaxun3();/編號查詢函數friend void chaxun33();/姓名查詢函數friend void xianshi3();/顯示函數friend void shanchu3();/按編號刪除函數friend void
19、 shanchu33();/按姓名刪除函數friend void tongji3();/統計函數friend void bianji3();/編輯函數friend void paixu3();/按編號排序函數friend void paixu33();/按年齡排序函數;/教師兼行政人員類class tego :public govern :public teacherpublic: tego ()/構造函數friend void get4();/添加函數friend void chaxun4();/編號查詢函數friend void chaxun44();/姓名查詢函數friend void
20、xianshi4();/顯示函數friend void shanchu4();/按編號刪除函數friend void shanchu44();/按姓名刪除函數friend void tongji4();/統計函數friend void bianji4();/編輯函數friend void paixu4();/按編號排序函數friend void paixu44();/按年齡排序函數;4.2 函數實現一、四個類的成員函數1、添加函數friend void get()(主要運用循環對每個數據成員的添加)cout<<"請輸入要輸入的教師的人數"cin>>n
21、;cout<<"教師編號"<<"姓名"<<"性別"<<"年齡"<<"系部"<<"專業"<<"職稱"<<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<<"數據有誤,重新輸入"<<endl;cout<<"輸入第"<<(i-aa+1)<<"個教師的信息:"cin>>ti.num>>>>ti.sex>>ti.age>>ti.xi>>ti.zhuan>>ti.zhi;else break;2、查詢函數friend void chaxun()(以按編號查詢為例,主要運用循環)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<<"該教師的專業為:"<<ti.zhuan<<endl;cout<<"該教師的職稱為:"<<ti.zhi<<endl;q=1;break;3、編輯函數friend void bianji()(主要運用循環先查找再編輯)cout<<&quo
26、t;請輸入您要編輯的教師的編號:"<<endl;int k,j,ww;cin>>k;for (i=0;i<aa;i+)if(k=ti.num)cout<<"原來教師的信息為:"<<endl;cout<<"教師編號"<<"姓名"<<"性別"<<"年齡"<<"系部"<<"專業"<<"職稱"<
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<<"編號重復,請重新輸入!"<<endl;goto yy;else break;for(j=(i+1);j<aa;j+)if(ww=tj.num) cout<<"編號重復,請重新輸入!
29、"<<endl;goto yy;else break;4、顯示函數friend void xianshi()(主要運用循環來循環輸出)cout<<"教師所有信息如下:"<<endl;cout<<"教師編號"<<"姓名"<<"性別"<<"年齡"<<"系部"<<"專業"<<"職稱"<<endl;for
30、(i=0;i<aa;i+)cout<<""<<ti.num<<""<<<<""<<ti.sex<<""<<ti.age<<""<<ti.xi<<""<<ti.zhuan<<""<<ti.zhi<<endl;5、刪除函數friend void shanchu()
31、(以編號刪除為例,運用循環來先查找再覆蓋原信息來刪除,查找時與查詢一樣,在此不寫出)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、統計函數friend void tongji()(利用循環對人員性別對全局變量自增)for(i=0;i<aa;i+)if (strcmp(ti.
32、sex,"m")=0)a1+;else a2+;cout<<"男女教師總數為: "<<(a1+a2)<<endl;cout<<"男教師數為:"<<a1<<""<<"女教師數為: "<<a2<<endl;cout<<endl;7、排序函數friend vioid paixu()(主要運用起泡法排序,以按編號排序為例)for(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函數中調用的的功能函數主要運用ifelse語句實現選擇性的調用類中的函數,以及goto語句實現循環以及switchcase語句實現選擇性分支。/輸入功能void shuru()cout<<"請選擇您要輸入的人員類型的代號:"<<endl;cout<<"1、教
35、師"<<" "<<"2、實驗員"<<" "<<"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、此選項"<<endl;/查詢功能void chaxun()cout<<"請選擇您要查詢的人員類型的代號:"<<endl;cout<<"1、教師"<<" "<<"2、實驗員"<<" "<<"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<<"無此選項"<<endl;/刪除功能void shanchu()cout<<"請選擇您要刪除的人員類型的代號:"&
39、lt;<endl;cout<<"1、教師"<<" "<<"2、實驗員"<<" "<<"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<<"無此選項"<<endl;/編輯功能void bianji()cout<<"請選擇您要編輯的人員類型的代號:"<<endl;cout<<"1、教師"<<" "<<"
42、2、實驗員"<<" "<<"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<<"無此選項"<<endl;/顯示功能voi
43、d xianshi()cout<<"請選擇您要顯示的人員類型的代號:"<<endlcout<<"1、教師"<<" "<<"2、實驗員"<<" "<<"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<<"無此選項"<<endl;/排序功能void paixu()cout<<"請選擇您要排序的人員類型的代號:"<<endl;cout<<"1、教師"<<" "<<"2、實驗員"<<" "<<"
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<<"無此選項"<<endl;/統計功能void tongji()cout<<"請選擇您要統計的人員類型的代號:"<<endl;cout<<"1、教師"<<" "<<"2、實驗員"<<" "<<"3、行政人員"<<" "<<"4、教師兼行政人員&
48、quot;<<" "<<"5、四類人員總數"<<endl;int g;cin>>g;switch (g)case 1:cout<<"統計結果如下:"<<endl;tongji1();break;case 2:cout<<"統計結果如下:"<<endl;tongji2();break;case 3:cout<<"統計結果如下:"<<endl;tongji3();break;cas
49、e 4:cout<<"統計結果如下:"<<endl;cout<<"統計結果如下:"<<endl;tongji4();break;case 5:cout<<"統計結果如下:"<<endl;cout<<"四類人員的總數為:"<<(a1+a2+b1+b2+c1+c2+d1+d2)<<endl;cout<<"四類人員中男職工總數為: "<<(a1+b1+c1+d1)<
50、<endl;cout<<"四類人員中男職工總數為: "<<(a2+b2+c2+d2)<<endl;break;default: cout<<"無此選項"<<endl;/退出功能void tuichu()cout<<"*"<<endl;cout<<" * *"<<endl;cout<<" * 謝謝本次使用,歡迎您下次使用!"<<endl;cout<<
51、" * *"<<endl;cout<<" * 北華航天工業學院 *"<<endl;cout<<"*"<<endl;cout<<endl;4.3 主函數實現在main函數中,首先對登錄的界面進行了設定,其次運用switchelse分支語句進行選擇性的分支調用各個功能函數以實現各個功能,同時運用了goto語句來實現每一個功能實現后都可以見到界面。int main()cout<<" *"<<endl;cout<<&
52、quot; * *"<<endl;cout<<" * 【歡迎使用北華航天工業學院人員信息查詢系統】 *"<<endl;cout<<" * *"<<endl;cout<<" *"<<endl;y:cout<<endl;cout<<" 該系統的的功能有:"<<endl;cout<<endl;cout<<" *"<<endl;cout&l
53、t;<" * 1、信息添加功能"<< " "<<" 2、信息查詢功能 *"<<endl;cout<<" * *"<<endl;cout<<" * 3、信息顯示功能"<<" "<<" 4、信息編輯功能 *"<<endl;cout<<" * *"<<endl;cout<<" * 5、
54、信息刪除功能"<<" "<<" 6、信息統計功能 *"<<endl;cout<<" * *"<<endl;cout<<" * 7、信息排序功能"<<" "<<" 8、退 出 *"<<endl; cout<<" *"<<endl;cout<<"請輸入您需要的功能代號: "int m;ci
55、n>>m;if (m=1)y1:shuru();string f1;cout<<"是否繼續此功能,是請按Y,否請按N!"cin>>f1;if(f1="N")goto y;else goto y1;if(m=2)y2:chaxun();string f2;cout<<"是否繼續此功能,是請按Y,否請按N!"cin>>f2;if(f2="N")goto y;else goto y2;if(m=3)y3:xianshi();string f3;cout<&
56、lt;"是否繼續此功能,是請按Y,否請按N!"cin>>f3;if(f3="N")goto y;else goto y3;if(m=4)y4:bianji();cout<<"是否繼續此功能,是請按Y,否請按N!"string f4;cin>>f4;if(f4="N")goto y;else goto y4;if(m=5)y5:shanchu();string f5;cout<<"是否繼續此功能,是請按Y,否請按N!"cin>>f5;if
57、(f5="N")goto y;else goto y5;if(m=6)y6:tongji();string f6;cout<<"是否繼續此功能,是請按Y,否請按N!"cin>>f6;if(f6="N")goto y;else goto y6;if(m=7)y7:paixu();string f7;cout<<"是否繼續此功能,是請按Y,否請按N!"cin>>f7;if(f7="N")goto y;else goto y7;if(m=8)tuichu
58、();return 0;第5章 系統測試5.1 模塊測試1、系統第一次使用時的界面,主要運用cout輸出語句,并對對輸出內容進行了排版來實現。是登錄是美觀!圖5.1-12、這是每一個功能使用完之后,都會自動的跳回這個界面。主要在main函數中運用了goto循環語句來實現。圖5.1-23、輸入功能的使用界面,在使用的時候選擇輸入人員的類別,同時輸入要輸入的人數,當輸入重復的編號的時候,提示重復,當輸入年齡小于0或性別不規范時,提示錯誤,重新輸入。主要運用for循環和goto尋循環實現。退出后返回主界面。圖5.1-34、顯示功能使用界面,主要運用for循環。退出后返回主界面。圖5.1-45、統計功
59、能使用,主要運用for循環和全局變量。退出后返回主界面。圖5.1-56、(上面兩個圖為排序,兩種排序方法,主要運用了起泡法排序,退出后返回主界面。)圖5.1-6 圖5.1-77、下圖是查詢功能使用,兩種查詢方法,運用for循環實現,退出后返回主界面。圖5.1-88、(上面兩個圖為編輯功能圖,編輯后顯示信息,編輯實現,退出后返回主界面。)圖5.1-9 圖5.1-109、刪除功能,刪除后又顯示信息,發現已刪除。退出后返回主界面。圖5.1-11圖5.1-1210、退出功能,程序結束。圖5.1-135.2 課程設計過程中遇到的問題在本次課設過程中,我遇到的問題以及解決方法如下:1、二進制存儲數據的時候
60、無法計算已存對象的個數。通過老師的講解和課下自己看書,以解決上述問題。2、存儲字符類型的數據的時候,無法在文件中讀出。通過老師的講解和課下與同學的討論,將字符型數據由string定義改為char定義,解決上述問題。3、在程序編譯的時候總是編譯不過去,出現系統的錯誤。通過向老師請教,問題出在了自己定義的變量過多,是編譯器分配的空間不足,通過老師的講解,問題已解決。總結本次課設共計用時九天,本系統總體上對題目要求的基本功能都已實現,同時拓展了排序,信息等數據要求有效的功能,同時排序,刪除,查詢三種功能都包含兩種方法。在可是期間出現的錯誤,經過老師的細心和耐心的幫助,已經解決,但是同時因為自己的能力
61、有限,不能繼續拓展更大的功能。排序,退出,添加,顯示,編輯這幾個功能應該比較完善,特別添加可以對任意的信息添加,同時避免了重復和數據的有效性問題。排序,顯示兩種功能都可以正常的運行,同時輸出正確的結果。統計同時可以統計所有的人員的信息,但是,一直都是按性別進行統計的,由于時間有限,沒有完成按年齡段等統計。刪除的時候也只是一個個的刪除,沒有實現多個刪除。這是遺憾。查詢也是沒有實現多個查詢。這次課設最大的缺點就是代碼過長,同時變量使用過多,造成編譯器分配的內存不足,同時使用靜態的數組,造成內存空間浪費,應該為動態的數組!致 謝課設期間,僅僅憑借自己一個人的力量是不夠的,在本次課設過程中,老師給了我
62、很大的幫助,特別是在自己根本不知道哪里存在問題的時候,老師伸出了援助之手,在此我向老師表示深深的感謝!同時,同學的一些提醒,是自己的思路更加的寬廣,在此也向同學表示感謝!最后,我再次對老師和同學的幫助表示深深的感謝!參考文獻1C+面向對象程序設計,譚浩強編著,清華大學出版社;2C+大學教程(第二版),Paul James Deitel著,邱仲藩等譯,北京電子工業出版社。3C+程序設計(第三版),Jack W.Davidson著,劉瑞挺等譯,北京電子工業出版社。4C程序設計(第三版),譚浩強著,清華大學出版社。5C/C+程序設計,Decoder著,北京:中國鐵道出版社。6C+語言命令詳解(第二版),Brian Overland著,董梁等譯,北京電子工業出版社。7C/C+程序設計大全,P.J.Deitel著,薛萬鵬等譯,北京機械工業出版社。8標準
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 園林亮化施工方案范本
- 石家莊地面防腐施工方案
- 寧夏職業技術學院《歐美文學史AⅡ》2023-2024學年第二學期期末試卷
- 江西科技職業學院《藥用植物與生藥學》2023-2024學年第二學期期末試卷
- 浙江音樂學院《水利工程概預算》2023-2024學年第二學期期末試卷
- 南京工業職業技術大學《化工制圖與AutoCAD》2023-2024學年第二學期期末試卷
- 漳州職業技術學院《PLC與電氣控制》2023-2024學年第二學期期末試卷
- 2025至2031年中國毛刷膠輥行業投資前景及策略咨詢研究報告
- 內蒙古工業大學《電子商務雙語》2023-2024學年第二學期期末試卷
- 城鎮道路基礎施工方案
- 2024-2030年中國床墊市場運行現狀及投資發展前景預測報告
- 漁業生態環境保護國際合作-洞察分析
- 五年級全冊心理健康教育課件
- 鐵路反恐防暴安全知識
- 民用爆炸物品的安全管理
- 血液標本采集(靜脈采血)
- 中建室內電梯安裝專項方案
- 水利水電建筑工程基礎知識單選題100道及答案解析
- 手工考勤記錄表
- 浙江省溫州新力量聯盟2025屆高考英語二模試卷含解析
- TCUWA40055-2023排水管道工程自密實回填材料應用技術規程
評論
0/150
提交評論