抽象类 Person
ID(id)、 用户名(username)密码(password)、性别(age)
管理员类 ;p (继承Person)
属性有 ID(id)、 用户名(username)、性别(age)
老师类 Teacher (继承Person)
老师教的课程(course)、班级(className)
学生类 Student (继承Person)
学生的专业(major) 、班级(className)、成绩(score)
//以上类字段属性为基础,如需要可自行在上面扩展
管理员账号默认为admin,老师帐号默认为t1,学生默认帐号为s1,t1和s1是默认帐号,用户用t1和s1登录进去的时候任何也做不了,只能选择注册老师或者注册学生,(用t1或者s1登录进去后不需要验证密码,直接显示菜单,用非t1和s1帐号需要验证密码)
项目启动在控制台打印如下:
- 我是管理员
- 我是老师
- 我是学生
- 退出
显四三个菜单,用户选择对应的序号进行对应的操作和显示子菜单。每选择一个菜单相当于确定了你目前的身份,需要输入帐号和密码进行验证。如果都正确,则提示登录成功,显示子菜单。比如输入1后,控制台提示
请输入帐号:
请输入密码:
用户输入后后台程序进行验证,如果成功。就进行下一步操作。
下面我们来看管理员对应的操作有:(也就是输入1,以管理员的身份进入系统):
以管理员的身份进入系统,控制台打印如下:
***********************************************************
1、查看所有学生 (注:这里显示所有的学生)
2、查看所有老师 (注:这里显示所有的老师)
3、分类查看
4、添加班级
5、添加课程
// 当用户输入3后,3下面对应的子菜单有
***********************************************************
1、按性别查看 (具体输入值为男或者女)
2、按班级查看 (输入2之后在控制台继续显示,1、按班级查看老师 2、按班级查看学生)
3、查看成绩大于_分的学生(这里输入具体数字,输入后把大于多少分的匹配出来)
4、查看成绩小于_分的学生(同上)
5、查看成绩等于_分的学生(同上)
6、查看具体学生的信息(提示输入学生的姓名和ID,防止有重名同学)
7、查看学生的平均成绩
8、按成绩降序查看所有学生
9、按成绩升序查看所有学生
10、查看当前老师和学生的总数
11、显示成绩综合信息 (打印如下信息)
//这里针对11 打印的信息如下 (60分及格)
学生总成绩 学生平均成绩 及格学生所占百分比 未及格学生所在百分比
345分 80分 80% 20%
***********************************************************
/*
当用户输入4 添加班级 控制台提示请输入班级名称,用户输入班级名称后,程序保存到后台,最好能保存到文件中,下次启动程序直接去读取使用,不用每次都输入。
当用户输入5 添加课程 控制台提示请输入课程名称,用户输入课程名称后,程序保存到后台,最好能保存到文件中,下次启动程序直接去读取使用,不用每次都输入。
以上不管是添加班级还是添加课程,程序都要判断用户输入的有没有重复的,比如第一次输入的是计算机班,第二次如果在输入计算机班的话就是重复的,控制台提示当天班级已经存在,请重新输入
*/
以老师的身份进去系统,控制台打印如下:(注:老师只能看见他班级下面的学生,下面所有的菜单均是,比如按性别查看,也是看的他班级下面的)
1、查看所有学生
2、按性别查看学生(选择2之后输入男或者女进行查看)
3、查看成绩大于_分的学生(这里输入具体数字,输入后把大于多少分的匹配出来)
4、查看成绩小于_分的学生(同上)
5、查看成绩等于_分的学生(同上)
6、查看具体学生的信息(提示输入学生的姓名和ID,防止有重名同学)
7、查看学生的平均成绩
8、按成绩降序查看所有学生
9、按成绩升序查看所有学生
10、显示成绩综合信息 (这里统计的信息和管理员端一样,只不过是统计本班级下面的,用户可以选择导出,和学生端查看成绩的情况一样,具体看学生端这块)
=========================================
11、注册老师帐号
//当用户选择11的时候控制台如下:
请输入您的姓名:
请输入您的密码:
请输入您的性别:
请输入您的年龄:
请选择您的课程:
请选择您的班级:
/*
这里注意,课程由管理员端添加,当用户输入完年龄后,系统自动列出管理员添加的课程,用户可以
输入现有的课程,程序接收到后进行判断用户输入的课程名字是否存在,如果存在的话就添加成功。
选择班级也一样
老师类里边有一个id,继承自person类,系统判断目前有多少个老师,自动生成老师总个数+1的序号设置上去
*/
12、修改老师信息
//当用户输入12后,控制台显示子菜单如下:
1、修改年龄
2、修改性别
3、修改密码(如果选择3,请提示用户输入原密码)
注:用户的信息最好存储到文件,避免程序启动每次添加
以学生的身份进入系统,当用户输入3之后
以学生的身份进入系统后控制台打印如下菜单:
1、查看本班所有学生
2、按性别查看本班学生(提示用户输入男或者女)
3、查找本班学生(输入学生的姓名)
4、按课程查看(有的学生是同班不同课程,当输入4的时候系统自动查询管理员添加的所有的课程,列出来)
5、查看所在班的老师信息(打印所在班级的老师)
//用户输入5后打印如下信息
老师姓名 性别 年龄 所在班级 所授课课程
张丽丽 女 12 1班 计算机
6、注册/修改学生帐号
*********************************************
//当用户输入6之后,控制台显示如下菜单
1、注册学生帐号
//当用户输入1之后,控制台打印如下信息
请输入您的姓名:
请输入您的密码:
请输入您的年龄:
请输入您的性别:
请输入您的综合成绩:
请输选择您的课程:(系统自动列出管理员添加的所有课程,用户输入后,判断是不是存在的)
请选择您的班级:(系统自动列出管理员添加的所有班级,用户输入后,判断是不是存在的)
//学生类里边有个id,继承自Person,类的id系统自动判断当前班级有多个人,根据人数+1生成
2、修改学生信息
//用户输入2的情况下,控制台打印以下子菜单
1、修改年龄
2、修改性别
3、修改班级(系统自动列出,同上)
4、修改课程(系统自动列出,同上)
5、修改密码(如果选择5,请提示用户输入原密码)
注:用户的信息最好存储到文件,避免程序启动每次添加
3、注销学生 (删除学生)
*********************************************
7、查看本班成绩情况
//当用户输入7以后,控制台显示如下:
本班总成绩 本班平均成绩 及格学生所在比例 未及格学生所在比例
345 89 70% 60%
100~80分人数 80~60分人数 60~40分人数 40分以下人数
6 8 8 1
======= 导出当前结果请输入 p ,把当前的结果保存到记事本,文件路径为当前的类路径,同包下,记事本标题为:A班学生成绩.txt ========