学生信息管理程序

      来发一个日志。打了好久。

    学生信息管理程序 直接贴代码吧。

先定义一个接口类:DBInterface

 1 package mypackage;
 2
 3 // 接口类
 4 public interface DBInterface {
 5     public String insert();
 6     // 插入数据的方法
 7
 8     public String delete();
 9     // 删除数据的方法
10
11     public String update();
12     // 修改数据的方法
13 }

在定义一个抽象类的Student ,是以下定义的父类

  1 package mypackage;
  2 /*
  3  *
  4  *                         Student类 ,其他类的父类,抽象类
  5  *
  6  */
  7 public abstract class Student implements DBInterface
  8     // 声明Student 类为抽象类,实现DBInterface接口
  9 {
 10     protected String studentNumber;
 11     protected String studentName;
 12     // 学号 和 名字
 13     protected double englishScore,mathScore,computerScore;
 14     // 英语成绩, 数学成绩, 计算机成绩
 15
 16     public Student()
 17     // 父类无参构造方法,实例化学生对象
 18     {
 19         this("","",0.0,0.0,0.0);
 20     }
 21     public Student(String studentNumber, String studentName, double englishScore, double mathScore, double computerScore)
 22     // 父类构造方法,生成学生实例对象
 23     {
 24         this.studentNumber = studentNumber;
 25         this.studentName = studentName;
 26         this.englishScore = englishScore;
 27         this.mathScore = mathScore;
 28         this.computerScore = computerScore;
 29         this.sum();
 30     }
 31     public String getStudentNumber()
 32     // get方法,获取学生学号
 33     {
 34         return studentNumber;
 35     }
 36     public String getStudentName()
 37     // get方法,获取学生姓名
 38     {
 39         return studentName;
 40     }
 41     public double getenglistScore()
 42     // get方法,获取英语成绩
 43     {
 44         return englishScore;
 45     }
 46     public double getmathScore()
 47     // get方法,获取数学成绩
 48     {
 49         return mathScore;
 50     }
 51     public double getcomputerScore()
 52     // get方法,获取计算机成绩
 53     {
 54         return computerScore;
 55     }
 56
 57
 58
 59     public void setStudentNumber(String studentNumber) { // 设置学号
 60         this.studentNumber = studentNumber;
 61     }
 62     public void setStudentName(String studentName) { // 设置姓名
 63         this.studentName = studentName;
 64     }
 65     public void setEnglishScore(double englishScore) {  // 英语成绩并重新计算总成绩
 66         this.englishScore = englishScore;
 67         this.sum();
 68     }
 69     public void setMathScore(double mathScore) { // 数学成绩并重新计算总成绩
 70         this.mathScore = mathScore;
 71         this.sum();
 72     }
 73     public void setComputerScore(double computerScore) { // 计算机成绩并重新计算总成绩
 74         this.computerScore = computerScore;
 75         this.sum();
 76     }
 77
 78
 79     // toString()方法,格式化返回学生信息
 80     public String toString(){
 81         return("学号:" + studentNumber + " 姓名:" + studentName + " 评测成绩:" + this.testScore());
 82     }
 83     // equals方法,判断学生的信息是否相同
 84     public boolean equals(Object stu){
 85         if(stu instanceof Student){
 86             Student a = (Student)stu;
 87             return(studentNumber.equals(a.studentNumber))&&(studentName.equals(a.studentName))&&(englishScore == a.englishScore)&&(mathScore == a.mathScore)&&(computerScore == a.computerScore);
 88         }
 89         return false;
 90     }
 91
 92     // compare方法,判断学生总成绩的大小
 93     public String compare(Student a){
 94         if(this.sum() > a.sum())
 95             return(this.getStudentName() + "的总成绩大于" + a.getStudentName());
 96         else if(this.sum() == a.sum())
 97             return(this.getStudentName() + "的总成绩等于" + a.getStudentName());
 98         else
 99             return(this.getStudentName() + "的总成绩小于" + a.getStudentName());
100     }
101
102     public abstract double sum();
103     // sum方法,计算学生的总成绩,声明为抽象方法
104
105     public double testScore(){    // testScore方法,计算学生的评测成绩
106         return(this.sum()/3);
107         // 平均成绩
108     }
109
110     public abstract double average();
111     // 声明为抽象方法
112
113     public String insert()    // 实现接口的insert方法
114     {
115         return("学生信息插入成功");
116     }
117     public String delete()    // 实现接口的delete方法
118     {
119         return("学生信息删除成功");
120     }
121     public String update()     // 实现接口的update方法
122     {
123         return("学生信息修改成功");
124     }
125
126
127
128 }

接下来是职位  先来个学生委员的类 :StudentXW

 1 package mypackage;
 2 /*
 3  *
 4  *                     学生委员类
 5  *
 6  */
 7
 8
 9 public class StudentXW  extends Student implements DBInterface
