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

 一、测试题目

1、以下为考试题目

一、考试要求:  
1、按照测试内容要求完成程序的设计与编程;
2、建立学号姓名文件夹,如:“信 1805-1 班 20183557 杨雄豪”,将
源程序文件 保存在文件夹中,压缩成 rar 文件提交。
3、以班级为单位上交最终考试结果。
4、需要在程序开始的注释中注明班级、学号、姓名。

二、数据结构要求:(5 分)
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、退出学籍管理系统
**********************************************************
 
②功能说明
输入数字 1-4 执行相应的功能,输入其他数字提示错误信息(该选项
不存在),并返回主界面。(0.5 分)
2、成绩录入功能操作流程:(3 分)
①在主界面选择成绩录入功能后,进入成绩录入界面,如下图所示: (0.5
分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
提示用户输入八位的学号。
②用户输入学号后,显示用户学号和姓名,如果用户学号不存在或信息错
误提示错误信息(该学号不存在),并返回成绩录入界面。(0.5 分)
③用户输入学号正确如下图所示:
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入界面
***********************************************************
学生学号:20183557
学生姓名:杨雄豪
请输入高等数学成绩:XXX
**********************************************************
提示用户输入高等数学成绩,用户输入正确的数字;则提示用户输入大学
英语成绩,依次类推,提示用户录入计算机网络、数据库、软件工程成绩,当
用户录完所有成绩后,显示如下界面。(1.5 分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20183557
学生姓名:杨雄豪
高等数学成绩:XXX
大学英语成绩:XXX
计算机网络成绩:XXX
数据库成绩:XXX
软件工程成绩:XXX
该学生成绩已录入完毕,是否提交(Y/N)
**********************************************************
选择“Y”将录入成绩保存到相应的数组中,并返回主界面。选择“N”,
则忽略上述成绩录入,并返回成绩录入界面。(0.5 分)
3、成绩修改功能操作流程:(2 分)
①在主界面选择成绩修改功能后,进入考试成绩修改界面,如下图所示:
 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩修改界面
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
提示用户输入八位的学号。(0.5 分)
 
②用户输入学号后,显示用户学号、姓名和全部成绩信息,如下图所示。
 
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20183557
学生姓名:杨雄豪
1、高等数学成绩:XXX
2、大学英语成绩:XXX
3、计算机网络成绩:XXX
4、数据库成绩:XXX
5、软件工程成绩:XXX
**********************************************************
如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回
成绩修改界面。(0.5 分)
③用户选择相应的数字键,切换到如下界面(假如选择数字“5”)。(0.5
分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入界面
***********************************************************
学生学号:20183557
学生姓名:杨雄豪
请输入修改后软件工程成绩:XXX
**********************************************************
录入修改后的成绩,则进入下一步。
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20183557
学生姓名:杨雄豪
1、高等数学成绩:XXX
2、大学英语成绩:XXX
3、计算机网络成绩:XXX
4、数据库成绩:XXX
5、软件工程成绩:XXX
该学生成绩已修改完毕,是否提交(Y/N)
**********************************************************
 
选择“Y”将修改后成绩保存到相应的数组中,并返回主界面。选择“N”,
则忽略上述成绩录入,并返回成绩修改界面。(0.5 分)
 
3、计算学生成绩绩点功能操作流程:(2 分)
①在主界面选择计算学生成绩绩点功能后,进入计算学生成绩绩点界面,
如下图所示:
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩绩点计算界面
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************

提示用户输入八位的学号。
②用户输入学号后,显示用户学号、姓名、学分绩点、提示信息。如下图
所示。(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,提示信息显示“你的学分绩点不满足毕业要求!”
学分绩点计算方法:
(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 版
制作人:考生姓名
***********************************************************

二、源程序代码

1.ScoreInformation 类:

 1 /*
 2 信1805-1
 3 20183504
 4 肖洋
 5 */
 6  public class ScoreInformation {
 7  private String stunumber;
 8  private String name;
 9  private double mathematicsscore;
10  private double englishiscore;
11  private double networkscore;
12  private double databasescore;
13  private double softwarescore;
14  public String getStunumber() 
15  {
16     return stunumber;
17  }
18 
19 public void setStunumber(String stunumber) 
20  {
21     this.stunumber = stunumber;
22  }
23 
24 public String getName() 
25  {
26     return name;
27  }
28 
29 public void setName(String name) 
30  {
31     this.name = name;
32  }
33 
34 public double getMathematicsscore() 
35  {
36     return mathematicsscore;
37  }
38 
39 public void setMathematicsscore(double mathematicsscore)
40  {
41     this.mathematicsscore = mathematicsscore;
42  }
43 
44 public double getEnglishiscore() 
45  {
46     return englishiscore;
47  }
48 
49 public void setEnglishiscore(double englishiscore) 
50  {
51     this.englishiscore = englishiscore;
52  }
53 
54 public double getNetworkscore() 
55  {
56     return networkscore;
57  }
58 
59  public void setNetworkscore(double networkscore) 
60  {
61     this.networkscore = networkscore;
62  }
63 
64  public double getDatabasescore() 
65  {
66     return databasescore;
67  }
68 
69  public void setDatabasescore(double databasescore) 
70  {
71     this.databasescore = databasescore;
72  }
73 
74  public double getSoftwarescore()
75   {
76     return softwarescore;
77   }
78 
79  public void setSoftwarescore(double softwarescore) 
80   {
81     this.softwarescore = softwarescore;
82   }
83 
84  public ScoreInformation(String stunumber ,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore,double softwarescore)
85  {
86     this.stunumber = stunumber;
87     this.name = name;
88     this.mathematicsscore = mathematicsscore;
89     this.englishiscore = englishiscore;
90     this.networkscore = networkscore;
91     this.databasescore = databasescore;
92     this.softwarescore = softwarescore;
93  }
94 }

2.ScoreManagement 类:

  1 /*
  2 信1805-1
  3 20183504
  4 肖洋
  5 */
  6  import java.util.Scanner;
  7 
  8  public class ScoreManagement {
  9     static int sum=0;
 10     static int choose=0;
 11     static int flag1;
 12     static Scanner sc=null;
 13     static ScoreInformation[] a = new ScoreInformation[1000];
 14     public static void  mainscreen()
 15     {
 16         sc = new Scanner(System.in);
 17         System.out.println("***********************************************************\n" + 
 18                 "石家庄铁道大学软件工程系 \n" + 
 19                 "学生学籍管理系统 2019 版 \n" + 
 20                 "***********************************************************\n" + 
 21                 "1、 学生考试成绩录入 \n" + 
 22                 "2、 学生考试成绩修改 \n" + 
 23                 "3、 计算学生成绩绩点 \n" + 
 24                 "4、退出学籍管理系统 \n" + 
 25                 "**********************************************************");
 26     System.out.println("请选择:");
 27     choose=sc.nextInt();
 28     }
 29     public static void addscore(String stunumber ,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore,double softwarescore)
 30    {
 31         a[sum]=new ScoreInformation(stunumber,name,mathematicsscore,englishiscore,networkscore,databasescore,softwarescore);     
 32    }
 33     public static void scoreinputscreen1()
 34     {
 35         System.out.println("***********************************************************\n" + 
 36                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
 37                 "学生考试成绩录入 \n" + 
 38                 "***********************************************************\n" + 
 39                 "请输入学生学号:\n" + 
 40                 "********************************************************** ");
 41     }
 42     public static void scoreinputscreen2(String stu,String na) {
 43         System.out.println("***********************************************************\n" + 
 44                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
 45                 "学生考试成绩录入界面 \n" + 
 46                 "*********************************************************** \n" + 
 47                 "学生学号:"+stu+"\n" + 
 48                 "学生姓名:"+na+"\n" + 
 49                 "请输入高等数学成绩:\n" + 
 50                 "********************************************************** ");
 51     }
 52     public static void scoreinputscreen3(String stu,String na,double math) 
 53     {
 54         System.out.println("***********************************************************\n" + 
 55                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
 56                 "学生考试成绩录入界面 \n" + 
 57                 "*********************************************************** \n" + 
 58                 "学生学号:"+stu+"\n" + 
 59                 "学生姓名:"+na+"\n" + 
 60                 "高等数学成绩:"+math+"\n" + 
 61                 "请输入大学英语成绩:\n"+
 62                 "********************************************************** ");
 63     }
 64     public static void scoreinputscreen4(String stu,String na,double math,double english) {
 65         System.out.println("***********************************************************\n" + 
 66                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
 67                 "学生考试成绩录入界面 \n" + 
 68                 "*********************************************************** \n" + 
 69                 "学生学号:"+stu+"\n" + 
 70                 "学生姓名:"+na+"\n" + 
 71                 "高等数学成绩:"+math+"\n" + 
 72                 "大学英语成绩:"+english+"\n"+
 73                 "请输入计算机网络成绩:\n"+
 74                 "********************************************************** ");
 75     }
 76     public static void scoreinputscreen5(String stu,String na,double math,double english,double network) {
 77         System.out.println("***********************************************************\n" + 
 78                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
 79                 "学生考试成绩录入界面 \n" + 
 80                 "*********************************************************** \n" + 
 81                 "学生学号:"+stu+"\n" + 
 82                 "学生姓名:"+na+"\n" + 
 83                 "高等数学成绩:"+math+"\n" + 
 84                 "大学英语成绩:"+english+"\n"+
 85                 "计算机网络成绩:"+network+"\n"+
 86                 "请输入数据库成绩:\n"+
 87                 "********************************************************** ");
 88     }
 89     public static void scoreinputscreen6(String stu,String na,double math,double english,double network,double database) {
 90         System.out.println("***********************************************************\n" + 
 91                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
 92                 "学生考试成绩录入界面 \n" + 
 93                 "*********************************************************** \n" + 
 94                 "学生学号:"+stu+"\n" + 
 95                 "学生姓名:"+na+"\n" + 
 96                 "高等数学成绩:"+math+"\n" + 
 97                 "大学英语成绩:"+english+"\n"+
 98                 "计算机网络成绩:"+network+"\n"+
 99                 "数据库成绩:"+database+"\n"+
100                 "请输入软件工程成绩:\n"+
101                 "********************************************************** ");
102     }
103     public static void scoreinputscreen7(String stu,String na,double math,double english,double network,double database,double software) {
104         System.out.println("***********************************************************\n" + 
105                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
106                 "学生考试成绩录入界面 \n" + 
107                 "*********************************************************** \n" + 
108                 "学生学号:"+stu+"\n" + 
109                 "学生姓名:"+na+"\n" + 
110                 "高等数学成绩:"+math+"\n" + 
111                 "大学英语成绩:"+english+"\n"+
112                 "计算机网络成绩:"+network+"\n"+
113                 "数据库成绩:"+database+"\n"+
114                 "软件工程成绩:"+software+"\n"+
115                 "该学生成绩已录入完毕,是否提交(Y/N)");
116         System.out.println("********************************************************** ");
117     }
118     public static void scoreinput() 
119       {
120         sc = new Scanner(System.in);
121         String stunumber;
122         int i=0;
123         int flag=1;
124         int count=0;
125         char x='N';
126         do
127         {
128         while(flag==1)
129         {
130         scoreinputscreen1();
131         System.out.println("请输入八位学生学号");
132         stunumber=sc.next();
133         for(int k=0;k<5;k++)
134         {
135             if(stunumber.equals(a[k].getStunumber())) 
136             {
137                 scoreinputscreen2(stunumber,a[k].getName());
138                 i=k;
139                 flag=0;
140                 break;
141             }
142             else { 
143                 count++;
144             }
145         }
146         if(count==5)
147         System.out.println("该学号不存在");
148         }
149         String name=a[i].getName();
150         double mathematicsscore;
151         double englishiscore;
152         double networkscore;
153         double databasescore;
154         double softwarescore;
155         mathematicsscore=sc.nextDouble();
156         scoreinputscreen3(a[i].getStunumber(),a[i].getName(),mathematicsscore);
157         englishiscore=sc.nextDouble();
158         scoreinputscreen4(a[i].getStunumber(),a[i].getName(),mathematicsscore,englishiscore);
159         networkscore=sc.nextDouble();
160         scoreinputscreen5(a[i].getStunumber(),a[i].getName(),mathematicsscore,englishiscore,networkscore);
161         databasescore=sc.nextDouble();
162         scoreinputscreen6(a[i].getStunumber(),a[i].getName(),mathematicsscore,englishiscore,networkscore,databasescore);
163         softwarescore=sc.nextDouble();
164         scoreinputscreen7(a[i].getStunumber(),a[i].getName(),mathematicsscore,englishiscore,networkscore,databasescore,softwarescore);
165         String s = sc.next();
166         x = s.charAt(0);
167         if(x=='Y') 
168         {
169             sum++;
170             ScoreManagement.addscore(a[i].getStunumber(),name,mathematicsscore,englishiscore,networkscore,databasescore,softwarescore);
171         }
172         else {
173             flag=1;
174         }
175         }while(x=='N');
176       }  
177     public static void scoretuichu() 
178     {
179         System.out.println("***********************************************************\n" + 
180                 "谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
181                 "制作人:肖洋\n" + 
182                 "*********************************************************** ");
183     }
184     public static void scorechange1() 
185     {
186         System.out.println("***********************************************************\n" + 
187                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
188                 "学生考试成绩修改界面 \n" + 
189                 "*********************************************************** \n" + 
190                 "请输入学生学号:\n" + 
191                 "********************************************************** ");
192     }
193     public static void scorechange2(String stu,String na,double math,double english,double network,double database,double software) 
194     {
195         System.out.println("***********************************************************\n" + 
196                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n" + 
197                 "学生考试成绩录入\n" + 
198                 "***********************************************************\n" + 
199                 "学生学号:"+stu+"\n" + 
200                 "学生姓名:"+na+"\n" + 
201                 "1、高等数学成绩:"+math+" \n" + 
202                 "2、大学英语成绩:"+english+" \n" + 
203                 "3、计算机网络成绩: "+network+"\n" + 
204                 "4、数据库成绩:"+database+" \n" + 
205                 "5、软件工程成绩:"+software+"\n" + 
206                 "**********************************************************");
207     }
208     public static void scorechange3(String stu,String na,double math,double english,double network,double database,double software) 
209     {
210         System.out.println("***********************************************************\n" + 
211                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\n" + 
212                 "学生考试成绩录入\n" + 
213                 "***********************************************************\n" + 
214                 "学生学号:"+stu+"\n" + 
215                 "学生姓名:"+na+"\n" + 
216                 "1、高等数学成绩:"+math+" \n" + 
217                 "2、大学英语成绩:"+english+" \n" + 
218                 "3、计算机网络成绩: "+network+"\n" + 
219                 "4、数据库成绩:"+database+" \n" + 
220                 "5、软件工程成绩:"+software+"\n" + 
221                 "该学生成绩已修改完毕,是否提交(Y/N)");
222             System.out.println("**********************************************************");
223     }
224     public static void mathscore(String stu,String na) 
225     {
226         System.out.println("***********************************************************\n" + 
227                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
228                 "学生考试成绩录入界面 \n" + 
229                 "*********************************************************** \n" + 
230                 "学生学号:"+stu+"\n" + 
231                 "学生姓名:"+na+"\n" +
232                 "请输入修改后高等数学成绩: \n" + 
233                 "********************************************************** ");
234     }
235     public static void englishscore(String stu,String na)  
236     {
237         System.out.println("***********************************************************\n" + 
238                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
239                 "学生考试成绩录入界面 \n" + 
240                 "*********************************************************** \n" + 
241                 "学生学号:"+stu+"\n" + 
242                 "学生姓名:"+na+"\n" +
243                 "请输入修改后大学英语成绩: \n" + 
244                 "********************************************************** ");
245     }
246     public static void networkscore(String stu,String na) 
247     {
248         System.out.println("***********************************************************\n" + 
249                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
250                 "学生考试成绩录入界面 \n" + 
251                 "*********************************************************** \n" + 
252                 "学生学号:"+stu+"\n" + 
253                 "学生姓名:"+na+"\n" +
254                 "请输入修改后计算机网络成绩: \n" + 
255                 "********************************************************** ");
256     }
257     public static void databasescore(String stu,String na)  
258     {
259         System.out.println("***********************************************************\n" + 
260                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
261                 "学生考试成绩录入界面 \n" + 
262                 "*********************************************************** \n" + 
263                 "学生学号:"+stu+"\n" + 
264                 "学生姓名:"+na+"\n" +
265                 "请输入修改后数据库成绩: \n" + 
266                 "********************************************************** ");
267     }
268     public static void softwarescore(String stu,String na) 
269     {
270         System.out.println("***********************************************************\n" + 
271                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
272                 "学生考试成绩录入界面 \n" + 
273                 "*********************************************************** \n" + 
274                 "学生学号:"+stu+"\n" + 
275                 "学生姓名:"+na+"\n" +
276                 "请输入修改后软件工程成绩: \n" + 
277                 "********************************************************** ");
278     }
279     public static void scorechange() 
280     {
281         sc = new Scanner(System.in);
282         int flag=0;
283         char x='N';
284         String s;
285         int count=0;
286         int k=0;
287         int i;
288         String stunumber="";
289         do
290         {
291         while(flag==0)
292         {
293             scorechange1();
294             System.out.println("请输入八位学生学号");
295             stunumber=sc.next();
296             for(i=sum;i>=0;i--) {
297                 if(stunumber.equals(a[i].getStunumber()))
298                 {
299         scorechange2(a[i].getStunumber(),a[i].getName(),a[i].getMathematicsscore(),a[i].getEnglishiscore(),a[i].getNetworkscore() ,a[i].getDatabasescore(),a[i].getSoftwarescore());
300                     flag=1;
301                     k=i;
302                     break;
303                 }
304                 else {
305                 count++;
306                 }
307             }
308             if(count==6)
309                 System.out.println("该学号不存在");
310         }
311         double mathematicsscore;
312         double englishiscore;
313         double networkscore;
314         double databasescore;
315         double softwarescore;
316         int b=0;
317         System.out.println("请选择:");
318         b=sc.nextInt();
319         switch(b) {
320         case 1:
321             mathscore(a[k].getStunumber(),a[k].getName());
322             mathematicsscore=sc.nextDouble();
323             scorechange3(a[k].getStunumber(),a[k].getName(),mathematicsscore,a[k].getEnglishiscore(),a[k].getNetworkscore() ,a[k].getDatabasescore(),a[k].getSoftwarescore());
324             s= sc.next();
325             x = s.charAt(0);
326             if(s.equals("Y")) 
327             {
328                 sum++;
329                 ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),mathematicsscore,a[k].getEnglishiscore(),a[k].getNetworkscore() ,a[k].getDatabasescore(),a[k].getSoftwarescore());
330             }    
331             break;
332         case 2:
333             englishscore(a[k].getStunumber(),a[k].getName());
334             englishiscore=sc.nextDouble();
335             scorechange3(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),englishiscore,a[k].getNetworkscore() ,a[k].getDatabasescore(),a[k].getSoftwarescore());
336             s= sc.next();
337             x = s.charAt(0);
338             if(s.equals("Y")) 
339             {
340                 sum++;
341                 ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),englishiscore,a[k].getNetworkscore() ,a[k].getDatabasescore(),a[k].getSoftwarescore());
342             }    
343             break;
344         case 3:
345             networkscore(a[k].getStunumber(),a[k].getName());
346             networkscore=sc.nextDouble();
347             scorechange3(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),networkscore,a[k].getDatabasescore(),a[k].getSoftwarescore());
348             s= sc.next();
349             x = s.charAt(0);
350             if(s.equals("Y")) 
351             {
352                 sum++;
353                 ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),networkscore,a[k].getDatabasescore(),a[k].getSoftwarescore());
354             }    
355             break;
356         case 4:
357             databasescore(a[k].getStunumber(),a[k].getName());
358             databasescore=sc.nextDouble();
359             scorechange3(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),a[k].getNetworkscore(),databasescore,a[k].getSoftwarescore());
360             s= sc.next();
361             x = s.charAt(0);
362             if(s.equals("Y"))  
363             {
364                 sum++;
365                 ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),a[k].getNetworkscore(),databasescore,a[k].getSoftwarescore());
366             }    
367             break;
368         case 5:
369             softwarescore(a[k].getStunumber(),a[k].getName());
370             softwarescore=sc.nextDouble();
371             scorechange3(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),a[k].getNetworkscore(),a[k].getDatabasescore(),softwarescore);
372              s= sc.next();
373             x = s.charAt(0);
374             if(s.equals("Y")) 
375             {
376                 sum++;
377                 ScoreManagement.addscore(a[k].getStunumber(),a[k].getName(),a[k].getMathematicsscore(),a[k].getEnglishiscore(),a[k].getNetworkscore(),a[k].getDatabasescore(),softwarescore);
378             }    
379             break;
380         }
381         if(x=='Y') {
382             flag=0;
383         }
384         }while(x=='N');
385     }
386     public static void pointcalculate1()
387     {
388         System.out.println("***********************************************************\n" + 
389                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \n" + 
390                 "学生考试成绩绩点计算界面 \n" + 
391                 "*********************************************************** \n" + 
392                 "请输入学生学号:\n" + 
393                 "********************************************************** ");
394     }
395     public static double pointcalculate2(double l)
396     {
397         double m=0;
398         if(l<60)
399          m=0.0;
400         if(l>=60&&l<=63.9)
401             m=1.0;
402         if(l>=64&&l<=65.9)
403             m=1.5;
404         if(l>=66&&l<=67.9)
405             m=1.7;
406         if(l>=68&&l<=71.9)
407             m=2.0;
408         if(l>=72&&l<=74.9)
409             m=2.3;
410         if(l>=75&&l<=77.9)
411             m=2.7;
412         if(l>=78&&l<=81.9)
413             m=3.0;
414         if(l>=82&&l<=84.9)
415             m=3.3;
416         if(l>=85&&l<=89.9)
417             m=3.7;
418         if(l>=90)
419             m=4.0;
420         return m;
421     }
422     public static void pointcalculate3(String stu,String na,double ma,double eng,double net,double data,double soft,double avg) 
423     {
424         System.out.println("***********************************************************\r\n" + 
425                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" + 
426                 "学生考试成绩绩点计算界面\r\n" + 
427                 "*********************************************************** \r\n" + 
428                 "学生学号:"+stu+"\n" + 
429                 "学生姓名:"+na+"\n" + 
430                 "1、高等数学成绩绩点:"+ma+"\n" + 
431                 "2、大学英语成绩绩点:"+eng+"\n" + 
432                 "3、计算机网络成绩绩点:"+net+"\n" + 
433                 "4、数据库成绩绩点:"+data+"\n" + 
434                 "5、软件工程成绩绩点:"+soft+"\n" + 
435                 "你的平均学分绩点为:"+avg+"\n" + 
436                 "提示信息:你的学分绩点已达到毕业要求\n" + 
437                 "是否返回系统主界面:(Y/N)");
438                 System.out.println("********************************************************** ");
439     }
440     public static void pointcalculate4(String stu,String na,double ma,double eng,double net,double data,double soft,double avg) 
441     {
442         System.out.println("***********************************************************\r\n" + 
443                 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版 \r\n" + 
444                 "学生考试成绩绩点计算界面\r\n" + 
445                 "*********************************************************** \r\n" + 
446                 "学生学号:"+stu+"\n" + 
447                 "学生姓名:"+na+"\n" + 
448                 "1、高等数学成绩绩点:"+ma+"\n" + 
449                 "2、大学英语成绩绩点:"+eng+"\n" + 
450                 "3、计算机网络成绩绩点:"+net+"\n" + 
451                 "4、数据库成绩绩点:"+data+"\n" + 
452                 "5、软件工程成绩绩点:"+soft+"\n" + 
453                 "你的平均学分绩点为:"+avg+"\n" + 
454                 "提示信息:你的学分绩点已达到毕业要求\n" + 
455                 "是否返回系统主界面:(Y/N)");
456                 System.out.println("********************************************************** ");
457     }
458     public static void pointcalculate() 
459     {
460         String stunumber;
461         int i;
462         int k=0;
463         sc = new Scanner(System.in);
464         pointcalculate1();
465         System.out.println("请输入八位学生学号");
466         stunumber=sc.next();
467         for(i=sum;i>=0;i--)
468         {
469             if(stunumber.equals(a[i].getStunumber())){
470             k=i;
471             break;
472             }
473         }
474         double j;
475         double math;
476         double english;
477         double network;
478         double database;
479         double software;
480         j=a[k].getMathematicsscore();
481         math=pointcalculate2(j);
482         j=a[k].getEnglishiscore();
483         english=pointcalculate2(j);
484         j=a[k].getNetworkscore();
485         network=pointcalculate2(j);
486         j=a[k].getDatabasescore();
487         database=pointcalculate2(j);
488         j=a[k].getSoftwarescore();
489         software=pointcalculate2(j);
490         double avgpointscore;
491         avgpointscore=(4*math+3*english+4*network+3*database+2*software)/16;
492         if(avgpointscore>=2)
493         pointcalculate3(a[k].getStunumber(),a[k].getName(),math,english,network,database,software,avgpointscore);
494         else
495         pointcalculate4(a[k].getStunumber(),a[k].getName(),math,english,network,database,software,avgpointscore);
496         String s = sc.next();
497         char x = s.charAt(0);
498         if(x=='Y') 
499         {
500             flag1=1;
501         }
502         else
503         {
504             flag1=0;
505         }
506     }
507     public static void main(String[] args){
508         
509         sc = new Scanner(System.in);
510         int k1;
511         String stunumber;
512         String name;
513         double mathematicsscore;
514         double englishiscore;
515         double networkscore;
516         double databasescore;
517         double softwarescore;
518         System.out.println("现在是初始创建学生信息,请输入学生信息(格式:学号 姓名 高数成绩 英语成绩 计算机网络成绩 数据库成绩 软件工程成绩):");
519          for(k1=0;k1<5;k1++) {   
520               stunumber = sc.next();
521               name = sc.next();
522               mathematicsscore= sc.nextDouble();
523               englishiscore =  sc.nextDouble();
524               networkscore= sc.nextDouble();
525               databasescore=sc.nextDouble();
526               softwarescore=sc.nextDouble();
527               ScoreManagement.addscore(stunumber,name,mathematicsscore,englishiscore,networkscore,databasescore,softwarescore);
528              sum++;
529            }
530             mainscreen();
531             while(choose<1||choose>4)
532             {
533             System.out.println("该选项不存在");
534             mainscreen();
535             }
536             while(1<=choose&&choose<=3) {
537            switch(choose) {
538            case 1:   
539               scoreinput();
540               flag1=1;
541                break;
542            case 2:
543                scorechange();
544                flag1=1;
545                break;
546            case 3:
547                pointcalculate();
548                break;
549            }
550            if(flag1==1)
551           mainscreen();
552            else
553             break;
554     }
555             if(choose==4)
556                 scoretuichu();
557     }
558         }

 


三、测试运行截图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/yang2000/p/11509014.html