


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、WORD格式一、課程設計問題描述學院教學信息管理系統是高等學校教務管理的重要組成局部,其內容較多,為了簡化計論,要求設計的管理系統能夠完成以下功能:( 1輸入:輸入每一位教師記錄,將其信息寫入文件中;( 2顯示:顯示每位教師記錄;( 3排序:按職工號或教學效果綜合評分進展排序,并顯示;( 4查找:完成按*或課程查找教師的相關記錄,并顯示;( 5創立:創立新的紀錄,輸入數位教師記錄,顯示在屏幕上并保存;二、課程設計目的和要求:經過一個學期的" C+面向對象實用教程"課程的學習,已經有了一定地程序設計根底,但是要學好 C+程序設計,不僅要認真閱讀課本知識和從事課堂學習,更重要的
2、是要進展上機實踐,通過上機實踐才能增強和穩固知識。三、 系統設計算法分析1、 整體構造整個程序定義四個類( 1 CPerson類:包含數據成員 name,age,sex,記錄*,年齡,性別這些信息,并包含構造函數及其他成員函數定義 CPerson類以后假設有需要,可再通過繼承派生其他類 ;( 2 CTeacher:共有繼承 CPerson類,包含數據成員 title ,teano,course,score,分別記錄職稱,職工號, 3 門課程和教學效果綜合評分等信息,另有其他成員函數;( 3 CNode 類:節點類,包含 2 個數據成員, CTeacher類對象 p 和 CNode 類指針對象
3、next,作為構建鏈表的單位;( 4 CList 類:鏈表類,聲明為 CNode 類的友元類,數據成員有頭結點 head,尾節點 tail ,記錄當前節點的 p 和當前節點前一節點的 pre,鏈表相關的輸入,顯示,排序,查找,創立全部設為成員函數。總體流程為先翻開文件,讀取文件中的記錄來創立鏈表,然后對鏈表進展操作,最后保存至文件中專業資料整理WORD格式- 1 -專業資料整理WORD格式2、流程圖開場翻開文件讀取記錄輸入 choicechoice=0 ?否顯示添排當加序前記記錄錄保存是保存完畢是創查建新找紀錄否專業資料整理WORD格式- 2 -專業資料整理WORD格式3、各函數的功能和實現學
4、院教學信息管理系統的相關功能由對應的函數來實現。 1 輸入教師信息并顯示void Append()通過提示一步步輸入信息,由程序構建新節點并參加鏈表( 2 顯示所有記錄 void Print()( 3按職工號或教學效果綜合評分排序并顯示int SortMenu()void SortMenuControl()void InsertByTeano(CNode *newp)void SortByTeano()void InsertByScore(CNode *newp)void SortByScore() 4按*或課程查找教師記錄并顯示int SearchMenu()void SearchMenuC
5、ontrol()void SearchByName()void SearchByCourse()四、程序源代碼#include "stdafx.h"#include <iostream>#include <fstream>#include <vector>#include <algorithm>#include <cstring>#include <string>using namespace std;class CPersonprivate:專業資料整理WORD格式- 3 -專業資料整理WORD格式s
6、tring name;int age;char sex;public:CPerson()CPerson(string name,int age=0,char sex='M')this->name=name;this->age=age;this->sex=sex;void SetAge(int age=0)this->age=age;void SetNameAndSex(string name,char sex)this->name=name;this->sex=sex;void ShowInfo()cout<<name<&l
7、t;"t"<<age<<"t"<<(sex='M'"" 男 ":" 女 ")<<endl;string GetName()return name;int GetAge()return age;char GetSex()return sex;專業資料整理WORD格式- 4 -專業資料整理WORD格式;class CTeacher:public CPersonprivate:string title;/ 職稱string teano;/職工號ve
8、ctor<string> course;/教授課程float score;/教學效果綜合評分public:CTeacher()CTeacher(string name,int age=0,char sex='M'):CPerson(name,age,sex)void SetData(string title,string teano)this->title=title;this->teano=teano;void SetCourse(string c1,string c2,string c3)course.push_back(c1);course.pus
9、h_back(c2);course.push_back(c3);void SetScore(float score)this->score=score;void ShowInfo()cout<<teano<<"t"<<GetName()<<"t"<<GetAge()<<"t"<<(GetSex()='M'"" 男 ":")<<title<<"t"&
10、lt;<course0<<"t"<<course1<<"t"<<course2<<"t"<<score<<en dl;專業資料整理WORD格式- 5 -專業資料整理WORD格式void operator =(CTeacher &one)CPerson(one.GetName(),one.GetAge(),one.GetSex();this->title=one.title;this->teano=one.teano;this-
11、>course0=one.course0;this->course1=one.course1;this->course2=one.course2;this->score=one.score;vector<string> GetCourse()return course;string GetTitle()return title;string GetTeano()return teano;float GetScore()return score;class CNodefriend class CList;private:CTeacher data;CNode
12、*next;class CListprivate:CNode *head;專業資料整理WORD格式- 6 -專業資料整理WORD格式CNode *tail;CNode *p;CNode *pre;int num;/當前節點數public:int MainMenu()cout<<"1.顯示當前記錄 "<<endl;cout<<"2.添加記錄 "<<endl;cout<<"3.排序 "<<endl;cout<<"4.查找 "<&l
13、t;endl;cout<<"5.創立新紀錄 "<<endl;cout<<"0.退出 "<<endl;cout<<endl;int choice;cin>>choice;returnchoice;void MainMenuControl()ReadData();while ( 1 )int choice=MainMenu();if ( choice=0 )break;switch ( choice )case 1:Print();break;case 2:Append();break;
14、case 3:SortMenuControl();break;case 4:SearchMenuControl(); break;case 5:NewList();break;cout<<"是否保存? Y/N : "char c;cin>>c;if ( c='y' )Save();void ReadData()專業資料整理WORD格式- 7 -專業資料整理WORD格式head=tail=new CNode;head->next=NULL;num=0;char fname80;cout<<"請輸入要讀取的文件
15、:"cin>>fname;ifstream file(fname);if ( !file )cout<<"出現未知錯誤導致無法翻開!"<<endl;exit(1);string name,title,teano,course3;int age;char sex;float score;while ( file.peek()!=EOF )file>>teano>>name>>age>>sex>>title>>course0>>course1>
16、>course2>>score;p=new CNode;p->data.SetNameAndSex(name,sex);p->data.SetAge(age);p->data.SetData(title,teano);p->data.SetCourse(course0,course1,course2);p->data.SetScore(score);tail->next=p;tail=p;num+;tail->next=NULL;void Print()for ( p=head->next; p!=NULL; p=p->n
17、ext)p->data.ShowInfo();cout<<endl;void Append()while ( 1 )專業資料整理WORD格式- 8 -專業資料整理WORD格式p=new CNode;cout<<"請輸入: "<<endl;cout<<"*: "string name;cin>>name;cout<<"年齡: "int age;cin>>age;cout<<"性別 F/M :"char sex;cin
18、>>sex;p->data.SetNameAndSex(name,sex);p->data.SetAge(age);cout<<"職稱: "string title;cin>>title;cout<<"職工號: "string teano;cin>>teano;p->data.SetData(title,teano);cout<<"教授課程: "string course3;cin>>course0>>course1>
19、;>course2;p->data.SetCourse(course0,course1,course2);cout<<"教學效果綜合評分: "float score;cin>>score;p->data.SetScore(score);p->next=tail->next;tail->next=p;tail=p;num+;char c;cout<<"是否繼續添加? Y/N :"cin>>c;cin.get();if ( c!='y' )break;tail
20、->next=NULL;Print();int SortMenu()專業資料整理WORD格式- 9 -專業資料整理WORD格式cout<<"1.按職工號排序 "<<endl;cout<<"2.按教學效果綜合評分排序"<<endl;cout<<"0.退出 "<<endl;cout<<endl;int choice;cin>>choice;returnchoice;void SortMenuControl()while ( 1 )int
21、choice=SortMenu();if ( choice=0 )break;switch ( choice )case 1:SortByTeano();break;case 2:SortByScore();break;Print();void InsertByTeano(CNode *newp)for ( pre=head,p=head->next; p!=NULL; pre=p,p=p->next)if ( newp->data.GetTeano() < p->data.GetTeano() )break; newp->next=p;pre->ne
22、xt=newp;void SortByTeano()p=head->next;head->next=NULL;CNode *nextp;while ( p!=NULL )nextp=p->next;InsertByTeano(p);p=nextp;專業資料整理WORD格式-10-專業資料整理WORD格式void InsertByScore(CNode *newp)for ( pre=head,p=head->next; p!=NULL; pre=p,p=p->next)if ( newp->data.GetScore() < p->data.Ge
23、tScore() ) break;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 SearchMenu()cout<<"1.按*查找 "<<endl;cout<<"2.按課程查找 "<<endl;cout<<"0
24、.退出 "<<endl;cout<<endl;int choice;cin>>choice;return choice;void SearchMenuControl()while ( 1 )int choice=SearchMenu();if ( choice=0 )break;switch ( choice )case 1:SearchByName();break;case 2:SearchByCourse();break;專業資料整理WORD格式-11-專業資料整理WORD格式void SearchByName()int n=0;cout<
25、;<"請輸入*: "string name;cin>>name;for ( p=head->next; p!=NULL; p=p->next)if ( p->data.GetName()=name)p->data.ShowInfo();n+;if ( n=0 )cout<<"沒有相關記錄 "<<endl;cout<<endl;void SearchByCourse()int n=0;cout<<"請輸入查找課程: "string c;cin>
26、;>c;for ( p=head->next; p!=NULL; p=p->next)vector<string> course=p->data.GetCourse();for (int i=0; i<3; i+)if ( c=coursei)p->data.ShowInfo();n+;break;if ( n=0 )cout<<"沒有相關記錄 "<<endl;cout<<endl;void NewList()Destory();專業資料整理WORD格式-12-專業資料整理WORD格式hea
27、d=tail=new CNode;head->next=NULL;while ( 1 )p=new CNode;cout<<"請輸入: "<<endl;cout<<"*: "string name;cin>>name;cout<<"年齡: "int age;cin>>age;cout<<"性別 F/M :"char sex;cin>>sex;p->data.SetNameAndSex(name,sex);p-
28、>data.SetAge(age);cout<<"職稱: "string title;cin>>title;cout<<"職工號: "string teano;cin>>teano;p->data.SetData(title,teano);cout<<"教授課程: "string course3;cin>>course0>>course1>>course2;p->data.SetCourse(course0,course1
29、,course2);cout<<"教學效果綜合評分: "float score;cin>>score;p->data.SetScore(score);tail->next=p;tail=p;num+;cout<<"是否繼續輸入? Y/N :"char c;cin>>c;cin.get();if ( c!='y' )break;tail->next=NULL;專業資料整理WORD格式-13-專業資料整理WORD格式void Save()char fname80;cout<<"保存到: "cin>>fname;ofstream file(fname);if ( !file )cout<<"出現未知錯誤導致無法翻開!"<<endl;exit(1);for ( p=head->next; p!=NULL; p=p->next)vector<string> course=p->data.GetCourse();file<<p->data.GetTeano()<&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 7 Be Wise with Money Period 2 Reading 教學設計 2024-2025學年譯林版英語七年級上冊
- 2025年廣州入小學所需的租房合同辦理指南
- 二手房屋買賣合同修訂版
- 2025版產品代理合同范本
- 2025挖掘機轉讓合同樣本
- 家居裝修工程勞務合同
- 2025年廣東省采購合同樣本
- 《困境與機遇》課件
- 2025授權建設合同
- 2025年的技術許可合同范本
- 醫院物資采購管理暫行規定
- 2024年同等學力申碩-同等學力(政治學)筆試歷年真題薈萃含答案
- 初三勵志、拼搏主題班會課件
- 城市軌道交通的智能調度與運營優化
- 放射性金屬礦的輻射事故案例與防范
- 食品加工與檢驗實訓室建設方案
- ICH-GCP中英文對照(完整)
- 政府采購自查報告與政府采購問題整改措施
- 學校餐廳除蟲滅害記錄表
- 國開《Windows網絡操作系統管理》形考任務6-配置Web服務實訓
- 公主怎樣挖鼻屎(衛生習慣)-完整版課件
評論
0/150
提交評論