10     // 声明StudentXW类为Student的子类,实现DBInterface接口
11 {
12     String responsibility = "";
13     public StudentXW(){    // 子类无参构造方法,实例化学生委员对象
14         super();
15         responsibility = "学生委员";
16     }
17
18     // 子类的构造方法
19     public StudentXW(String studentNumber,String studentName,double englistScore,double mathScore,double computerScore){
20         // 此处使用有继承时的构造方法
21         super(studentNumber,studentName,englistScore,mathScore,computerScore);
22         // 调用父类的构造方法
23         this.responsibility = "学生委员";
24     }
25
26     public String getResponsibility() {    // get方法,返回责任信息
27         return responsibility;
28     }
29
30     public void setResponsibility(String responsibility) {    // set方法,设置责任信息
31         this.responsibility = responsibility;
32     }
33
34     public double sum()    //返回总成绩
35     {
36         // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
37         return(englishScore+mathScore+computerScore);
38     }
39     public double average()    // 返回平均分
40     {
41         // 由于父类为抽象类,而本科生为非抽象类,所以要重写父类的抽象方法
42         return(this.sum()/3);
43     }
44     public double testScore()    // 重写父类testScore方法,用来计算学习委员的评测成绩
45     {
46         return(this.sum()/3+3);    // 平均分+3
47     }
48     public String toString()    // 重写toString方法,格式化返回学习委员的信息
49     {
50         return("测试学习委员\n 学号" + studentNumber + " 姓名:" + studentName + " 责任:" + responsibility + " 评测成绩:" + this.testScore());
51     }
52     public String insert()        // 实现接口的insert方法
53     {
54         return("学习委员信息插入成功");
55     }
56     public String delete()        // 实现接口的delete方法
57     {
58         return("学习委员信息删除成功");
59     }
60     public String update()        // 实现接口的update方法
61     {
62         return("学习委员信息修改成功");
63     }
64
65
66
67
68 }

再来个班长类, 班长大大,不可缺少的  哈哈: StudentBZ

 1 package mypackage;
 2 /*
 3  *
 4  *                             班长类
 5  *
 6  */
 7 public class StudentBZ extends Student implements DBInterface {
 8     // 声明StudentBZ类为Student的子类,实现DBInterface接口
 9
10     String responsibility = "";
11     public StudentBZ()        // 子类无参构造方法,实例化班长对象
12     {
13         super();
14         responsibility = "班长";
15     }
16     public StudentBZ(String studentNumber,String studentName,double englishScore,double mathScore,double computerScore)
17     {        // 子类构造方法,生成班长实例对象
18         // 此处使用有继承时的构造方法
19         super(studentNumber,studentName,englishScore,mathScore,computerScore);
20         responsibility = "班长";
21     }
22     public String getResponsibility() {    // get方法,返回责任信息
23         return responsibility;
24     }
25     public void setResponsibility(String responsibility) {    // set方法,设置责任信息
26         this.responsibility = responsibility;
27     }
28     public double sum()            // 返回总成绩
29     {    // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
30         return(englishScore+mathScore+computerScore);
31     }
32     public double average()        // 返回平均分
33     {    // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
34         return(this.sum()/3);
35     }
36     public double testScore()    // 重写父类testScore方法,用来计算班长的评测成绩
37     {
38         return(this.sum()/3+5);    // 平均分加5
39     }
40     public String toString()    // 重写toString方法,格式化返回班长的信息
41     {
42         return("测试班长类\n 学号:" + studentNumber + " 姓名:" + studentName + " 责任:" + responsibility + " 评测成绩:" + this.testScore());
43     }
44     public String insert()        // 实现接口insert()方法
45     {
46         return("班长信息插入成功");
47     }
48     public String delete()        // 实现接口delete()方法
49     {
50         return("班长信息删除成功");
51     }
52     public String update()        // 实现接口update()方法
53     {
54         return("班长信息修改成功");
55     }
56
57 }

