C教师信息管理系统_第1页
C教师信息管理系统_第2页
C教师信息管理系统_第3页
C教师信息管理系统_第4页
C教师信息管理系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、课程设计问题描述学院教学信息管理系统是高等学校教务管理的重要组成部分,其内容 较多,为了简化计论,要求设计的管理系统能够完成以下功能:(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 类指针对象next,作为构建链表的单位;(4) CLis

3、t类:链表类,声明为CNode类的友元类,数据成员有头结点 head,尾节点tail,记录当前节点的p和当前节点前一节点的pre, 链表相关的输入,显示,排序,查找,创建全部设为成员函数。总体流程为先打开文件,读取文件中的记录来创建链表,然后对链表进行 操作,最后保存至文件中9 浦冉囿*打己乏3、各函数的功能和实现学院教学信息管理系统的相关功能由对应的函数来实现。(1) 输入教师信息并显示void Append()通过提示一步步输入信息,由程序构建新节点并加入链表(2)显示所有记录 void Print ()(3) 按职工号或教学效果综合评分排序并显示 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;示当前记录endl;cout,2.添加记录z,endl;cout,3.排序,endl;cout,4.查找,endl;cout,5.创建新纪录,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出现未知错误导致无法打开! 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教学效果综合评分:; float score;cinsc

10、ore;p-(score);p-next二tail-next;tail-next=p;tail=p;num+;char c;cout,z是否继续添加(Y/N): ;cinc;0;if ( c!二y ) break;ta 订-next 二 NULL;Print ();int Sortlenu()cout,l.按职工号排序,endl;coutz,2.按教学效果综合评分排序,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,/没有相关记录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/,没有相关记录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教学效果综合评分:; float score;cinscore;p-(score);tail-next=p;tail二p;num+;cout,z是否继续输入(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. 每次都要读取文件中的记录,若是只想创建新记录,则此部多余;2. 判断文件末尾的语句()匸EOF,当文件末尾为图一所示是可正常读取完,若如图二所示,则会多读一次;文钿嘶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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论