C++教师信息管理系统方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、课程设计问题描述
学院教学信息管理系统是高等学校教务管理的重要组成部分,其内容较多,为了简化计论,要求设计的管理系统能够完成以下功能:
(1)输入:输入每一位教师记录,将其信息写入文件中;
(2)显示:显示每位教师记录;
(3)排序:按职工号或教学效果综合评分进行排序,并显示;
(4)查找:完成按姓名或课程查找教师的相关记录,并显示;
(5)创建:创建新的纪录,输入数位教师记录,显示在屏幕上并保存;
二、课程设计目的和要求:
经过一个学期的《C++面向对象实用教程》课程的学习,已经有了一定地程序设计基础,但是要学好C++程序设计,不仅要认真阅读课本知识和从事课堂学习,更重要的是要进行上机实践,通过上机实践才能增强和巩固知识。
三、系统设计(算法分析)
1、整体结构
整个程序定义四个类
(1)CPerson类:包含数据成员name,age,sex,记录姓名,年龄,性别这些信息,并包含构造函数及其他成员函数(定义CPerson类以后若有需要,可再通过继承派生其他类);
(2)CTeacher:共有继承CPerson类,包含数据成员title,teano,course,score,分别记录职称,职工号,3门课程和教学效果综合评分等信息,
另有其他成员函数;
(3)CNode类:节点类,包含2个数据成员,CTeacher类对象p和CNode类指针对象next,作为构建链表的单位;
(4)CList类:链表类,声明为CNode类的友元类,数据成员有头结点head,尾节点tail,记录当前节点的p和当前节点前一节点的pre,链表相关的
输入,显示,排序,查找,创建全部设为成员函数。
总体流程为先打开文件,读取文件中的记录来创建链表,然后对链表进行操作,最后保存至文件中
3、各函数的功能和实现
学院教学信息管理系统的相关功能由对应的函数来实现。(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 SearchMenuControl()
void SearchByName()
void SearchByCourse()
四、程序源代码
#include "stdafx.h"
#include
#include
#include
#include
#include
#include
using namespace std;
class CPerson
{
private:
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< } string GetName() { return name; } int GetAge() { return age; } char GetSex() { return sex; }; class CTeacher:public CPerson { private: string title;//职称 string teano;//职工号 vector 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(c2); course.push_back(c3); } void SetScore(float score) { this->score=score; } void ShowInfo() { cout<