职位有了,来个学历级别的,本科生的 : Undergraduate

 1 package mypackage;
 2 /*
 3  *
 4  *                             本科生类
 5  *
 6  */
 7 public class Undergraduate extends Student implements DBInterface{
 8     // 本科生类,继承自Student类,实现DBInterface接口
 9     protected int paperScore;        // 论文成绩
10     protected String paperTitle;    // 论文题目
11     public Undergraduate()            // 定义无参构造方法
12     {
13         super();
14         paperScore = 0;
15         paperTitle = "";
16     }
17     public Undergraduate(String studentNumber,String studentName,double englishScore,double mathScore,double computerScore,int paperScore,String paperTitle)
18     {    // 定义含参构造方法,实例化本科生对象
19         super(studentNumber,studentName,englishScore,mathScore,computerScore);
20         this.paperScore = paperScore;
21         this.paperTitle = paperTitle;
22     }
23     public int getPaperScore() {        // get方法,获取论文成绩
24         return paperScore;
25     }
26     public void setPaperScore(int paperScore) {        // set方法,设置论文成绩
27         this.paperScore = paperScore;
28     }
29     public String getPaperTitle() {        // get方法,获取论文题目
30         return paperTitle;
31     }
32     public void setPaperTitle(String paperTitle) {    // set方法,设置论文标题
33         this.paperTitle = paperTitle;
34     }
35     public double sum()            // 返回总成绩
36     {    // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
37         return(englishScore+mathScore+computerScore);
38     }
39     public double average()        // 返回平均分
40     {    // 由于父类为抽象类,而本科生类为非抽象类,所以要重写父类的抽象方法
41         return(this.sum()/3);
42     }
43     public String toString()    // toString方法,格式化返回本科生信息
44     {
45         return("测试本科生类\n 学号:" + studentNumber + " 姓名:" + studentName + " 论文得分:" + paperScore + " 论文标题:" + paperTitle);
46     }
47     public String insert()        // 实现接口insert方法
48     {
49         return("本科生信息插入成功");
50     }
51     public String delete()        // 实现接口delete方法
52     {
53         return("本科生信息删除成功");
54     }
55     public String update()        // 实现接口update方法
56     {
57         return("本科生信息修改完成");
58     }
59 }

课程类  ‘’: Course

 1 package mypackage;
 2 /*
 3  *
 4  *                         课程类
 5  *
 6  */
 7 public class Course extends Student implements DBInterface{
 8     protected String courseNo;            // 课程号
 9     protected String courseName;        // 课程名称
10     public Course(){                    // 无参构造方法
11         super();
12         courseNo = "";
13         courseName = "";
14     }
15     public Course(String studentNumber,String studentName,double englishScore,double mathScore,double computerScore,String courseNo,String courseName)
16     {        // 有参构造方法,实例化课程对象
17         super(studentNumber,studentName,englishScore,mathScore,computerScore);
18         this.courseNo = courseNo;
19         this.courseName = courseName;
20     }
21     public String getCourseNo() {        // get方法获取课程号
22         return courseNo;
23     }
24     public void setCourseNo(String courseNo) {        // set方法设置课程名称
25         this.courseNo = courseNo;
26     }
27     public String getCourseName() {        // get方法获取课程名称
28         return courseName;
29     }
30     public void setCourseName(String courseName) {    // set方法设置课程名称
31         this.courseName = courseName;
32     }
33     public double sum()            // 返回总成绩
34     {
35         return(englishScore+mathScore+computerScore);        // 三门成绩相加
36     }
37     public double average()        // 返回平均分
38     {
39         return(this.sum()/3);
40     }
41     public String toString()    // toString方法,格式化返回学生信息
42     {
43         return("测试课程类\n 学号:" + studentNumber + " 姓名:" + studentName + " 课程号:" + courseNo + " 课程名称:" + courseName);
44     }
45     public String insert()        // 实现接口insert方法
46     {
47         return("课程信息插入成功");
48     }
49     public String delete()        // 实现接口delete方法
50     {
51         return("课程信息删除成功");
52     }
53     public String update()        // 实现接口update方法
54     {
55         return("课程信息修改成功");
56     }
57
58
59 }

课程成绩类:

 1 package mypackage;
 2 /*
 3  *
 4  *                         课程成绩类
 5  *
 6  */
 7 public class CourseGrade extends Student implements DBInterface{
 8     // 课程成绩类,继承自Student类,实现DBInterface接口
 9     protected String courseNo;            // 课程号
10     protected double courseGrade;        // 课程成绩
11     public CourseGrade(){                // 无参构造方法
12         super();
13         courseNo = "";
14         courseGrade = 0.0;
15     }
16
17     // 有参构造方法,实例化课程成绩对象
18     public CourseGrade(String studentNumber,String studentName,double englishScore,double mathScore,double computerScore,String courseNo,double courseGrade)
19     {
20         super(studentNumber,studentName,englishScore,mathScore,computerScore);
21         this.courseNo = courseNo;
22         this.courseGrade = courseGrade;
23     }
24
25     public String getCourseNo() {        // get方法获取课程号
26         return courseNo;
27     }
28
29     public void setCourseNo(String courseNo) {            // set方法,设置课程号
30         this.courseNo = courseNo;
31     }
32
33     public double getCourseGrade() {    // get方法获取课程成绩
34         return courseGrade;
35     }
36
37     public void setCourseGrade(double courseGrade) {    // set方法,设置课程成绩
38         this.courseGrade = courseGrade;
39     }
40     public double sum()                // 返回总成绩
41     {
42         return(englishScore + mathScore + computerScore);
43     }
44     public double average()            // 返回平均分
45     {
46         return(this.sum()/3);
47     }
48     public String insert()            // 实现接口insert方法
49     {
50         return("课程成绩信息插入成功");
51     }
52     public String delete()            // 实现接口delete方法
53     {
54         return("课程成绩信息删除成功");
55     }
56     public String update()            // 实现接口update方法
57     {
58         return("课程成绩信息修改成功");
59     }
60
61
62 }

