综合例题:学生管理系统

简介:

使用面向对象的编程方式编写一个学生管理系统:

   分析一下业务,这个系统将具有什么功能。例如:1.学生入学,2.查询学生,3报表统计,4.退出系统。

然后就可以先写出一个界面,提供以上选项:

f0528af89d02e29ee3ac794164516ab2.png



 既然是管理系统那存储的就是学生的资料,学生的资料便是学生的各种属性,所以分析学生具有的属性有哪些,例如:名字,年龄,性别,地址,邮箱等等。

 自然接下来就先写一个学生的属性封装类将属性都先封装起来:

079f3c65eae50be0a28c73c6905c6229.png


 封装好学生的属性后,就可以开始编写这个管理系统的每一个功能块的封装了,写功能要一个一个来写,所以先完成学生入学的功能编写。例如:

87f12e617eca85ae220d48078f225513.png


使用Student类型来申请一个数组,是因为记录存储每一个入学的学生对象。然后申请一个int变量来制定一个起始的学号,这样每个学生对象都会有自己的独一无二的编号(学号)

然后开始编写第一个功能块,学生入学:

477cb10e7507508e8df8d32968aa8f9c.png


接着就是第二个功能块,查询学生(含有修改学生、删除学生功能)。查询学生:

00d619cc7907049084a4046a60d4f000.png


删除学生:

b90258ab281c36195e409f7ec1f2b47b.png


修改学生资料:

01881986d5b1caa6c69153bbd42b91b9.png


 查询学生这个功能块就实现了,接下来就是报表统计功能了。先写一个报表统计的封装类,将属性封装好来:

c6401741b0d5b877761076a62c16037e.png


接着在系统封装类里实现报表统计这个功能:

a3f77bfe4ee3ca66818c73ab07f00d48.png


 现在所有的功能块都在系统功能封装类里实现完了,接着就是将这些功能在界面类里将它们串在一起进行管理系统的实现了,首先将学生入学功能的界面进行编写:

3a9210fc957389841c4db8cf2180a937.png


学生查询:

49c1b5f388675ea1f79d96aa69d77dc0.png


删除学生资料:

5f68f15e709862bd3d8b5a8078d8d5d6.png


修改学生资料:

2d73834561a8498e12051eb2bbb6c409.png

a560a13394272e311742684731da08f9.png


报表统计:

6756c8062e86e25ac45426ccef72008f.png


报表统计:

d4bff9322a1eb8fd3513709cfafe1526.png



完成效果:

  主界面:

7ec5ae16aa62fe44660e4f05e1d44122.png


学生入学:

5a58454811bde699f4371c76dbaf5fd4.png


查询学生:

c804b92c10c98694a789aa234c7bb68c.png


删除学生:

38ff00e3acf45d71a8f8d30f4cb9a18d.png


修改学生资料:

10582b7797fd08cdf06d153646e0a1cb.png

a536c0bf08e1014cd9fa748d770355aa.png

409cdc7a8a5963c042c11be3b74b15c3.png




报表统计:

e69a30e07f15a38507aec4ae29eb03a0.png

f446755b3f18c8e08abfcf063c3295a8.png

 

至此整个学生管理系统就完成了!





本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1974355,如需转载请自行联系原作者

相关文章
|
3月前
|
编解码 自然语言处理 异构计算
长视频压缩免费,最快ShanaEncoder免费视频压缩软件下载
ShanaEncoder是一款基于FFmpeg开发的免费开源音视频编码工具,支持多格式转换(如RMVB转MP4、AVI转MPEG等)、字幕叠加、裁剪、H.264(High 10)编解码等专业功能。具备图形界面友好、操作便捷的特点,支持多核CPU加速和快速批量处理,适合从初学者到专业人士的广泛需求。软件兼容Win7-11系统,对B站视频上传优化友好,同时提供硬件加速与多线程处理功能,大幅提升编码效率。
192 2
|
数据安全/隐私保护
xshell7,xftp7个人免费版官方下载,无需破解,免激活,下载即可使用
xshell7,xftp7个人免费版官方下载,无需破解,免激活,下载即可使用
13436 0
|
10月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
11月前
|
Java 关系型数据库 MySQL
基于Java的学生成绩管理系统/学生信息管理系统
基于Java的学生成绩管理系统/学生信息管理系统
242 2
|
Java 关系型数据库 MySQL
java入门项目:学生管理系统(进阶版超详细搭建)
学生管理系统是一个典型的信息管理系统,熟悉并掌握其需求和设计思想对于理解和学习数据库操作和Java编程有非常大的帮助。 分为学生端和教师端 1. 学生端的功能分为登录、注册、查看个人信息、查看成绩、申请修改信息 2. 教师端的功能分为登录、注册、查看学生信息、修改学生信息、删除学生信息、添加学生信息、查看学生申请的修改信息
12705 3
|
JavaScript
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
这篇文章介绍了在Vue项目中安装node-sass和sass-loader时遇到的版本冲突问题,并提供了解决这些问题的方法,包括在不降低node版本的情况下成功安装node-sass。
成功解决node、node-sass和sass-loader版本冲突问题、不需要降低node版本。如何在vue项目中安装node-sass,以及安装node-sass可能遇到的版本冲突问题
|
前端开发 Java 关系型数据库
基于JSP和MySQL的学生信息管理系统
基于JSP和MySQL的学生信息管理系统
514 0
基于JSP和MySQL的学生信息管理系统
|
JavaScript Java 测试技术
基于SpringBoot+Vue 的学生成绩管理系统【源码+论文+演示视频+包运行成功】
基于SpringBoot+Vue 的学生成绩管理系统【源码+论文+演示视频+包运行成功】
536 0
|
存储 监控 安全