C教师信息管理系统

上传人:人*** 文档编号:470015473 上传时间:2023-04-30 格式:DOC 页数:16 大小:311KB
返回 下载 相关 举报
C教师信息管理系统_第1页
第1页 / 共16页
C教师信息管理系统_第2页
第2页 / 共16页
C教师信息管理系统_第3页
第3页 / 共16页
C教师信息管理系统_第4页
第4页 / 共16页
C教师信息管理系统_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《C教师信息管理系统》由会员分享,可在线阅读,更多相关《C教师信息管理系统(16页珍藏版)》请在金锄头文库上搜索。

1、课程设计问题描述学院教学信息管理系统是高等学校教务管理的重要组成部分,其内容较多, 为了简化计论,要求设计的管理系统能够完成以下功能:(1)输入:输入每一位教师记录,将其信息写入文件中;(2)显示:显示每位教师记录;(3)排序:按职工号或教学效果综合评分进行排序,并显示;(4)查找:完成按姓名或课程查找教师的相关记录,并显示;(5)创建:创建新的纪录,输入数位教师记录,显示在屏幕上并保存;课程设计目的和要求:经过一个学期的C+面向对象实用教程课程的学习,已经有了一定地程 序设计基础,但是要学好C+程序设计,不仅要认真阅读课本知识和从事课堂学 习,更重要的是要进行上机实践,通过上机实践才能增强和

2、巩固知识。三、系统设计(算法分析)1、 整体结构整个程序定义四个类(1)CPerson类:包含数据成员name, age, sex,记录姓名,年龄,性别这些 信息,并包含构造函数及其他成员函数(定义 CPerson类以后若有需要, 可再通过继承派生其他类) ;(2)CTeache:共有继承 CPerson 类,包含数据成员 title, tea no, course, score, 分别记录职称,职工号, 3 门课程和教学效果综合评分等信息,另有其他 成员函数;(3) CNode类:节点类,包含2个数据成员,CTeacher类对象p和CNode类 指针对象next,作为构建链表的单位;(4)

3、CList类:链表类,声明为CNode类的友元类,数据成员有头结点 head, 尾节点tail,记录当前节点的p和当前节点前一节点的pre,链表相关的输 入,显示,排序,查找,创建全部设为成员函数。总体流程为先打开文件,读取文件中的记录来创建链表,然后对链表进行操作, 最后保存至文件中3、 各函数的功能和实现 学院教学信息管理系统的相关功能由对应的函数来实现 ( 1) 输入教师信息并显示 void Append() 通过提示一步步输入信息,由程序构建新节点并加入链表( 2) 显示所有记录 void Print()(3)按职工号或教学效果综合评分排序并显示 int SortMenu() void

4、 SortMenuControl()void InsertByTeano(CNode *newp)void SortByTeano()void InsertByScore(CNode *newp)void SortByScore()(4)按姓名或课程查找教师记录并显示 int SearchMenu() void SearchMenuControl() void SearchByName() void SearchByCourse()四、程序源代码#include stdafx.h #include #include #include #include #include #include usi

5、ng namespace std;class CPersonprivate:- # -string 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

6、namevtvvagevvtvv(sex=M?男:女) 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.push_back(

7、c2);course.push_back(c3);void SetScore(float score)this-score=score;void ShowInfo()coutteanotGetName()tGetAge()t(GetSex()=M? 男 :)titletcourse0tcourse1tcourse2tscoretitle=one.title;this-teano=one.teano;this-course0=one.course0;this-course1=one.course1;this-course2=one.course2;this-score=one.score;vec

8、tor GetCourse()return course;string GetTitle()return title;string GetTeano()return teano;float GetScore()return score;class CNodefriend class CList;private:CTeacher data;CNode *next;class CListprivate:CNode *head;CNode *tail;CNode *p;CNode *pre;int nu m;当前节点数public:int MainMenu()cout1.显示当前记录endl;cou

9、t2.添加记录endl;cout3.排序e ndl;cout4.查找e ndl;cout5.创建新纪录endl;cout0.退出e ndl; coutchoice;return choice;void MainMenuControl()ReadData();while ( 1 )int choice=MainMenu();if ( choice=0 ) break;switch ( choice )case 1:Print();break;case 2:Append();break;case 3:SortMenuControl();break;case 4:SearchMenuControl(

10、); break;case 5:NewList();break;coutvv是否保存? ( Y/N):;char c;cinc;if ( c=y ) Save();void ReadData()head=tail=new CNode; head-next=NULL; num=0; char fname80;coutvv请输入要读取的文件:;cinfname;ifstream file(fname);if ( !file )coutvv出现未知错误导致无法打开!teanonameagesextitlecourse0course1course2scop=new CNode;p-data.SetNa

11、meAndSex(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-next)p-data.ShowInfo();coutvvendl;void Append()while ( 1 )- # -p=new CNode;cout请输入:nam

12、e;coutvv年龄:;int age;cinage;coutvv性别(F/M):;char sex;cinsex;p-data.SetNameAndSex(name,sex);p-data.SetAge(age);coutvv职称:;string title;cintitle;coutvv职工号:;string teano;cinteano;p-data.SetData(title,teano);coutvv教授课程:;string course3;cincourse0course1course2;p-data.SetCourse(course0,course1,course2);coutvv教学效果综合评分:;float score;cinscore;p-data.SetScore(score);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号