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("***********************************************************\r\n" +
 24              "        石家庄铁道大学软件工程系 \r\n" +
 25              "        学生学籍管理系统 2019版 \r\n" +
 26              "*********************************************************** \r\n" +
 27              "        1、 学生考试成绩录入 \r\n" +
 28              "        2、 学生考试成绩修改 \r\n" +
 29              "        3、 计算学生成绩绩点 \r\n" +
 30              "        4、退出学籍管理系统 \r\n" +
 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("***********************************************************\r\n" +
 62                 "        谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
 63                 "        制作人:崔星宇 \r\n" +
 64                 "***********************************************************");
 65           System.exit(0);
 66     }
 67     /**
 68      * 录入界面
 69      */
 70     public static String menu1() {
 71         System.out.println("***********************************************************\r\n" +
 72                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
 73                 "        学生考试成绩录入 \r\n" +
 74                 "*********************************************************** \r\n" +
 75                 "        请输入学生学号:          \r\n" +
 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("***********************************************************\r\n" +
111                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
112                 "        学生考试成绩录入界面 \r\n" +
113                 "*********************************************************** \r\n" +
114                 "        学生学号: \r\n" + S.getStunumber()+ "\r\n"+
115                 "        学生姓名: \r\n" + S.getName()+"\r\n"+
116                 "        请输入高等数学成绩: \r\n" +
117                 "********************************************************** ");
118     }
119     //录入大学英语成绩
120     public static void menu3() {
121         System.out.println("***********************************************************\r\n" +
122                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
123                 "        学生考试成绩录入 \r\n" +
124                 "*********************************************************** \r\n" +
125                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
126                 "        学生姓名: \r\n" + S.getName()+"\r\n"+
127                 "        高等数学成绩: \r\n" + S.getMathematicsscore()+"\r\n"+
128                 "        请输入大学英语成绩: \r\n" +
129                 "********************************************************** ");
130
131     }
132     //录入计算机网络成绩
133     public static void menu4() {
134         System.out.println("***********************************************************\r\n" +
135                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
136                 "        学生考试成绩录入 \r\n" +
137                 "*********************************************************** \r\n" +
138                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
139                 "        学生姓名:\r\n" + S.getName()+"\r\n"+
140                 "        高等数学成绩: \r\n" + S.getMathematicsscore()+"\r\n"+
141                 "        大学英语成绩: \r\n" + S.getEnglishiscore()+"\r\n"+
142                 "        请输入计算机网络成绩: \r\n" +
143
144                 "********************************************************** ");
145
146     }
147     //录入数据库成绩
148     public static void menu5() {
149         System.out.println("***********************************************************\r\n" +
150                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
151                 "        学生考试成绩录入 \r\n" +
152                 "*********************************************************** \r\n" +
153                 "        学生学号: \r\n" +  S.getStunumber()+"\r\n"+
154                 "        学生姓名:\r\n" + S.getName()+"\r\n"+
155                 "        高等数学成绩: \r\n" + S.getMathematicsscore()+"\r\n"+
156                 "        大学英语成绩: \r\n" + S.getEnglishiscore()+"\r\n"+
157                 "        计算机网络成绩: \r\n" + S.getNetworkscore()+"\r\n"+
158                 "        请输入数据库成绩:\r\n" +
159                 "********************************************************** ");
160     }
161     //录入软件工程成绩
162     public static void menu6() {
163         System.out.println("***********************************************************\r\n" +
164                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
165                 "        学生考试成绩录入 \r\n" +
166                 "*********************************************************** \r\n" +
167                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
168                 "        学生姓名:\r\n" + S.getName()+"\r\n"+
169                 "        高等数学成绩: \r\n" + S.getMathematicsscore()+"\r\n"+
170                 "        大学英语成绩: \r\n" + S.getEnglishiscore()+"\r\n"+
171                 "        计算机网络成绩: \r\n" + S.getNetworkscore()+"\r\n"+
172                 "        数据库成绩:\r\n" + S.getDatabasescore()+"\r\n"+
173                 "        请输入软件工程成绩:\r\n" +
174
175                 "********************************************************** ");
176
177     }
178     //输入完成界面 全部输出成绩并寻求是否保存
179     public static void menu7() {
180         System.out.println("***********************************************************\r\n" +
181                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
182                 "        学生考试成绩录入 \r\n" +
183                 "*********************************************************** \r\n" +
184                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
185                 "        学生姓名:\r\n" + S.getName()+"\r\n"+
186                 "        高等数学成绩: \r\n" + S.getMathematicsscore()+"\r\n"+
187                 "        大学英语成绩: \r\n" + S.getEnglishiscore()+"\r\n"+
188                 "        计算机网络成绩: \r\n" + S.getNetworkscore()+"\r\n"+
189                 "        数据库成绩:\r\n" + S.getDatabasescore()+"\r\n"+
190                 "        软件工程成绩:\r\n" + S.getSoftwarescore()+"\r\n"+
191                 "        该学生成绩已录入完毕,是否提交(Y/N) \r\n" +
192                 "********************************************************** ");
193
194     }
195 /**
196  * 修改界面
197   */
198     public static String menu21() {
199         System.out.println("***********************************************************\r\n" +
200                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
201                 "        学生考试成绩修改界面 \r\n" +
202                 "*********************************************************** \r\n" +
203                 "        请输入学生学号(输入八位的学号): \r\n" +
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("***********************************************************\r\n" +
212              "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
213              "        学生考试成绩录入 \r\n" +
214              "*********************************************************** \r\n" +
215              "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
216              "        学生姓名:\r\n" + S.getName()+"\r\n"+
217              "        1、高等数学成绩:\r\n" + S.getMathematicsscore()+"\r\n"+
218              "        2、大学英语成绩: \r\n" + S.getEnglishiscore()+"\r\n"+
219              "        3、计算机网络成绩:\r\n" + S.getNetworkscore()+"\r\n"+
220              "        4、数据库成绩:\r\n" + S.getDatabasescore()+"\r\n"+
221              "        5、软件工程成绩:\r\n" + S.getSoftwarescore()+"\r\n"+
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("***********************************************************\r\n" +
247                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
248                 "        学生考试成绩录入界面 \r\n" +
249                 "*********************************************************** \r\n" +
250                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
251                 "        学生姓名: \r\n" + S.getName()+"\r\n"+
252                 "        请输入修改后高等数学成绩: \r\n" +
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("***********************************************************\r\n" +
262                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
263                 "        学生考试成绩录入界面 \r\n" +
264                 "*********************************************************** \r\n" +
265                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
266                 "        学生姓名: \r\n" + S.getName()+"\r\n"+
267                 "        请输入修改后大学英语成绩: \r\n" +
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("***********************************************************\r\n" +
276                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
277                 "        学生考试成绩录入界面 \r\n" +
278                 "*********************************************************** \r\n" +
279                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
280                 "        学生姓名: \r\n" + S.getName()+"\r\n"+
281                 "        请输入修改后计算机网络成绩: \r\n" +
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("***********************************************************\r\n" +
290                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
291                 "        学生考试成绩录入界面 \r\n" +
292                 "*********************************************************** \r\n" +
293                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
294                 "        学生姓名: \r\n" + S.getName()+"\r\n"+
295                 "        请输入修改后数据库成绩: \r\n" +
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("***********************************************************\r\n" +
305                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
306                 "        学生考试成绩录入界面 \r\n" +
307                 "*********************************************************** \r\n" +
308                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
309                 "        学生姓名: \r\n" + S.getName()+"\r\n"+
310                 "        请输入修改后软件工程成绩: \r\n" +
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("***********************************************************\r\n" +
320                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
321                 "        学生考试成绩录入 \r\n" +
322                 "*********************************************************** \r\n" +
323                 "        学生学号: \r\n" + S.getStunumber()+"\r\n"+
324                 "        学生姓名: \r\n" + S.getName()+"\r\n"+
325                 "        1、高等数学成绩: \r\n" + S.getMathematicsscore()+"\r\n"+
326                 "        2、大学英语成绩: \r\n" + S.getEnglishiscore()+"\r\n"+
327                 "        3、计算机网络成绩: \r\n" + S.getNetworkscore()+"\r\n"+
328                 "        4、数据库成绩: \r\n" + S.getDatabasescore()+"\r\n"+
329                 "        5、软件工程成绩: \r\n" + S.getSoftwarescore()+"\r\n"+
330                 "        该学生成绩已修改完毕,是否提交(Y/N) \r\n" +
331                 "********************************************************** ");
332     }
333
334     //计算学生绩点输入学号
335     public static void menu31() {
336         System.out.println("***********************************************************\r\n" +
337                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
338                 "        学生考试成绩绩点计算界面 \r\n" +
339                 "*********************************************************** \r\n" +
340                 "        请输入学生学号: \r\n" +
341                 "********************************************************** ");
342     }
343     //输出绩点
344     public static void menu32() {
345         double a=s.getS6();
346         if(a>2||a==2) {
347             System.out.println("***********************************************************\r\n" +
348                 "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
349                 "        学生考试成绩绩点计算界面\r\n" +
350                 "*********************************************************** \r\n" +
351                 "        学生学号: \r\n" + s.getId()+"\r\n"+
352                 "        学生姓名:\r\n" + s.getName()+"\r\n"+
353                 "        1、高等数学成绩绩点: \r\n" + s.getS1()+"\r\n"+
354                 "        2、大学英语成绩绩点: \r\n" + s.getS2()+"\r\n"+
355                 "        3、计算机网络成绩绩点: \r\n" + s.getS3()+"\r\n"+
356                 "        4、数据库成绩绩点: \r\n" + s.getS4()+"\r\n"+
357                 "        5、软件工程成绩绩点: \r\n" + s.getS5()+"\r\n"+
358                 "        你的平均学分绩点为: \r\n" + String.format("%.2f", s.getS6())+"\r\n"+  //输出保留两位小数
359                 "        提示信息: \r\n" + "你的学分绩点已达到毕业要求!"+"\r\n"+
360                 "        是否返回系统主界面:(Y/N) \r\n" +
361                 "********************************************************** ");
362         }
363         else {
364             System.out.println("***********************************************************\r\n" +
365                     "        石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" +
366                     "        学生考试成绩绩点计算界面\r\n" +
367                     "*********************************************************** \r\n" +
368                     "        学生学号: \r\n" + s.getId()+"\r\n"+
369                     "        学生姓名:\r\n" + s.getName()+"\r\n"+
370                     "        1、高等数学成绩绩点: \r\n" + s.getS1()+"\r\n"+
371                     "        2、大学英语成绩绩点: \r\n" + s.getS2()+"\r\n"+
372                     "        3、计算机网络成绩绩点: \r\n" + s.getS3()+"\r\n"+
373                     "        4、数据库成绩绩点: \r\n" + s.getS4()+"\r\n"+
374                     "        5、软件工程成绩绩点: \r\n" + s.getS5()+"\r\n"+
375                     "        你的平均学分绩点为: \r\n" + String.format("%.2f", s.getS6())+"\r\n"+  //输出保留两位小数
376                     "        提示信息: \r\n" + "你的学分绩点不满足毕业要求!"+"\r\n"+
377                     "        是否返回系统主界面:(Y/N) \r\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类型数值,依据此数值进行操作。

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

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

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



9.9 日测试

原文地址:https://www.cnblogs.com/cxy0210/p/11505642.html

时间: 2024-08-03 13:56:15

9.9 日测试的相关文章

7月5日测试

问题 A: 重复字符串 时间限制: 1 Sec  内存限制: 256 MB提交: 230  解决: 105[提交][状态][讨论版] 题目描述 给定两个字符串a和b,我们可以定义一些操作:a*b为将字符串a和字符串b连接起来,比如a= "aoe",b= "jkw",那么a*b= "aoejkw".进一步,我们可以有指数操作,a^0= "", a^1=a, a^2=a*a, a^n=a*(a^(n-1))=a*a*…*a (n个

7月29日测试

今天第一次考试,题目是不难,但是还是有些细节不太注意,,:还有就是提交文件的步骤要精确:否则就零分了:. 1)分配任务 [问题描述] 在社会实践活动中有三项任务分别是:种树.采茶.送水.依据小组人数及男生.女生人数决定小组的接受任务,人数小于10人的小组负责送水(输出water),人数大于等于10人且男生多于女生的小组负责种树(输出tree),人数大于等于10人且男生不多于女生的小组负责采茶(输出tea).输入小组男生人数.女生人数,输出小组接受的任务. [输入]一行两个空格隔开的数,表示小组中

【题解】2019/10/9 日测试

今天又是自己被虐的一天 今天难度大概是省选难度-,noip+ x姓巨佬100+0+20 g姓巨佬100+10+0 窝:60+10+0 又被爆踩了... 先放题面吧 t1的话就是一个权值树状数组,先进行问题转化,将T从小到大排序,问题就成了sum(l)-n*t1-(n-1)*t2...1*tn 然后可以用线段树,权值树状数组,splay等维护 code: #include<bits/stdc++.h> #define re register #define inc(i,j,k) for(re i

单元测试的运用

上个星期做了有关白盒测试的测试,何为“白盒测试”, 白盒测试:又称结构测试,它一般用来测试程序的内部结构(Control Flow , Data Flow).并判定其结果是否与预期的结果一致. 白盒测试的种类:静态分析测试(Static Analysis Test,Code Inspection).语句分支覆盖测试(Ctrl  Flow Test)等. 这次实验一开始大家都不知道如何下手,于是,我便在网上参照了教材对一个简单的APP进行了白盒测试. 测试项目名称:闰年测试器 版本号:1.0 测试

【Linux】lsof 命令,记一次端口占用查询

3月21日测试时,发现测试服务器启,总是报端口占用情况,察看端口占用情况 1-使用命令 netstat -tunlp |grep 端口号 差看下 这个端口被那个进程占用 我当前使用的 JBOSS 端口号为2005 [[email protected] ~]# netstat -tunlp |grep 2005 tcp 0 0 :::2005 :::* LISTEN 13513/java 2-使用命令 lsof -p PID 查看下 占用端口的是哪个进程 可见2005被显示的进程(PID=1351

javascript-适配器模式

适配器模式笔记 将一个类(对象)的接口(方法或属性)转化成另一个接口,以满足用户需求,使类(对象)之间接口的不兼容性问题通过适配器方法得以解决 demo实例:1.适配参数对象,使传入的参数完整 2.适配参数对象类型,通过适配器转换要传入的参数类型 1.适配参数对象,使传入的参数完整 1 //1.用适配器来适配传入的这个参数对象(参数完整性) 2 //传递对象做事情 3 function doThing(obj){ 4 //初始化一个json对象 5 var _adapter = { 6 name

十天冲刺任务迟真真

4月29日  上网搜集有关jsp文件上传于下载的资料4月30日  观看视频教程5月1日  设计文件的上传功能,可以上传.doc..txt pdf rip等文件5月2日  设置file类表单5月3日   连接数据库,实现上传文件到服务器5月4日   设计文件的下载功能5月5日    注册servlet5月6日    实现下载功能,Jsp内置对象response调用方法getOutputStream()可以获          取一个指向客户的输出流,服务器将文件写入这个流,然后可下载此文件5月7日

360doc内文章复制保存方法

正常情况下,复制www.360doc.com网站内的文章需要注册用户. 不登录用户复制方法: 浏览器安装有道云笔记网页剪报插件,安装好后直接点击即可保存. 测试时间:2016年2月25日 测试结果:可正常保存网页内容

高清产品版本说明

6F.10.2/6.378 [2016年5月31日]    --------------------    1.增加:适配 WIN10,可以在WIN10下使用,但启动较慢,预计1分钟才能启动完成    2.优化:双流卡口夜晚的抓拍位置优化(6F.10.1, 6F.10.2)            6F.10.0/6.377 [2016年5月9日]    --------------------    1.增加:新版本支持标签上标记为3.1的加密狗,同时兼容之前的3.0的加密狗