zoukankan      html  css  js  c++  java
  • 9.9 日测试

    本次测试我们使用Java编写了一个学生的成绩管理系统:

    具体要求如下:


    1、定义 ScoreInformation 类,其中包括七个私有变量(stunumber,
    name, mathematicsscore, englishiscore,networkscore, databasescore,
    softwarescore)。
    各成员的含义如下:
    变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数
    字组成)。
    变量 name 为字符串类型 String,用于存储学生的姓名。
    变量 mathematicsscore 为 double 类型,用于存储学生的高等数学成绩,
    高等数学的学分为 4 分。
    变量 englishiscore 为 double 类型,用于存储学生的大学英语成绩,大学
    英语的学分为 3 分。
    变量 networkscore 为 double 类型,用于存储学生的计算机网络成绩,计
    算机网络的学分为 4 分。
    第 2 页 共  8 页
    变量 databasescore 为 double 类型,用于存储学生的数据库成绩,数据库
    的学分为 3 分。
    变量 softwarescore 为 double 类型,用于存储学生的软件工程成绩,软件
    工程的学分为 2 分。
    对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的
    方法。
    2 、 赋 初 值 方 法 包 括 七 个 参 数 , 用 于 为 变 量 (stunumber ,
    name, mathematicsscore, englishiscore,networkscore, databasescore,
    softwarescore)赋值。


    首先定义一个 ScoreInformation 类 设置私有变量并创建构造方法,get set 方法,进行调试:

    具体源代码如下:

     1 package 课堂测试试卷;
     2 /**
     3  * 信1805-2
     4  * @author cuixingyu
     5  * 20183547
     6  */
     7 public class ScoreInformation {
     8     
     9     private String stunumber; //学号
    10     private String name;  //姓名
    11     private double mathematicsscore; //高等数学
    12     private double englishiscore;   //大学英语
    13     private double networkscore;    //计算机网络成绩
    14     private double databasescore;   //数据库成绩
    15     private double softwarescore;   //软件工程成绩
    16     
    17     public ScoreInformation(String stunumber, String name, double mathematicsscore, double englishiscore, double networkscore,
    18             double databasescore, double softwarescore) {
    19         super();
    20         this.stunumber = stunumber;
    21         this.name = name;
    22         this.mathematicsscore = mathematicsscore;
    23         this.englishiscore = englishiscore;
    24         this.networkscore = networkscore;
    25         this.databasescore = databasescore;
    26         this.softwarescore = softwarescore;
    27     }
    28     public String getStunumber() {
    29         return stunumber;
    30     }
    31     public void setStunumber(String stunumber) {
    32         this.stunumber = stunumber;
    33     }
    34     public String getName() {
    35         return name;
    36     }
    37     public void setName(String name) {
    38         this.name = name;
    39     }
    40     public double getMathematicsscore() {
    41         return mathematicsscore;
    42     }
    43     public void setMathematicsscore(double mathematicsscore) {
    44         this.mathematicsscore = mathematicsscore;
    45     }
    46     public double getEnglishiscore() {
    47         return englishiscore;
    48     }
    49     public void setEnglishiscore(double englishiscore) {
    50         this.englishiscore = englishiscore;
    51     }
    52     public double getNetworkscore() {
    53         return networkscore;
    54     }
    55     public void setNetworkscore(double networkscore) {
    56         this.networkscore = networkscore;
    57     }
    58     public double getDatabasescore() {
    59         return databasescore;
    60     }
    61     public void setDatabasescore(double databasescore) {
    62         this.databasescore = databasescore;
    63     }
    64     public double getSoftwarescore() {
    65         return softwarescore;
    66     }
    67     public void setSoftwarescore(double softwarescore) {
    68         this.softwarescore = softwarescore;
    69     }
    70     public static void main(String[] args) {
    71         ScoreInformation s=new ScoreInformation("20183547","崔星宇",90.0,90.0,90.0,90.0,90.0);
    72         System.out.println(s.getStunumber()+" "+s.getName()+" "+s.getEnglishiscore()+" "+s.getMathematicsscore()+" "+s.getSoftwarescore()+" "+s.getNetworkscore()+" "+s.getDatabasescore());
    73     }
    74 
    75 }

    功能要求如下:

    1、定义 ScoreInformation 类,其中包括七个私有变量(stunumber,
    name, mathematicsscore, englishiscore,networkscore, databasescore,
    softwarescore)。
    各成员的含义如下:
    变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数
    字组成)。
    变量 name 为字符串类型 String,用于存储学生的姓名。
    变量 mathematicsscore 为 double 类型,用于存储学生的高等数学成绩,
    高等数学的学分为 4 分。
    变量 englishiscore 为 double 类型,用于存储学生的大学英语成绩,大学
    英语的学分为 3 分。
    变量 networkscore 为 double 类型,用于存储学生的计算机网络成绩,计
    算机网络的学分为 4 分。
    第 2 页 共  8 页
    变量 databasescore 为 double 类型,用于存储学生的数据库成绩,数据库
    的学分为 3 分。
    变量 softwarescore 为 double 类型,用于存储学生的软件工程成绩,软件
    工程的学分为 2 分。
    对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的
    方法。
    2 、 赋 初 值 方 法 包 括 七 个 参 数 , 用 于 为 变 量 (stunumber ,
    name, mathematicsscore, englishiscore,networkscore, databasescore,
    softwarescore)赋值。
    三、 功能要求:(10 分)
    该系统完成学生成绩录入,修改,计算学分积点和查询学生成绩的简单
    功能,定义 ScoreManagement 类完成下列功能。
    1、利用数组实现至少存储五个学生的信息; (将考生信息作为第一条记
    录)。(1 分)
    2、学生成绩管理系统的主界面如下图所示:(1 分)
    ①界面要求;(0.5 分)
    ***********************************************************
    石家庄铁道大学软件工程系
    学生学籍管理系统 2019 版
    ***********************************************************
    1、 学生考试成绩录入
    2、 学生考试成绩修改
    3、 计算学生成绩绩点
    4、退出学籍管理系统
    **********************************************************
     
    第 3 页 共  8 页
    ②功能说明
    输入数字 1-4 执行相应的功能,输入其他数字提示错误信息(该选项
    不存在),并返回主界面。(0.5 分)
    2、成绩录入功能操作流程:(3 分)
    ①在主界面选择成绩录入功能后,进入成绩录入界面,如下图所示: (0.5
    分)
    ***********************************************************
    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入
    ***********************************************************
    请输入学生学号:XXXXXXXX
    **********************************************************
    提示用户输入八位的学号。
    ②用户输入学号后,显示用户学号和姓名,如果用户学号不存在或信息错
    误提示错误信息(该学号不存在),并返回成绩录入界面。(0.5 分)
    ③用户输入学号正确如下图所示:
    ***********************************************************
    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入界面
    ***********************************************************
    学生学号:20183557
    学生姓名:杨雄豪
    请输入高等数学成绩:XXX
    **********************************************************
    提示用户输入高等数学成绩,用户输入正确的数字;则提示用户输入大学
    英语成绩,依次类推,提示用户录入计算机网络、数据库、软件工程成绩,当
    第 4 页 共  8 页
    用户录完所有成绩后,显示如下界面。(1.5 分)
    ***********************************************************
    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入
    ***********************************************************
    学生学号:20183557
    学生姓名:杨雄豪
    高等数学成绩:XXX
    大学英语成绩:XXX
    计算机网络成绩:XXX
    数据库成绩:XXX
    软件工程成绩:XXX
    该学生成绩已录入完毕,是否提交(Y/N)
    **********************************************************
    选择“Y”将录入成绩保存到相应的数组中,并返回主界面。选择“N”,
    则忽略上述成绩录入,并返回成绩录入界面。(0.5 分)
    3、成绩修改功能操作流程:(2 分)
    ①在主界面选择成绩修改功能后,进入考试成绩修改界面,如下图所示:
     
    ***********************************************************
    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩修改界面
    ***********************************************************
    请输入学生学号:XXXXXXXX
    **********************************************************
    提示用户输入八位的学号。(0.5 分)
     
    第 5 页 共  8 页
    ②用户输入学号后,显示用户学号、姓名和全部成绩信息,如下图所示。
     
    ***********************************************************
    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入
    ***********************************************************
    学生学号:20183557
    学生姓名:杨雄豪
    1、高等数学成绩:XXX
    2、大学英语成绩:XXX
    3、计算机网络成绩:XXX
    4、数据库成绩:XXX
    5、软件工程成绩:XXX
    **********************************************************
    如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回
    成绩修改界面。(0.5 分)
    ③用户选择相应的数字键,切换到如下界面(假如选择数字“5”)。(0.5
    分)
    ***********************************************************
    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入界面
    ***********************************************************
    学生学号:20183557
    学生姓名:杨雄豪
    请输入修改后软件工程成绩:XXX
    **********************************************************
    录入修改后的成绩,则进入下一步。
    第 6 页 共  8 页
    ***********************************************************
    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入
    ***********************************************************
    学生学号:20183557
    学生姓名:杨雄豪
    1、高等数学成绩:XXX
    2、大学英语成绩:XXX
    3、计算机网络成绩:XXX
    4、数据库成绩:XXX
    5、软件工程成绩:XXX
    该学生成绩已修改完毕,是否提交(Y/N)
    **********************************************************
     
    选择“Y”将修改后成绩保存到相应的数组中,并返回主界面。选择“N”,
    则忽略上述成绩录入,并返回成绩修改界面。(0.5 分)
     
    3、计算学生成绩绩点功能操作流程:(2 分)
    ①在主界面选择计算学生成绩绩点功能后,进入计算学生成绩绩点界面,
    如下图所示:
    ***********************************************************
    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩绩点计算界面
    ***********************************************************
    请输入学生学号:XXXXXXXX
    **********************************************************
    第 7 页 共  8 页
    提示用户输入八位的学号。
    ②用户输入学号后,显示用户学号、姓名、学分绩点、提示信息。如下图
    所示。(1.5 分)
    ***********************************************************
    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩绩点计算界面
    ***********************************************************
    学生学号:20183557
    学生姓名:杨雄豪
    1、高等数学成绩绩点:XXX
    2、大学英语成绩绩点:XXX
    3、计算机网络成绩绩点:XXX
    4、数据库成绩绩点:XXX
    5、软件工程成绩绩点:XXX
    你的平均学分绩点为:XXX
    提示信息:XXX XXX XXX XXX XXX XXX XXX
    是否返回系统主界面:(Y/N)
    **********************************************************
    如果学分绩点大于等于 2,提示信息显示“你的学分绩点已达到毕业要
    求!”;
    如果学分绩点小于 2,提示信息显示“你的学分绩点不满足毕业要求!”
     
     
     
     
     
    第 8 页 共  8 页
    学分绩点计算方法:
    (1) 百分制对应绩点
     
    分数  ≥90  
     85~
    89.9
    82~
    84.9
    78~
    81.9
    75~
    77.9
    72~
    74.9
    68~
    71.9
    66~
    67.9
    64~
    65.9
    60~
    63.9
    <60
    绩点  4.0   3.7  3.3  3.0  2.7  2.3  2.0  1.7  1.5  1.0  0
     
    (2)平均学分计算方法
    平均学分绩点=∑ ( 课程绩点× 该课程学分) /∑ 课程学分
    计算平均学分绩点按四舍五入原则, 小数点后保留两位有效数字。
     
    ③选择“Y”返回系统主界面。选择“N”,无操作。(0.5 分)
     
    4、用户选择数字“4”, 显示如下界面,退出当前程序。(1 分)
    ***********************************************************
    谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    制作人:考生姓名
    ***********************************************************


    代码实现如下:

    首先定义一个 jidian类 用于储存绩点,并便于输出

    代码实现如下:

     1 package 课堂测试试卷;
     2 
     3 public class jidian {
     4     private String id;
     5     private String name;
     6     private double s1;
     7     private double s2;
     8     private double s3;
     9     private double s4;
    10     private double s5;
    11     private double s6;
    12     
    13     
    14     public String getId() {
    15         return id;
    16     }
    17     public void setId(String id) {
    18         this.id = id;
    19     }
    20     public String getName() {
    21         return name;
    22     }
    23     public void setName(String name) {
    24         this.name = name;
    25     }
    26     public double getS1() {
    27         return s1;
    28     }
    29     public void setS1(double s1) {
    30         this.s1 = s1;
    31     }
    32     public double getS2() {
    33         return s2;
    34     }
    35     public void setS2(double s2) {
    36         this.s2 = s2;
    37     }
    38     public double getS3() {
    39         return s3;
    40     }
    41     public void setS3(double s3) {
    42         this.s3 = s3;
    43     }
    44     public double getS4() {
    45         return s4;
    46     }
    47     public void setS4(double s4) {
    48         this.s4 = s4;
    49     }
    50     public double getS5() {
    51         return s5;
    52     }
    53     public void setS5(double s5) {
    54         this.s5 = s5;
    55     }
    56     public double getS6() {
    57         return s6;
    58     }
    59     public void setS6(double s6) {
    60         this.s6 = s6;
    61     }
    62     public jidian(String id, String name, double s1, double s2, double s3, double s4, double s5, double s6) {
    63         super();
    64         this.id = id;
    65         this.name = name;
    66         this.s1 = s1;
    67         this.s2 = s2;
    68         this.s3 = s3;
    69         this.s4 = s4;
    70         this.s5 = s5;
    71         this.s6 = s6;
    72     }
    73 }

    主要代码如下:

      1 /** 信1805-2
      2  *  崔星宇
      3  *  20183547
      4  */ 
      5 package 课堂测试试卷;
      6 
      7 import java.util.Scanner;
      8 
      9 public class ScoreManagement {
     10     static Scanner sc=null;
     11     //static ScoreInformation s[]=new ScoreInformation[1000];
     12     static ScoreInformation s1=new ScoreInformation("20183547","崔星宇",0,0,0,0,0);
     13     static ScoreInformation s2=new ScoreInformation("20183549","张三",0,0,0,0,0);
     14     static ScoreInformation s3=new ScoreInformation("20183550","李四",0,0,0,0,0);
     15     static ScoreInformation s4=new ScoreInformation("20183551","王五",0,0,0,0,0);
     16     static ScoreInformation s5=new ScoreInformation("20183552","赵六",0,0,0,0,0);
     17     static ScoreInformation S=new ScoreInformation(null,null,0,0,0,0,0);
     18     static jidian s=new jidian(null,null,0,0,0,0,0,0);
     19     /**
     20      * 主界面
     21      */
     22     public static void Menu() {
     23      System.out.println("***********************************************************
    " + 
     24              "        石家庄铁道大学软件工程系 
    " + 
     25              "        学生学籍管理系统 2019版 
    " + 
     26              "*********************************************************** 
    " + 
     27              "        1、 学生考试成绩录入 
    " + 
     28              "        2、 学生考试成绩修改 
    " + 
     29              "        3、 计算学生成绩绩点 
    " + 
     30              "        4、退出学籍管理系统 
    " + 
     31              "********************************************************** ");    
     32         int i=1;
     33         sc=new Scanner(System.in);
     34         while(i!=4) {   //选择需要的操作
     35         i=sc.nextInt();
     36         switch(i) {
     37         case 1: 
     38             addinfo();
     39             break;
     40         case 2:
     41             updateinfo();
     42             break;
     43         case 3:
     44             mathinfo();
     45             break;
     46         case 4:
     47             menuend();
     48             break;
     49         default:
     50             System.out.println("该选项不存在");
     51             Menu();
     52         break;
     53         }
     54     }
     55     }
     56     /**
     57      * 结束界面
     58      */
     59 
     60     public static void menuend() {
     61         System.out.println("***********************************************************
    " + 
     62                 "        谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
     63                 "        制作人:崔星宇 
    " + 
     64                 "***********************************************************");
     65           System.exit(0);
     66     }
     67     /**
     68      * 录入界面
     69      */
     70     public static String menu1() {
     71         System.out.println("***********************************************************
    " + 
     72                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
     73                 "        学生考试成绩录入 
    " + 
     74                 "*********************************************************** 
    " + 
     75                 "        请输入学生学号:          
    " + 
     76                 "********************************************************** ");
     77         int i=0;
     78         sc=new Scanner(System.in);  //判断学号是否是八位
     79         String q=sc.next();
     80         if(q.length()!=8) {
     81             System.out.println("该学号不存在");
     82             menu1();
     83         }
     84         int k=0;
     85         if(s1.getStunumber().compareTo(q)!=0) {   //判断已经录入的学生里面是否由该学生
     86             k++;
     87         }
     88         if(s2.getStunumber().compareTo(q)!=0) {
     89             k++;
     90         }
     91         if(s3.getStunumber().compareTo(q)!=0) {
     92             k++;
     93         }
     94         if(s4.getStunumber().compareTo(q)!=0) {
     95             k++;
     96         }
     97         if(s5.getStunumber().compareTo(q)!=0) {
     98             k++;
     99         }
    100         if(k==5)
    101         {
    102             System.out.println("该学号不存在");
    103             menu1();
    104         }
    105         return q;
    106     }
    107     
    108     //录入高等数学成绩
    109     public static void menu2() {
    110         System.out.println("***********************************************************
    " + 
    111                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    112                 "        学生考试成绩录入界面 
    " +
    113                 "*********************************************************** 
    " + 
    114                 "        学生学号: 
    " + S.getStunumber()+ "
    "+
    115                 "        学生姓名: 
    " + S.getName()+"
    "+
    116                 "        请输入高等数学成绩: 
    " + 
    117                 "********************************************************** ");
    118     }
    119     //录入大学英语成绩
    120     public static void menu3() {
    121         System.out.println("***********************************************************
    " + 
    122                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    123                 "        学生考试成绩录入 
    " + 
    124                 "*********************************************************** 
    " + 
    125                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    126                 "        学生姓名: 
    " + S.getName()+"
    "+
    127                 "        高等数学成绩: 
    " + S.getMathematicsscore()+"
    "+
    128                 "        请输入大学英语成绩: 
    " + 
    129                 "********************************************************** ");
    130         
    131     }
    132     //录入计算机网络成绩
    133     public static void menu4() {
    134         System.out.println("***********************************************************
    " + 
    135                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    136                 "        学生考试成绩录入 
    " + 
    137                 "*********************************************************** 
    " + 
    138                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    139                 "        学生姓名:
    " + S.getName()+"
    "+
    140                 "        高等数学成绩: 
    " + S.getMathematicsscore()+"
    "+
    141                 "        大学英语成绩: 
    " + S.getEnglishiscore()+"
    "+
    142                 "        请输入计算机网络成绩: 
    " + 
    143                 
    144                 "********************************************************** ");
    145         
    146     }
    147     //录入数据库成绩
    148     public static void menu5() {
    149         System.out.println("***********************************************************
    " + 
    150                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    151                 "        学生考试成绩录入 
    " + 
    152                 "*********************************************************** 
    " + 
    153                 "        学生学号: 
    " +  S.getStunumber()+"
    "+
    154                 "        学生姓名:
    " + S.getName()+"
    "+
    155                 "        高等数学成绩: 
    " + S.getMathematicsscore()+"
    "+
    156                 "        大学英语成绩: 
    " + S.getEnglishiscore()+"
    "+
    157                 "        计算机网络成绩: 
    " + S.getNetworkscore()+"
    "+
    158                 "        请输入数据库成绩:
    " + 
    159                 "********************************************************** ");
    160     }
    161     //录入软件工程成绩
    162     public static void menu6() {
    163         System.out.println("***********************************************************
    " + 
    164                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    165                 "        学生考试成绩录入 
    " + 
    166                 "*********************************************************** 
    " + 
    167                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    168                 "        学生姓名:
    " + S.getName()+"
    "+
    169                 "        高等数学成绩: 
    " + S.getMathematicsscore()+"
    "+
    170                 "        大学英语成绩: 
    " + S.getEnglishiscore()+"
    "+
    171                 "        计算机网络成绩: 
    " + S.getNetworkscore()+"
    "+
    172                 "        数据库成绩:
    " + S.getDatabasescore()+"
    "+
    173                 "        请输入软件工程成绩:
    " + 
    174                 
    175                 "********************************************************** ");
    176         
    177     }
    178     //输入完成界面 全部输出成绩并寻求是否保存
    179     public static void menu7() {
    180         System.out.println("***********************************************************
    " + 
    181                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    182                 "        学生考试成绩录入 
    " + 
    183                 "*********************************************************** 
    " + 
    184                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    185                 "        学生姓名:
    " + S.getName()+"
    "+
    186                 "        高等数学成绩: 
    " + S.getMathematicsscore()+"
    "+
    187                 "        大学英语成绩: 
    " + S.getEnglishiscore()+"
    "+
    188                 "        计算机网络成绩: 
    " + S.getNetworkscore()+"
    "+
    189                 "        数据库成绩:
    " + S.getDatabasescore()+"
    "+
    190                 "        软件工程成绩:
    " + S.getSoftwarescore()+"
    "+
    191                 "        该学生成绩已录入完毕,是否提交(Y/N) 
    " + 
    192                 "********************************************************** ");
    193         
    194     }
    195 /**
    196  * 修改界面
    197   */
    198     public static String menu21() {
    199         System.out.println("***********************************************************
    " + 
    200                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    201                 "        学生考试成绩修改界面 
    " + 
    202                 "*********************************************************** 
    " + 
    203                 "        请输入学生学号(输入八位的学号): 
    " + 
    204                 "********************************************************** ");
    205         sc=new Scanner(System.in);
    206         String q=sc.next();
    207         return q;
    208     }
    209     //输出所查询的学生所有成绩
    210     public static void menu22() {
    211      System.out.println("***********************************************************
    " + 
    212              "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    213              "        学生考试成绩录入 
    " + 
    214              "*********************************************************** 
    " + 
    215              "        学生学号: 
    " + S.getStunumber()+"
    "+
    216              "        学生姓名:
    " + S.getName()+"
    "+
    217              "        1、高等数学成绩:
    " + S.getMathematicsscore()+"
    "+
    218              "        2、大学英语成绩: 
    " + S.getEnglishiscore()+"
    "+
    219              "        3、计算机网络成绩:
    " + S.getNetworkscore()+"
    "+
    220              "        4、数据库成绩:
    " + S.getDatabasescore()+"
    "+
    221              "        5、软件工程成绩:
    " + S.getSoftwarescore()+"
    "+
    222              "********************************************************** ");
    223      int i;
    224      sc=new Scanner(System.in);
    225      i=sc.nextInt();
    226      switch(i) {
    227      case 1:   //选择需要修改的成绩
    228          menu23();
    229          break;
    230      case 2:
    231          menu24();
    232          break;
    233      case 3:
    234          menu25();
    235          break;
    236      case 4:
    237          menu26();
    238          break;
    239      case 5:
    240          menu27();
    241          break;
    242      }
    243     }
    244     //修改高数成绩
    245     public static void menu23() {
    246         System.out.println("***********************************************************
    " + 
    247                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    248                 "        学生考试成绩录入界面 
    " + 
    249                 "*********************************************************** 
    " + 
    250                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    251                 "        学生姓名: 
    " + S.getName()+"
    "+
    252                 "        请输入修改后高等数学成绩: 
    " + 
    253                 "********************************************************** ");
    254         sc=new Scanner(System.in);
    255         double a=sc.nextDouble();
    256         S.setMathematicsscore(a);
    257         
    258     }
    259     //修改大学英语成绩
    260     public static void menu24() {
    261         System.out.println("***********************************************************
    " + 
    262                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    263                 "        学生考试成绩录入界面 
    " + 
    264                 "*********************************************************** 
    " + 
    265                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    266                 "        学生姓名: 
    " + S.getName()+"
    "+
    267                 "        请输入修改后大学英语成绩: 
    " + 
    268                 "********************************************************** ");
    269         sc=new Scanner(System.in);
    270         double a=sc.nextDouble();
    271         S.setEnglishiscore(a);
    272     }
    273     //修改计算机网络成绩
    274     public static void menu25() {
    275         System.out.println("***********************************************************
    " + 
    276                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    277                 "        学生考试成绩录入界面 
    " + 
    278                 "*********************************************************** 
    " + 
    279                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    280                 "        学生姓名: 
    " + S.getName()+"
    "+
    281                 "        请输入修改后计算机网络成绩: 
    " + 
    282                 "********************************************************** ");
    283         sc=new Scanner(System.in);
    284         double a=sc.nextDouble();
    285         S.setNetworkscore(a);
    286     }
    287     //修改数据库成绩
    288     public static void menu26() {
    289         System.out.println("***********************************************************
    " + 
    290                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    291                 "        学生考试成绩录入界面 
    " + 
    292                 "*********************************************************** 
    " + 
    293                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    294                 "        学生姓名: 
    " + S.getName()+"
    "+
    295                 "        请输入修改后数据库成绩: 
    " + 
    296                 "********************************************************** ");
    297         sc=new Scanner(System.in);
    298         double a=sc.nextDouble();
    299         S.setDatabasescore(a);
    300         
    301     }
    302     //修改软件工程成绩
    303     public static void menu27() {
    304         System.out.println("***********************************************************
    " + 
    305                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    306                 "        学生考试成绩录入界面 
    " + 
    307                 "*********************************************************** 
    " + 
    308                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    309                 "        学生姓名: 
    " + S.getName()+"
    "+
    310                 "        请输入修改后软件工程成绩: 
    " + 
    311                 "********************************************************** ");
    312         sc=new Scanner(System.in);
    313         double a=sc.nextDouble();
    314         S.setSoftwarescore(a);
    315         
    316     }
    317     //全部输出成绩并寻求是否保存
    318     public static void menu28() {
    319         System.out.println("***********************************************************
    " + 
    320                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    321                 "        学生考试成绩录入 
    " + 
    322                 "*********************************************************** 
    " + 
    323                 "        学生学号: 
    " + S.getStunumber()+"
    "+
    324                 "        学生姓名: 
    " + S.getName()+"
    "+
    325                 "        1、高等数学成绩: 
    " + S.getMathematicsscore()+"
    "+
    326                 "        2、大学英语成绩: 
    " + S.getEnglishiscore()+"
    "+
    327                 "        3、计算机网络成绩: 
    " + S.getNetworkscore()+"
    "+
    328                 "        4、数据库成绩: 
    " + S.getDatabasescore()+"
    "+
    329                 "        5、软件工程成绩: 
    " + S.getSoftwarescore()+"
    "+
    330                 "        该学生成绩已修改完毕,是否提交(Y/N) 
    " + 
    331                 "********************************************************** ");
    332     }
    333     
    334     //计算学生绩点输入学号
    335     public static void menu31() {
    336         System.out.println("***********************************************************
    " + 
    337                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    338                 "        学生考试成绩绩点计算界面 
    " + 
    339                 "*********************************************************** 
    " + 
    340                 "        请输入学生学号: 
    " + 
    341                 "********************************************************** ");
    342     }
    343     //输出绩点
    344     public static void menu32() {
    345         double a=s.getS6();
    346         if(a>2||a==2) {
    347             System.out.println("***********************************************************
    " + 
    348                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    349                 "        学生考试成绩绩点计算界面
    " + 
    350                 "*********************************************************** 
    " + 
    351                 "        学生学号: 
    " + s.getId()+"
    "+
    352                 "        学生姓名:
    " + s.getName()+"
    "+
    353                 "        1、高等数学成绩绩点: 
    " + s.getS1()+"
    "+
    354                 "        2、大学英语成绩绩点: 
    " + s.getS2()+"
    "+
    355                 "        3、计算机网络成绩绩点: 
    " + s.getS3()+"
    "+
    356                 "        4、数据库成绩绩点: 
    " + s.getS4()+"
    "+
    357                 "        5、软件工程成绩绩点: 
    " + s.getS5()+"
    "+
    358                 "        你的平均学分绩点为: 
    " + String.format("%.2f", s.getS6())+"
    "+  //输出保留两位小数
    359                 "        提示信息: 
    " + "你的学分绩点已达到毕业要求!"+"
    "+
    360                 "        是否返回系统主界面:(Y/N) 
    " + 
    361                 "********************************************************** ");
    362         }
    363         else {
    364             System.out.println("***********************************************************
    " + 
    365                     "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 
    " + 
    366                     "        学生考试成绩绩点计算界面
    " + 
    367                     "*********************************************************** 
    " + 
    368                     "        学生学号: 
    " + s.getId()+"
    "+
    369                     "        学生姓名:
    " + s.getName()+"
    "+
    370                     "        1、高等数学成绩绩点: 
    " + s.getS1()+"
    "+
    371                     "        2、大学英语成绩绩点: 
    " + s.getS2()+"
    "+
    372                     "        3、计算机网络成绩绩点: 
    " + s.getS3()+"
    "+
    373                     "        4、数据库成绩绩点: 
    " + s.getS4()+"
    "+
    374                     "        5、软件工程成绩绩点: 
    " + s.getS5()+"
    "+
    375                     "        你的平均学分绩点为: 
    " + String.format("%.2f", s.getS6())+"
    "+  //输出保留两位小数
    376                     "        提示信息: 
    " + "你的学分绩点不满足毕业要求!"+"
    "+
    377                     "        是否返回系统主界面:(Y/N) 
    " + 
    378                     "********************************************************** ");
    379         }
    380         String f;
    381         f=sc.next();
    382         String d=new String("Y");
    383         boolean k;
    384         k=f.equals(d);
    385         if(k) {
    386             Menu();
    387         }
    388         else {
    389             System.out.println("无操作");
    390         }
    391         
    392     }
    393     //求绩点
    394     public static double xf(double a) {
    395         double x = 0;
    396         if(a<60) {
    397             x=0;
    398         }
    399         if(a==60||a>60&&a<63.9) {
    400             x=1.0;
    401         }
    402         if(a==64||a>64&&a<65.9) {
    403             x=1.5;
    404         }
    405 
    406         if(a==66||a>66&&a<67.9) {
    407             x=1.7;
    408         }
    409 
    410         if(a==68||a>68&&a<71.9) {
    411             x=2.0;
    412         }
    413         if(a==72||a>72&&a<74.9) {
    414             x=2.3;
    415         }
    416         if(a==75||a>75&&a<77.9) {
    417             x=2.7;
    418         }
    419         if(a==78||a>78&&a<81.9) {
    420             x=3.0;
    421         }
    422         if(a==82||a>82&&a<84.9) {
    423             x=3.3;
    424         }
    425         if(a==85||a>85&&a<89.9) {
    426             x=3.7;
    427         }
    428         if(a==90||a>90) {
    429             x=4.0;
    430         }
    431         return x;
    432     }
    433 /**
    434  * 录入学生成绩
    435  */
    436     public static void addinfo() {
    437         System.out.println("录入学生成绩");
    438         String id= menu1();
    439 
    440         if(s1.getStunumber().compareTo(id)==0) {
    441             S=s1;
    442         }
    443         if(s2.getStunumber().compareTo(id)==0) {
    444             S=s2;
    445         }
    446         if(s3.getStunumber().compareTo(id)==0) {
    447             S=s3;
    448         }
    449         if(s4.getStunumber().compareTo(id)==0) {
    450             S=s4;
    451         }
    452         if(s5.getStunumber().compareTo(id)==0) {
    453             S=s5;
    454         }
    455         double a1,a2,a3,a4,a5;
    456         menu2();
    457         a1=sc.nextDouble();          
    458         S.setMathematicsscore(a1);    //添加成绩
    459         menu3();
    460         a2=sc.nextDouble();
    461         S.setEnglishiscore(a2);
    462         menu4();
    463         a3=sc.nextDouble();
    464         S.setNetworkscore(a3);
    465         menu5();
    466         a4=sc.nextDouble();
    467         S.setDatabasescore(a4);
    468         menu6();
    469         a5=sc.nextDouble();
    470         S.setSoftwarescore(a5);
    471         menu7();
    472         String f;
    473         f=sc.next();
    474         String d=new String("Y");
    475         boolean k;
    476         k=f.equals(d);    //判断 是否成绩录入
    477         if(k) {
    478             if(s1.getStunumber().compareTo(id)==0) {
    479                 s1=S;
    480             }
    481             if(s2.getStunumber().compareTo(id)==0) {
    482                 s2=S;
    483             }
    484             if(s3.getStunumber().compareTo(id)==0) {
    485                 s3=S;
    486             }
    487             if(s4.getStunumber().compareTo(id)==0) {
    488                 s4=S;
    489             }
    490             if(s5.getStunumber().compareTo(id)==0) {
    491                 s5=S;
    492             }
    493             Menu();
    494         }else {
    495             Menu();
    496         }
    497    }
    498     /**
    499      * 修改学生信息
    500      */
    501     public static void updateinfo() {
    502         System.out.println("学生成绩修改");
    503         String id=menu21();  //打印界面
    504         if(s1.getStunumber().compareTo(id)==0) {  
    505             S=s1;
    506         }
    507         if(s2.getStunumber().compareTo(id)==0) {
    508             S=s2;
    509         }
    510         if(s3.getStunumber().compareTo(id)==0) {
    511             S=s3;
    512         }
    513         if(s4.getStunumber().compareTo(id)==0) {
    514             S=s4;
    515         }
    516         if(s5.getStunumber().compareTo(id)==0) {
    517             S=s5;
    518         }
    519         menu22();
    520         menu28();
    521         sc=new Scanner(System.in);
    522         String f;
    523         f=sc.next();
    524         String d=new String("Y");  //判断 是否成绩录入
    525         boolean k;
    526         k=f.equals(d);
    527         if(k) {
    528             if(s1.getStunumber().compareTo(id)==0) {
    529                 s1=S;
    530             }
    531             if(s2.getStunumber().compareTo(id)==0) {
    532                 s2=S;
    533             }
    534             if(s3.getStunumber().compareTo(id)==0) {
    535                 s3=S;
    536             }
    537             if(s4.getStunumber().compareTo(id)==0) {
    538                 s4=S;
    539             }
    540             if(s5.getStunumber().compareTo(id)==0) {
    541                 s5=S;
    542             }
    543             Menu();
    544         }else {
    545             Menu();
    546         }
    547         
    548     }
    549     /**
    550      * 计算学生绩点
    551      */
    552     public static void mathinfo() {
    553         System.out.println("计算学生成绩绩点 ");
    554         menu31();
    555         sc=new Scanner(System.in);
    556         String id=sc.next();
    557         if(s1.getStunumber().compareTo(id)==0) {  //判断是否学号是s1
    558             s.setId(s1.getStunumber());
    559             s.setName(s1.getName());
    560             double z1,z2,z3,z4,z5,z6;
    561             z1=s1.getMathematicsscore();
    562             z2=s1.getEnglishiscore();
    563             z3=s1.getNetworkscore();
    564             z4=s1.getDatabasescore();
    565             z5=s1.getSoftwarescore();
    566             s.setS1(xf(z1));
    567             s.setS2(xf(z2));
    568             s.setS3(xf(z3));
    569             s.setS4(xf(z4));
    570             s.setS5(xf(z5));
    571             double a=4*s.getS1()+3*s.getS2()+4*s.getS3()+3*s.getS4()+2*s.getS5();
    572             double b=16;
    573             double c=a/b;
    574             s.setS6(c);
    575         }
    576         if(s2.getStunumber().compareTo(id)==0) {  //判断是否学号是s2
    577             s.setId(s2.getStunumber());
    578             s.setName(s2.getName());
    579             double z1,z2,z3,z4,z5,z6;
    580             z1=s2.getMathematicsscore();
    581             z2=s2.getEnglishiscore();
    582             z3=s2.getNetworkscore();
    583             z4=s2.getDatabasescore();
    584             z5=s2.getSoftwarescore();
    585             s.setS1(xf(z1));
    586             s.setS2(xf(z2));
    587             s.setS3(xf(z3));
    588             s.setS4(xf(z4));
    589             s.setS5(xf(z5));
    590             double a=4*s.getS1()+3*s.getS2()+4*s.getS3()+3*s.getS4()+2*s.getS5();
    591             double b=16;
    592             double c=a/b;
    593             s.setS6(c);
    594         }
    595         if(s3.getStunumber().compareTo(id)==0) { //判断是否学号是s3
    596             s.setId(s3.getStunumber());
    597             s.setName(s3.getName());
    598             double z1,z2,z3,z4,z5,z6;
    599             z1=s3.getMathematicsscore();
    600             z2=s3.getEnglishiscore();
    601             z3=s3.getNetworkscore();
    602             z4=s3.getDatabasescore();
    603             z5=s3.getSoftwarescore();
    604             s.setS1(xf(z1));
    605             s.setS2(xf(z2));
    606             s.setS3(xf(z3));
    607             s.setS4(xf(z4));
    608             s.setS5(xf(z5));
    609             double a=4*s.getS1()+3*s.getS2()+4*s.getS3()+3*s.getS4()+2*s.getS5();
    610             double b=16;
    611             double c=a/b;
    612             s.setS6(c);
    613         }
    614         if(s4.getStunumber().compareTo(id)==0) { //判断是否学号是s4
    615             s.setId(s4.getStunumber());
    616             s.setName(s4.getName());
    617             double z1,z2,z3,z4,z5,z6;
    618             z1=s4.getMathematicsscore();
    619             z2=s4.getEnglishiscore();
    620             z3=s4.getNetworkscore();
    621             z4=s4.getDatabasescore();
    622             z5=s4.getSoftwarescore();
    623             s.setS1(xf(z1));
    624             s.setS2(xf(z2));
    625             s.setS3(xf(z3));
    626             s.setS4(xf(z4));
    627             s.setS5(xf(z5));
    628             double a=4*s.getS1()+3*s.getS2()+4*s.getS3()+3*s.getS4()+2*s.getS5();
    629             double b=16;
    630             double c=a/b;
    631             s.setS6(c);
    632         }
    633         if(s5.getStunumber().compareTo(id)==0) { //判断是否学号是s5
    634             s.setId(s5.getStunumber());
    635             s.setName(s5.getName());
    636             double z1,z2,z3,z4,z5,z6;
    637             z1=s5.getMathematicsscore();
    638             z2=s5.getEnglishiscore();
    639             z3=s5.getNetworkscore();
    640             z4=s5.getDatabasescore();
    641             z5=s5.getSoftwarescore();
    642             s.setS1(xf(z1));
    643             s.setS2(xf(z2));
    644             s.setS3(xf(z3));
    645             s.setS4(xf(z4));
    646             s.setS5(xf(z5));
    647             double a=4*s.getS1()+3*s.getS2()+4*s.getS3()+3*s.getS4()+2*s.getS5();
    648             double b=16;
    649             double c=a/b;  //四舍五入取值
    650             s.setS6(c);
    651         }
    652         menu32();
    653     }
    654     /**
    655      * 主函数 调用
    656      * @param args
    657      */
    658     public static void main(String[] args) {
    659         Menu();
    660     }
    661 }

    设计思路:

    首先仔细研读题目要求,设置方法满足功能的实现。我第一步实现的是菜单的实现,因为使用的是dos系统,页面不能更新,只能多次更新,所以菜单的实现使用了很多的方法来实现,其次对于是否保存的判断,需要进行判断,我使用的是匹配是否与要求相同,然会返回一个foolean类型数值,依据此数值进行操作。

    学生成绩的录入:首先设置菜单的输出,依次录入成绩,并暂时保存,等到录入结束的时候,再根据用户自己判定是否需要保存录入的成绩。

    学生成绩的修改:输出菜单,然后选择需要修改的成绩的科目,修改成绩,判断是否保存成绩。

    学生学分的计算:输出菜单,选择需要计算学分的同学,输入学号,然后自动输出各科绩点,和平均绩点(保留小数点后两位)。 判读学分绩点需要设计方法来计算每科的成绩,平均成绩也必须寻找方法来判断。


     测试截图如下:

     

     

     

     

  • 相关阅读:
    【python小练】0020
    【python小练】0017-将xls文件内容写入xml文件中
    【python小练】图片爬虫之BeautifulSoup4
    【python小练】0013
    【python小练】0014题 和 0015 题
    【python小练】0012题
    【python小练】0011题
    【python小练】0010
    【python小练】0005
    2018.09.11python学习第1天
  • 原文地址:https://www.cnblogs.com/cxy0210/p/11505642.html
Copyright © 2011-2022 走看看