石家庄铁道大学 2019 年秋季 2018 级课堂测试试卷(一)学生成绩信息管理系统

1.(1)定义 ScoreInformation 类,其中包括七个私有变量(stunumber,
name, mathematicsscore, englishiscore,networkscore, databasescore,
softwarescore)。
各成员的含义如下:
变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数
字组成)。
变量 name 为字符串类型 String,用于存储学生的姓名。
变量 mathematicsscore 为 double 类型,用于存储学生的高等数学成绩,
高等数学的学分为 4 分。
变量 englishiscore 为 double 类型,用于存储学生的大学英语成绩,大学
英语的学分为 3 分。
变量 networkscore 为 double 类型,用于存储学生的计算机网络成绩,计
算机网络的学分为 4 分。

变量 databasescore 为 double 类型,用于存储学生的数据库成绩,数据库
的学分为 3 分。
变量 softwarescore 为 double 类型,用于存储学生的软件工程成绩,软件
工程的学分为 2 分。
对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的
方法。
(2) 赋 初 值 方 法 包 括 七 个 参 数 , 用 于 为 变 量 (stunumber ,
name, mathematicsscore, englishiscore,networkscore, databasescore,
softwarescore)赋值

2.该系统完成学生成绩录入,修改,计算学分积点和查询学生成绩的简单
功能,定义 ScoreManagement 类完成下列功能。
(1)利用数组实现至少存储五个学生的信息; (将考生信息作为第一条记
录)

ScoreInformation 类:

/*
信1805-1
20183504
肖洋
*/
 public class ScoreInformation {
 private String stunumber;
 private String name;
 private double mathematicsscore;
 private double englishiscore;
 private double networkscore;
 private double databasescore;
 private double softwarescore;
 public String getStunumber()
 {
    return stunumber;
 }

public void setStunumber(String stunumber)
 {
    this.stunumber = stunumber;
 }

public String getName()
 {
    return name;
 }

public void setName(String name)
 {
    this.name = name;
 }

public double getMathematicsscore()
 {
    return mathematicsscore;
 }

public void setMathematicsscore(double mathematicsscore)
 {
    this.mathematicsscore = mathematicsscore;
 }

public double getEnglishiscore()
 {
    return englishiscore;
 }

public void setEnglishiscore(double englishiscore)
 {
    this.englishiscore = englishiscore;
 }

public double getNetworkscore()
 {
    return networkscore;
 }

 public void setNetworkscore(double networkscore)
 {
    this.networkscore = networkscore;
 }

 public double getDatabasescore()
 {
    return databasescore;
 }

 public void setDatabasescore(double databasescore)
 {
    this.databasescore = databasescore;
 }

 public double getSoftwarescore()
  {
    return softwarescore;
  }

 public void setSoftwarescore(double softwarescore)
  {
    this.softwarescore = softwarescore;
  }

 public ScoreInformation(String stunumber ,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore,double softwarescore)
 {
    this.stunumber = stunumber;
    this.name = name;
    this.mathematicsscore = mathematicsscore;
    this.englishiscore = englishiscore;
    this.networkscore = networkscore;
    this.databasescore = databasescore;
    this.softwarescore = softwarescore;
 }
}

ScoreManagement 类:

