当前位置:   article > 正文

学生选课管理系统 选课信息管理系统管理端

选课管理系统

学生选课管理系统——学生选课信息管理系统管理端

面向对象程序设计——课程设计(c++)

不懂的地方可以咨询我:809267697@qq.com。

ps: 编程环境为vs,使用dev c++会报错。

一、项目名称:学生选课信息管理系统管理端

二、项目功能

(一)实现课程信息打印、查询、录入、删除、修改功能。
(二)实现学生信息打印、查询、录入、删除、修改功能。
(三)课程信息、学生信息交互,实现选课管理端根据学生已有学分进行选课。(包括帮助学生选课或删除学生已选课)
(四)管理端系统设置。仿真加密系统,实现密码防护、修改密码、注销功能。其中密码防护功能实现用户多次输入密码错误,系统将进入休眠状态,等待一段时间后用户才能重新输入密码,防止用户恶意登录。
(五)菜单功能选择,保证用户正常使用系统。
(六)各菜单界面交互,提升系统流畅度,用户使用效率及营造良好用户体验环境。
(七)vector容器动态储存信息

三、主要模块

(一)课程信息管理
(二)学生信息管理
(三)管理端系统登录保护、修改密码、注销

四、系统架构

在这里插入图片描述

五、类的说明

基类:
(一)信息类
包含:编号(number)、名称(name)、构造函数。

class info//信息类
{
protected:
	long number;//编号
	string name;//名称
public:
	info() {}
	info(long num, string name) :number(num), name(name) {}
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

派生类:
(二)课程类:(继承编号、名称)
包含:友元类(学生类)、课程学分、授课老师、拷贝构造函数及各种功能实现函数,并创建课程类动态数组。

class course: public info//课程类
{
protected:
	int credit;//学分
	string teachername;//授课教师
public:
	course(){}
	course(long num, string name, int cre, string tea) : info(num, name)
	{
		credit = cre;
		teachername = tea;
	}
	static void print();//输出数据
	static void get();//获取数据
	static void add();//增加数据
	static void del();//删除数据
	static void edit();//修改数据
	static int ishave(long si);//查询是否有该课程
	friend class student;
};vector<course> c;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

(三)学生类:(继承编号、名称)
包含:课程数组、性别、年级、本学期需修学分、构造函数、各种功能实现函数、并创建学生类动态数组。

class student: public info//学生类
{
protected:
	string sex;//性别
	string grade;//年级
	long scredit;//本学期需修学分
public:
	vector<course> havec;//查询学生选课信息
	student(){}
	student(long num, string name, string se, string gra, long scr) : info(num, name)
	{
		sex = se;
		grade = gra;
		scredit = scr;
	}
	static void print();//输出数据
	static void get();//获取数据
	static void add();//增加数据
	static void del();//删除数据
	static void edit();//修改数据
	static int ishave(long si);//查询是否有该学生
	static void addcourse();// 为学生添加课程
	static void delcourse();//为学生删除课程
	static int ishavec(long si);//查询该学生是否有该课程
};vector<student> s;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

六、项目运用课程知识汇总

类指针、继承、访问控制、拷贝构造函数、引用、静态成员函数、动
态数组(STL容器)、友元类、组合类。

七、项目缺陷

(一) 忽略了课程编号可能为001,0002等,应把基类编号改成string型,后面构造函数、功能函数等都需要修改。
(二) 查询,删除,修改功能只实现编号操作,没有实现其他关键词操作。
(三) 没有实现排序操作。为学生添加选课后,选课信息由时间顺序排列,未实现编号升降序。
(四) 系统设计之初未考虑周全,导致某些功能中的循环嵌套有重复(如为学生添加选课信息),增加时间复杂度。即项目还存在较大的优化空间,以便节省系统开销。
(五) 系统存在小bug,即某些时候选择退出系统需要选择两次才能退出。

八、项目部分截图

(未截全,仅展示部分功能,详情可使用该系统)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/871781
推荐阅读
相关标签
  

闽ICP备14008679号