C教師信息管理系統(tǒng)_第1頁
C教師信息管理系統(tǒng)_第2頁
C教師信息管理系統(tǒng)_第3頁
C教師信息管理系統(tǒng)_第4頁
C教師信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、課程設(shè)計問題描述學(xué)院教學(xué)信息管理系統(tǒng)是高等學(xué)校教務(wù)管理的重要組成部分,其內(nèi)容 較多,為了簡化計論,要求設(shè)計的管理系統(tǒng)能夠完成以下功能:(1)輸入:輸入每一位教師記錄,將其信息寫入文件中;(2)顯示:顯示每位教師記錄;(3)排序:按職工號或教學(xué)效果綜合評分進(jìn)行排序,并顯示;(4)查找:完成按姓名或課程查找教師的相關(guān)記錄,并顯示;(5)創(chuàng)建:創(chuàng)建新的紀(jì)錄,輸入數(shù)位教師記錄,顯示在屏幕上并保存;二、課程設(shè)計目的和要求:經(jīng)過一個學(xué)期的C+面向?qū)ο髮嵱媒坛陶n程的學(xué)習(xí),已經(jīng)有了一定 地程序設(shè)計基礎(chǔ),但是要學(xué)好C+程序設(shè)計,不僅要認(rèn)真閱讀課本知識和 從事課堂學(xué)習(xí),更重要的是要進(jìn)行上機實踐,通過上機實踐才

2、能增強和鞏 固知識。三、系統(tǒng)設(shè)計(算法分析)1、整體結(jié)構(gòu)整個程序定義四個類(1)CPerson類:包含數(shù)據(jù)成員name, age, sex,記錄姓名,年齡,性 別這些信息,并包含構(gòu)造函數(shù)及其他成員函數(shù)(定義CPerson類以后若有需要,可再通過繼承派生其他類);(2) CTeacher:共有繼承CPerson類,包含數(shù)據(jù)成員title, teano, course, score,分別記錄職稱,職工號,3門課程和教學(xué)效果綜合 評分等信息,另有其他成員函數(shù);(3) CNode類:節(jié)點類,包含2個數(shù)據(jù)成員,CTeacher類對象p和CNode 類指針對象next,作為構(gòu)建鏈表的單位;(4) CLis

3、t類:鏈表類,聲明為CNode類的友元類,數(shù)據(jù)成員有頭結(jié)點 head,尾節(jié)點tail,記錄當(dāng)前節(jié)點的p和當(dāng)前節(jié)點前一節(jié)點的pre, 鏈表相關(guān)的輸入,顯示,排序,查找,創(chuàng)建全部設(shè)為成員函數(shù)??傮w流程為先打開文件,讀取文件中的記錄來創(chuàng)建鏈表,然后對鏈表進(jìn)行 操作,最后保存至文件中9 浦冉囿*打己乏3、各函數(shù)的功能和實現(xiàn)學(xué)院教學(xué)信息管理系統(tǒng)的相關(guān)功能由對應(yīng)的函數(shù)來實現(xiàn)。(1) 輸入教師信息并顯示void Append()通過提示一步步輸入信息,由程序構(gòu)建新節(jié)點并加入鏈表(2)顯示所有記錄 void Print ()(3) 按職工號或教學(xué)效果綜合評分排序并顯示 int SortMenu()void S

4、ortMenuControl()void InsertByTeano(CNode *newp)void SortByTeano()void InsertByScore(CNode *newp)void SortByScore()(4) 按姓名或課程查找教師記錄并顯示int SearchMenu()void SearchMenuControl()void SearchByName()void SearchByCourse()四. 程序源代碼includetiinclude iostreamftinclude tiinclude include ftinclude include using na

5、mespace std;class CPersonprivate:string name;int age;char sex;public:CPerson ()CPerson (string name, int ageO,char sex二W)this-name二name;this-age二age;this-sex二sex;void SetAge (int age=0)void SetNameAndSex(string name, char sex)thi s-name=name;this-sex二sex;void Showinfo()coutname,t,age,/t,(sex=,男 : 女”

6、)endl;string GetName()return name;int GetAge ()return age;char GetSex ()return sex;class CTeacher:public CPersonprivate:string title;示當(dāng)前記錄endl;cout,2.添加記錄z,endl;cout,3.排序,endl;cout,4.查找,endl;cout,5.創(chuàng)建新紀(jì)錄,zendl:coutz,0.退出,zchoice;return choice;void MainMenuControl()ReadDataO ;while ( 1 )int choice二Ma

7、inMenu();if ( choice0 ) break;switch ( choice )case 1:Print();break;case 2:Append();break;case 3:SortMenuControl (); break;case 4:SearchMenuControl(): break;case 5:NewList();break;cout,z是否保存(Y/N):char c;cinc;if ( c二二y ) Save ();void ReadData()head二tail二new CNode:head-next二NULL;num=0;char fname.80;co

