一、考试要求:
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 }