学生选课管理系统 选课信息管理系统管理端「建议收藏」

学生选课管理系统 选课信息管理系统管理端「建议收藏」学生选课信息管理系统管理端面向对象程序设计——课程设计(c++)必须使用vs,因为devc++会报错。程序详情见下面代码块或访问https://download.csdn.net/download/zhanjuex/12733258一、项目名称:学生选课信息管理系统管理端二、项目功能:(一)实现课程信息打印、查询、录入、删除、修改功能。(二)实现学生信息打印、查询、录入、删除、修改功能。(三)课程信息、学生信息交互,实现选课管理端根据学生已有学分进行选课。(包括帮助学生选课或删除学生已选课

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

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

面向对象程序设计——课程设计(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) { 
   }
};

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

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;

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

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;

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

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

七、项目缺陷

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

八、项目部分截图

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184213.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • wing是什么_acwing是什么

    wing是什么_acwing是什么原题链接设有 N×N 的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:某人从图中的左上角 A 出发,可以向下行走,也可以向右行走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从 A 点到 B 点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。输入格式第一行为一个整数N,表示 N×N 的方格图。接下来的每行有三个整数,第一个为行号数,第二个为列号数,第三个为在该行、该列上所放的数。行和列编号从

    2022年8月8日
    3
  • databus mysql搭建_Databus架构分析与初步实践(for mysql)

    databus mysql搭建_Databus架构分析与初步实践(for mysql)目前关于databus的相关资料较少,特别是针对mysql的文档尤为稀少。本篇文章中介绍了databus相关组件及实现原理,初步实现了databus对mysql数据库的数据抓取,希望对后续使用者能提供一定的参考作用。1.简介Databus是一个低延迟、可靠的、支持事务的、保持一致性的数据变更抓取系统。由LinkedIn于2013年开源。Databus通过挖掘数据库日志的方式,将数据库变更实时、可…

    2022年10月16日
    2
  • 单例模式singleton_单例模式详解

    单例模式singleton_单例模式详解单例模式 Singleton动机模式定义实例结构要点总结笔记动机在软件系统中,经常有一些特殊的类,必须保证它们在系统中只存在一个实例,才能保证他们的逻辑正确性、以及良好的效率如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?模式定义保证一个类仅有一个实例,并提供一个该实例的全局访问点。实例单例class Singleton{private : Singleton(); Singleton(const Singleton& other);public:

    2022年8月11日
    4
  • Python中if __name__ == ‘__main__‘:的作用和原理「建议收藏」

    Python中if __name__ == ‘__main__‘:的作用和原理「建议收藏」if__name__==’__main__’:的作用一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if__name__==’main’:的作用就是控制这两种情况执行代码的过程,在if__name__==’main’:下的代码只有在第一种情况下(即文件作为脚本直接执行)才会…

    2022年6月1日
    31
  • 独有系统的两个潜在风险

    独有系统的两个潜在风险

    2022年3月5日
    34
  • Unity3D安装_3D杀号APP

    Unity3D安装_3D杀号APPUnity3D是一个跨平台的游戏开发引擎,它能够帮助开发者快速构建游戏场景,进行游戏开发与发布。它支持将开发好的作品发布到Windows、MacOS、Android、iOS、Linux等多种平台。另外,Unity3D官方版本目前可以运行在Windows和MacOS上,当然还有可以运行在Linux上的非官方版本。

    2022年8月10日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号