8、ut,z請輸入要讀取的文件:;cinfname;ifstream file(fname):if ( !file )cout出現(xiàn)未知錯誤導(dǎo)致無法打開! nameagesextitlecourse l0 course 1 course2score;p=new CNode;p-(name, sex);p-(age);p-(titie, teano);p-(course0, courseLl, course2);p-(score);tail-next二p;tail二p;num+;tai 1-next二NULL;void Print ()for ( p二head-next; p!二NULL; p=p-n

9、ext)p- 0;coutendl;void Append ()while ( 1 )p二new CNode;coutz/請輸入:,zendl;coutname;cout,z 年齡:;int age;cinage;coutsex;p-(name, sex);p-(age);couttitie;coutteano;p-(title, teano);COUt,Z教授課程:; string course3: cincourse OJ course 1 course 2; p-(course0, courseLl,course2); COUt,Z教學(xué)效果綜合評分:; float score;cinsc

10、ore;p-(score);p-next二tail-next;tail-next=p;tail=p;num+;char c;cout,z是否繼續(xù)添加(Y/N): ;cinc;0;if ( c!二y ) break;ta 訂-next 二 NULL;Print ();int Sortlenu()cout,l.按職工號排序,endl;coutz,2.按教學(xué)效果綜合評分排序,endl;cout,0.退出z,choice;return choice;void SortMenuControl()while ( 1 )int choice二SortMenu();if ( choice二二0 )break;

11、switch ( choice )break;break;case 1: SortByTeano (); case 2:SortByScore ();Print ();void InsertByTeano(CNode *newp)for ( pre二head, p二head-next; p!二NULL; pre二p, p二p-next) if ( newp-() () ) break;newp-next二p;pre-next二newp;void SortByTeano ()p二head-next;head-next二NULL;CNode *nextp;whi.le ( p! =NULL )ne

12、xtp=p-next;InsertByTeano(p);p二nextp;void InsertByScore(CNode *newp)for ( pre二head,p二head-next; p!二NULL; pre二p,p二p-next)break;辻(newp-() () newp-next二p;pre-next二newp;void SortByScore ()p二head-next;head-next二NULL;CNode *nextp;while ( p!=NULL )nextp=p-next;InsertByScore(p);p二nextp;int SearchMenuOcout,zl

13、.按姓名查找endl;cout2按課程查找,zendl;cout,0.退出z,choice;return choice;void SearchMenuControl ()while ( 1 )int choice二SearchMenu();if ( choice0 ) break;switch ( choice )break;break;case 1:SearchByName();case 2:SearchByCourse();void SearchByName()int n二0;cout,z請輸入姓名:;string name;cinname;for ( p二head-next; p!二NU

14、LL; p=p-next) if ( p- ()二二name)p- 0;n+;if ( n=0 ) cout,/沒有相關(guān)記錄endl; coutendl;void SearchByCourse ()int n二0;cout,/請輸入查找課程:;string c:cinc;for ( p二head-next; p!二NULL; p二p-next)vector course二p-();for (int i=0; i();n+;break;if ( n=0 ) cout/,沒有相關(guān)記錄next二NULL;while ( 1 )p=new CNode;cout請輸入:endl;coutname;COU

15、t,Z 年齡:;int age;cinage;coutsex;p-(name, sex);P(age);couttitie;COUtteano;p-(titie, teano);COUt,Z教授課程:;string course3:cincourse 0 course 1 course 2; p-(course0, courseTl,course2);COUt,Z教學(xué)效果綜合評分:; float score;cinscore;p-(score);tail-next=p;tail二p;num+;cout,z是否繼續(xù)輸入(Y/N):char c;cinc;0;if ( c!二y ) break;t

16、ail-next二NULL;void Save ()char fname-80;cout,/ 保存到:;cinfname;ofstream file(fname):if ( !file )coutnext)vector course二p-();p-otzzp-X)tz,course 0 ,t,/course 1 ,t,course 2 t () next=p-next;delete p;delete head;head二NULL;ta訂=NULL;pre=NULL;num二0;CList ()for ( p二head-next; p!=NULL; p二head-next) head-next=

17、p-next;delete p;delete head;head二NULL;ta訂=NULL;pre=NULL;;int main(int argc, char* argv)CList listl;0;CList list2;0;return 0;五、缺陷1. 每次都要讀取文件中的記錄,若是只想創(chuàng)建新記錄,則此部多余;2. 判斷文件末尾的語句()匸EOF,當(dāng)文件末尾為圖一所示是可正常讀取完,若如圖二所示,則會多讀一次;文鈿嘶H)912013ddd50Fprofessorhistory politicsmarxism 87950706eee41MLecturersports volleyball

18、tennis89991203bbb32LecturerChinese history literature9097191240lecturerphysics electronicsmachine91971906fff39FlectijrerEnglish French Japaneseqi931517ccc46Fprofessorrosth algebra function94pi 191285845professorCC+JAVA 9S|圖一data -13爭疲文挪SXO)SEiVj912013ddd50Fprofessorhistory politicsmarxism 87950706ccc41Flecturersportsvollcybolltennis89991203bbb32

溫馨提示

  • 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

提交評論