测试暂时么测试。大致也是这了。

时间: 2024-12-23 12:17:54

学生信息管理程序的相关文章

学生信息管理系统修改

北京工业大学耿丹学院 c语言设计课程报告   课程设计名称:高级语言程序设计 专业班级:计算机科学与技术1 姓名:吴双 学号:150809201   2016年5月10日 一 对c语言指针链表的体会 ------------------------ 二 修改学生信息管理系统 ------------------------ 三 体会 ------------------------ 一 对c语言指针链表的体会 1.指针 简单来说,指针是一个存储计算机内存地址的变量. 用 int *ptr 这种形

学生成绩管理程序(C语言dos程序)

在昨天写的一个血生成绩管理程序 给大家分享一下 本程序仅供学习交流 代码如下: 1 /*本程序为简单的学生信息管理系统,作为技术交流,并不作为其它用途*/ 2 #include<stdio.h> 3 #include<string.h> 4 5 void rank1(float b[]); 6 int count = 1; 7 //结构体 8 struct student 9 { 10 char name[10]; //学生的姓名 11 char subject[10]; //学生

【C语言】用结构体数组完成:有5个学生(包括学号,姓名,成绩),要求按照成绩高低输出学生信息

//用结构体数组完成:有5个学生(包括学号,姓名,成绩),要求按照成绩高低输出学生信息 #include <stdio.h> struct Stu { int num; char name[20]; int score; }; int main() { int i,j; struct Stu student[5]={{317,"han",89},{318,"hu",50},{319,"kang",84},{320,"li&q

用基本数据结构修改后的学生信息管理系统(增删改查)

package com.xt.student.system; //创建学生类存放信息 public class Student {//声明变量private String stuNo; private String stuName; private String gender; private int age; private int score; //对变量进行封装 public String getStuNo() {return stuNo;} public void setStuNo(St

基于数据库MySQL的简易学生信息管理系统

通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生信息: 4.可以删除学生信息: 5.可以通过学生姓名或学号显示学生所有信息: 还可以修改学生信息,添加学生表格属性等等,,,这些实现都基本类似上述的(这些不想写了,最简易的学生信息管理系统): 二:步骤 1.写一个sql脚本,包括创建数据库,使用数据库,创建学生信息表格,插入大部分学生信息. stu

初学Java4:从键盘录入学生信息(仅姓名和成绩)并输出

//从键盘录入学生信息(仅姓名和成绩)并输出.public class StuInformation {//此处命名用StuScore可能更恰当 String name; double score;}import java.util.Scanner; public class TextStuInformation { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int i = 0, j

学生信息管理系统

根据资料显示,那么,如果写一个字符串到一个文件中,是什么方式呢?显示到屏幕上是默认的输出文件,如果是硬盘中的一个文件,首先要打开一个文件,然后才能往里写,那么就要告诉程序这个文件在什么地方,按照什么样的方式打开(读.写.读和写.添加.覆盖等),然后打开后要给这个打开的文件一个符号(指针变量),表示后续的读和写都是针对这个文件的,而不是到屏幕的,这个指针变量以后就代表了文件自身了. 在学生信息管理系统中,需要同时保存一个学生的姓名,性别,年龄等信息,那么设置变量保存很多同学的这些信息就有点不太方便

简单的学生信息处理程序实现

来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 在一个学生信息处理程序中,要求实现一个代表学生的类,并且所有成员变量都应该是私有的. (注:评测系统无法自动判断变量是否私有.我们会在结束之后统一对作业进行检查,请同学们严格按照题目要求完成,否则可能会影响作业成绩.) 输入 姓名,年龄,学号,第一学年平均成绩,第二学年平均成绩,第三学年平均成绩,第四学年平均成绩. 其中姓名.

PHP如何把学生信息资料添加到数据库

首先打开Dreamweaver CS5,设计两个表单,如:1.PHP,2PHP,最后把表单信息添加到数据库. 新生录入的表单页面:新建了名为1.PHP的表单,其中包括文本输入框(学号.姓名.栋.房间.床号.家庭地址.联系手机和家庭电话).列表/菜单组件(年级.班级.专业.年.月.日).单选按钮(性别)以及两个按钮(一个是提交submit按钮,另一个是重置reset按钮).本页还对学号与姓名两个输入框进行了javascript判断,判断两者不能为空! 2.php:获取表单form1中的各个输入项内