/*
信1805-1
20183504
肖洋
*/
 import java.util.Scanner;

 public class ScoreManagement {
    static int sum=0;
    static int choose=0;
    static int flag1;
    static Scanner sc=null;
    static ScoreInformation[] a = new ScoreInformation[1000];
    public static void  mainscreen()
    {
        sc = new Scanner(System.in);
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系 \n" +
                "学生学籍管理系统 2019 版 \n" +
                "***********************************************************\n" +
                "1、 学生考试成绩录入 \n" +
                "2、 学生考试成绩修改 \n" +
                "3、 计算学生成绩绩点 \n" +
                "4、退出学籍管理系统 \n" +
                "**********************************************************");
    System.out.println("请选择:");
    choose=sc.nextInt();
    }
    public static void addscore(String stunumber ,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore,double softwarescore)
   {
        a[sum]=new ScoreInformation(stunumber,name,mathematicsscore,englishiscore,networkscore,databasescore,softwarescore);    
   }
    public static void scoreinputscreen1()
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入 \n" +
                "***********************************************************\n" +
                "请输入学生学号:\n" +
                "********************************************************** ");
    }
    public static void scoreinputscreen2(String stu,String na) {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "请输入高等数学成绩:\n" +
                "********************************************************** ");
    }
    public static void scoreinputscreen3(String stu,String na,double math)
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "高等数学成绩:"+math+"\n" +
                "请输入大学英语成绩:\n"+
                "********************************************************** ");
    }
    public static void scoreinputscreen4(String stu,String na,double math,double english) {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "高等数学成绩:"+math+"\n" +
                "大学英语成绩:"+english+"\n"+
                "请输入计算机网络成绩:\n"+
                "********************************************************** ");
    }
    public static void scoreinputscreen5(String stu,String na,double math,double english,double network) {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "高等数学成绩:"+math+"\n" +
                "大学英语成绩:"+english+"\n"+
                "计算机网络成绩:"+network+"\n"+
                "请输入数据库成绩:\n"+
                "********************************************************** ");
    }
    public static void scoreinputscreen6(String stu,String na,double math,double english,double network,double database) {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "高等数学成绩:"+math+"\n" +
                "大学英语成绩:"+english+"\n"+
                "计算机网络成绩:"+network+"\n"+
                "数据库成绩:"+database+"\n"+
                "请输入软件工程成绩:\n"+
                "********************************************************** ");
    }
    public static void scoreinputscreen7(String stu,String na,double math,double english,double network,double database,double software) {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "高等数学成绩:"+math+"\n" +
                "大学英语成绩:"+english+"\n"+
                "计算机网络成绩:"+network+"\n"+
                "数据库成绩:"+database+"\n"+
                "软件工程成绩:"+software+"\n"+
                "该学生成绩已录入完毕,是否提交(Y/N)");
        System.out.println("********************************************************** ");
    }
    public static void scoreinput()
      {
        sc = new Scanner(System.in);
        String stunumber;
        int i=0;
        int flag=1;
        int count=0;
        char x='N';
        do
        {
        while(flag==1)
        {
        scoreinputscreen1();
        System.out.println("请输入八位学生学号");
        stunumber=sc.next();
        for(int k=0;k<5;k++)
        {
            if(stunumber.equals(a[k].getStunumber()))
            {
                scoreinputscreen2(stunumber,a[k].getName());
                i=k;
                flag=0;
                break;
            }
            else {
                count++;
            }
        }
        if(count==5)
        System.out.println("该学号不存在");
        }
        String name=a[i].getName();
        double mathematicsscore;
        double englishiscore;
        double networkscore;
        double databasescore;
        double softwarescore;
        mathematicsscore=sc.nextDouble();
        scoreinputscreen3(a[i].getStunumber(),a[i].getName(),mathematicsscore);
        englishiscore=sc.nextDouble();
        scoreinputscreen4(a[i].getStunumber(),a[i].getName(),mathematicsscore,englishiscore);
        networkscore=sc.nextDouble();
        scoreinputscreen5(a[i].getStunumber(),a[i].getName(),mathematicsscore,englishiscore,networkscore);
        databasescore=sc.nextDouble();
        scoreinputscreen6(a[i].getStunumber(),a[i].getName(),mathematicsscore,englishiscore,networkscore,databasescore);
        softwarescore=sc.nextDouble();
        scoreinputscreen7(a[i].getStunumber(),a[i].getName(),mathematicsscore,englishiscore,networkscore,databasescore,softwarescore);
        String s = sc.next();
        x = s.charAt(0);
        if(x=='Y')
        {
            sum++;
            ScoreManagement.addscore(a[i].getStunumber(),name,mathematicsscore,englishiscore,networkscore,databasescore,softwarescore);
        }
        else {
            flag=1;
        }
        }while(x=='N');
      }  
    public static void scoretuichu()
    {
        System.out.println("***********************************************************\n" +
                "谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "制作人:肖洋\n" +
                "*********************************************************** ");
    }
    public static void scorechange1()
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩修改界面 \n" +
                "*********************************************************** \n" +
                "请输入学生学号:\n" +
                "********************************************************** ");
    }
    public static void scorechange2(String stu,String na,double math,double english,double network,double database,double software)
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n" +
                "学生考试成绩录入\n" +
                "***********************************************************\n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "1、高等数学成绩:"+math+" \n" +
                "2、大学英语成绩:"+english+" \n" +
                "3、计算机网络成绩: "+network+"\n" +
                "4、数据库成绩:"+database+" \n" +
                "5、软件工程成绩:"+software+"\n" +
                "**********************************************************");
    }
    public static void scorechange3(String stu,String na,double math,double english,double network,double database,double software)
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n" +
                "学生考试成绩录入\n" +
                "***********************************************************\n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "1、高等数学成绩:"+math+" \n" +
                "2、大学英语成绩:"+english+" \n" +
                "3、计算机网络成绩: "+network+"\n" +
                "4、数据库成绩:"+database+" \n" +
                "5、软件工程成绩:"+software+"\n" +
                "该学生成绩已修改完毕,是否提交(Y/N)");
            System.out.println("**********************************************************");
    }
    public static void mathscore(String stu,String na)
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "请输入修改后高等数学成绩: \n" +
                "********************************************************** ");
    }
    public static void englishscore(String stu,String na)  
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "请输入修改后大学英语成绩: \n" +
                "********************************************************** ");
    }
    public static void networkscore(String stu,String na)
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "请输入修改后计算机网络成绩: \n" +
                "********************************************************** ");
    }
    public static void databasescore(String stu,String na)  
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "请输入修改后数据库成绩: \n" +
                "********************************************************** ");
    }
    public static void softwarescore(String stu,String na)
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩录入界面 \n" +
                "*********************************************************** \n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "请输入修改后软件工程成绩: \n" +
                "********************************************************** ");
    }
    public static void scorechange()
    {
        sc = new Scanner(System.in);
        int flag=0;
        char x='N';
        String s;
        int count=0;
        int k=0;
        int i;
        String stunumber="";
        do
        {
        while(flag==0)
        {
            scorechange1();
            System.out.println("请输入八位学生学号");
            stunumber=sc.next();
            for(i=sum;i>=0;i--) {
                if(stunumber.equals(a[i].getStunumber()))
                {
        scorechange2(a[i].getStunumber(),a[i].getName(),a[i].getMathematicsscore(),a[i].getEnglishiscore(),a[i].getNetworkscore() ,a[i].getDatabasescore(),a[i].getSoftwarescore());
                    flag=1;
                    k=i;
                    break;
                }
                else {
                count++;
                }
            }
            if(count==6)
                System.out.println("该学号不存在");
        }
        double mathematicsscore;
        double englishiscore;
        double networkscore;
        double databasescore;
        double softwarescore;
        int b=0;
        System.out.println("请选择:");
        b=sc.nextInt();
        switch(b) {
        case 1:
            mathscore(a[k].getStunumber(),a[k].getName());
            mathematicsscore=sc.nextDouble();
            scorechange3(a[k].getStunumber(),a[k].getName(),mathematicsscore,a[k].getEnglishiscore(),a[k].getNetworkscore() ,a[k].getDatabasescore(),a[k].getSoftwarescore());
            s= sc.next();
            x = s.charAt(0);
            if(s.equals("Y"))
            {
                sum++;
                ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),mathematicsscore,a[k].getEnglishiscore(),a[k].getNetworkscore() ,a[k].getDatabasescore(),a[k].getSoftwarescore());
            }    
            break;
        case 2:
            englishscore(a[k].getStunumber(),a[k].getName());
            englishiscore=sc.nextDouble();
            scorechange3(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),englishiscore,a[k].getNetworkscore() ,a[k].getDatabasescore(),a[k].getSoftwarescore());
            s= sc.next();
            x = s.charAt(0);
            if(s.equals("Y"))
            {
                sum++;
                ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),englishiscore,a[k].getNetworkscore() ,a[k].getDatabasescore(),a[k].getSoftwarescore());
            }    
            break;
        case 3:
            networkscore(a[k].getStunumber(),a[k].getName());
            networkscore=sc.nextDouble();
            scorechange3(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),networkscore,a[k].getDatabasescore(),a[k].getSoftwarescore());
            s= sc.next();
            x = s.charAt(0);
            if(s.equals("Y"))
            {
                sum++;
                ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),networkscore,a[k].getDatabasescore(),a[k].getSoftwarescore());
            }    
            break;
        case 4:
            databasescore(a[k].getStunumber(),a[k].getName());
            databasescore=sc.nextDouble();
            scorechange3(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),a[k].getNetworkscore(),databasescore,a[k].getSoftwarescore());
            s= sc.next();
            x = s.charAt(0);
            if(s.equals("Y"))  
            {
                sum++;
                ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),a[k].getNetworkscore(),databasescore,a[k].getSoftwarescore());
            }    
            break;
        case 5:
            softwarescore(a[k].getStunumber(),a[k].getName());
            softwarescore=sc.nextDouble();
            scorechange3(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),a[k].getNetworkscore(),a[k].getDatabasescore(),softwarescore);
             s= sc.next();
            x = s.charAt(0);
            if(s.equals("Y"))
            {
                sum++;
                ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),a[k].getNetworkscore(),a[k].getDatabasescore(),softwarescore);
            }    
            break;
        }
        if(x=='Y') {
            flag=0;
        }
        }while(x=='N');
    }
    public static void pointcalculate1()
    {
        System.out.println("***********************************************************\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" +
                "学生考试成绩绩点计算界面 \n" +
                "*********************************************************** \n" +
                "请输入学生学号:\n" +
                "********************************************************** ");
    }
    public static double pointcalculate2(double l)
    {
        double m=0;
        if(l<60)
         m=0.0;
        if(l>=60&&l<=63.9)
            m=1.0;
        if(l>=64&&l<=65.9)
            m=1.5;
        if(l>=66&&l<=67.9)
            m=1.7;
        if(l>=68&&l<=71.9)
            m=2.0;
        if(l>=72&&l<=74.9)
            m=2.3;
        if(l>=75&&l<=77.9)
            m=2.7;
        if(l>=78&&l<=81.9)
            m=3.0;
        if(l>=82&&l<=84.9)
            m=3.3;
        if(l>=85&&l<=89.9)
            m=3.7;
        if(l>=90)
            m=4.0;
        return m;
    }
    public static void pointcalculate3(String stu,String na,double ma,double eng,double net,double data,double soft,double avg)
    {
        System.out.println("***********************************************************\r\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
                "学生考试成绩绩点计算界面\r\n" +
                "*********************************************************** \r\n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "1、高等数学成绩绩点:"+ma+"\n" +
                "2、大学英语成绩绩点:"+eng+"\n" +
                "3、计算机网络成绩绩点:"+net+"\n" +
                "4、数据库成绩绩点:"+data+"\n" +
                "5、软件工程成绩绩点:"+soft+"\n" +
                "你的平均学分绩点为:"+avg+"\n" +
                "提示信息:你的学分绩点已达到毕业要求\n" +
                "是否返回系统主界面:(Y/N)");
                System.out.println("********************************************************** ");
    }
    public static void pointcalculate4(String stu,String na,double ma,double eng,double net,double data,double soft,double avg)
    {
        System.out.println("***********************************************************\r\n" +
                "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
                "学生考试成绩绩点计算界面\r\n" +
                "*********************************************************** \r\n" +
                "学生学号:"+stu+"\n" +
                "学生姓名:"+na+"\n" +
                "1、高等数学成绩绩点:"+ma+"\n" +
                "2、大学英语成绩绩点:"+eng+"\n" +
                "3、计算机网络成绩绩点:"+net+"\n" +
                "4、数据库成绩绩点:"+data+"\n" +
                "5、软件工程成绩绩点:"+soft+"\n" +
                "你的平均学分绩点为:"+avg+"\n" +
                "提示信息:你的学分绩点已达到毕业要求\n" +
                "是否返回系统主界面:(Y/N)");
                System.out.println("********************************************************** ");
    }
    public static void pointcalculate()
    {
        String stunumber;
        int i;
        int k=0;
        sc = new Scanner(System.in);
        pointcalculate1();
        System.out.println("请输入八位学生学号");
        stunumber=sc.next();
        for(i=sum;i>=0;i--)
        {
            if(stunumber.equals(a[i].getStunumber())){
            k=i;
            break;
            }
        }
        double j;
        double math;
        double english;
        double network;
        double database;
        double software;
        j=a[k].getMathematicsscore();
        math=pointcalculate2(j);
        j=a[k].getEnglishiscore();
        english=pointcalculate2(j);
        j=a[k].getNetworkscore();
        network=pointcalculate2(j);
        j=a[k].getDatabasescore();
        database=pointcalculate2(j);
        j=a[k].getSoftwarescore();
        software=pointcalculate2(j);
        double avgpointscore;
        avgpointscore=(4*math+3*english+4*network+3*database+2*software)/16;
        if(avgpointscore>=2)
        pointcalculate3(a[k].getStunumber(),a[k].getName(),math,english,network,database,software,avgpointscore);
        else
        pointcalculate4(a[k].getStunumber(),a[k].getName(),math,english,network,database,software,avgpointscore);
        String s = sc.next();
        char x = s.charAt(0);
        if(x=='Y')
        {
            flag1=1;
        }
        else
        {
            flag1=0;
        }
    }
    public static void main(String[] args){
        
        sc = new Scanner(System.in);
        int k1;
        String stunumber;
        String name;
        double mathematicsscore;
        double englishiscore;
        double networkscore;
        double databasescore;
        double softwarescore;
        System.out.println("现在是初始创建学生信息,请输入学生信息(格式:学号 姓名 高数成绩 英语成绩 计算机网络成绩 数据库成绩 软件工程成绩):");
         for(k1=0;k1<5;k1++) {   
              stunumber = sc.next();
              name = sc.next();
              mathematicsscore= sc.nextDouble();
              englishiscore =  sc.nextDouble();
              networkscore= sc.nextDouble();
              databasescore=sc.nextDouble();
              softwarescore=sc.nextDouble();
              ScoreManagement.addscore(stunumber,name,mathematicsscore,englishiscore,networkscore,databasescore,softwarescore);
             sum++;
           }
            mainscreen();
            while(choose<1||choose>4)
            {
            System.out.println("该选项不存在");
            mainscreen();
            }
            while(1<=choose&&choose<=3) {
           switch(choose) {
           case 1:   
              scoreinput();
              flag1=1;
               break;
           case 2:
               scorechange();
               flag1=1;
               break;
           case 3:
               pointcalculate();
               break;
           }
           if(flag1==1)
          mainscreen();
           else
            break;
    }
            if(choose==4)
                scoretuichu();
    }
        }


猜你喜欢

转载自www.cnblogs.com/yang2000/p/11509014.html