代码改变世界

Java课程设计——学生成绩管理

2019-01-18 02:05  黑鹰1096  阅读(854)  评论(3编辑  收藏  举报

学生成绩管理

要求:

1.添加学生功能:姓名、学号、性别、出生年月日。(注意:学号自动生成,学号必须唯一)

2.添加学生成绩功能:假设每个人都选修了数学、Java与体育。但输入成绩的时候,一般是给所有学生输入某一门课程的成绩。

3.根据学生学号查找学生成绩,并在界面上显示姓名、学号和成绩,学号不存在的给出提示信息

4. 根据学生姓名(支持模糊匹配)查找学生成绩,并在界面上显示姓名、学号和成绩,如果有多个相同姓名学生存在,一起显示出来,姓名不存在的给出提示信息

5. 生成学生学习情况报表:报表包含学号、姓名、各科目成绩及对应的该科目班级平均值,总成绩以及班级总成绩平均值。最后以总成绩平均值降序在图形界面输出,并可将该排序结果按照输出至"成绩表.txt"文件或者excel文件(输出到Excel文件为特别加分项可以使用POI技术)。

6. 支持分别对所有学生各科成绩画出柱状分布图(可选)。

7. 支持对学生信息的修改与删除(要在文件或数据库中有所体现),不能修改学号。

8.支持用户登录、验证操作

界面:GUI 或 Web

数据存储在数据库或者文件中,建议存储在数据库。

一、团队成员及各自完成的任务

     刘格铭      网络1714     201721123119    POI,导出Excel,部分GUI,GFree 

     余景胜      网络1714     201721123115    数据库,DAO接口,部分GUI

     陈国雄      网络1714     201721123118    model类设计

     达瓦次仁    网络1714     201721123121    主要写博客园

二、项目Git地址  https://gitee.com/LiuGeMing/stuSystem

三、项目Git提交记录截图

四、主要功能流程图

   1.项目结构流程图

     

        2.主要功能流程图

          

 

 

五、项目运行截图

   1.主页面:

   

 

   2.教师界面的功能:

       

 

 

       3. 学生界面 :

          

     

        4.学生成绩信息:

     

 

 

      5.相应的柱状图:

       

 

 

六、项目关键代码截图

 

Dao接口部分代码

 

package dao;
import java.util.List;

import model.StudentModel;
//import model.Teacher;
public interface StudentDao {
	public void LearningReport();
	public void deleteCourse(String corName,int stuId);
	public List<StudentModel> stuInfo ();
	public StudentModel searchStuByStuId(int num);
	public List<StudentModel> searchStuByName(String name);
	public void addStudent(String stu_name,String stu_sex,String birthdate,String classId);
	 public List<StudentModel> stusSameClassId(String classId);
	public void addStuScore(int id, String mark, String course);
	public void reviseStuInfo(String stu_name,String stu_sex,String birthdate,String classId,int id);
}
package dao;

import model.TeacherModel;

public interface TeacherDao {
	public void addTeacher();
	public TeacherModel tecInfo();
}
package dao;

public interface courseDao {
	public void addStudent();
    public void addCourse(int course_id,String course_name,int teacher_id,String teacher_name);
}

 

 


 

七、项目待改进或新的想法

       1.用多线程和网络实现选课项目;

             2.学习要在实践中摸索才有实际成效,在编写函数的同时也提升了查找关键字的能力;

            3.当界面上有多个窗口时要注意关闭窗口只关闭当前窗口,默认条件下回会将所有窗口关闭;

       4.输入学生信息后要判断学生信息的格式是否输入正确;