一、考试要求:
1、按照测试内容要求完成程序的设计与编程;
2、建立学号姓名文件夹,如:“信 1805-1 班 20180001 XXX”,将源程序文件保存在文件夹中,压缩成 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 分。
变量 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 版
学生考试成绩录入界面
***********************************************************
学生学号:20180001
学生姓名:XXX
请输入高等数学成绩:XXX
**********************************************************
提示用户输入高等数学成绩,用户输入正确的数字;则提示用户输入大学英语成绩,依次类推,提示用户录入计算机网络、数据库、软件工程成绩,当第 3 页 共 8 页用户录完所有成绩后,显示如下界面。(1.5 分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20180001
学生姓名:XXX
高等数学成绩:XXX
大学英语成绩:XXX
计算机网络成绩:XXX
数据库成绩:XXX
软件工程成绩:XXX
该学生成绩已录入完毕,是否提交(Y/N)
**********************************************************
选择“Y”将录入成绩保存到相应的数组中,并返回主界面。选择“N”,则忽略上述成绩录入,并返回成绩录入界面。(0.5 分)
3、成绩修改功能操作流程:(2 分)
①在主界面选择成绩修改功能后,进入考试成绩修改界面,如下图所示:
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩修改界面
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
提示用户输入八位的学号。(0.5 分)
②用户输入学号后,显示用户学号、姓名和全部成绩信息,如下图所示。
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20180001
学生姓名:XXX
1、高等数学成绩:XXX
2、大学英语成绩:XXX
3、计算机网络成绩:XXX
4、数据库成绩:XXX
5、软件工程成绩:XXX
**********************************************************
如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回成绩修改界面。(0.5 分)
③用户选择相应的数字键,切换到如下界面(假如选择数字“5”)。(0.5分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入界面
***********************************************************
学生学号:20180001
学生姓名:XXX
请输入修改后软件工程成绩:XXX
**********************************************************
录入修改后的成绩,则进入下一步。
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20180001
学生姓名:XXX
1、高等数学成绩:XXX
2、大学英语成绩:XXX
3、计算机网络成绩:XXX
4、数据库成绩:XXX
5、软件工程成绩:XXX
该学生成绩已修改完毕,是否提交(Y/N)
**********************************************************
选择“Y”将修改后成绩保存到相应的数组中,并返回主界面。选择“N”,则忽略上述成绩录入,并返回成绩修改界面。(0.5 分)
3、计算学生成绩绩点功能操作流程:(2 分)
①在主界面选择计算学生成绩绩点功能后,进入计算学生成绩绩点界面,如下图所示:
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩绩点计算界面
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
第 6 页 共 8 页提示用户输入八位的学号。
②用户输入学号后,显示用户学号、姓名、学分绩点、提示信息。如下图所示。(1.5 分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩绩点计算界面
***********************************************************
学生学号:20180001
学生姓名:XXX
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 /*
2 * 班级:信1805-13 * 学号:201835664 * 姓名:董奥5 **/
6
7 public classScoreInformation {8 privateString stunumber;9 privateString name;10 private doublemathematicsscore;11 private doubleenglishiscore;12 private doublenetworkscore;13 private doubledatabasescore;14 private doublesoftwarescore;15 //定义 get()(读取变量信息)和 set()(设置变量信息)的方法
16 public voidsetStunumber(String stunumber) {17 this.stunumber=stunumber;18 }19 publicString getStunumber() {20 returnstunumber;21 }22 public voidsetName(String name) {23 this.name=name;24 }25 publicString getName() {26 returnname;27 }28 public void setMathematicsscore(doublemathematicsscore) {29 this.mathematicsscore=mathematicsscore;30 }31 public doublegetMathematicsscore() {32 returnmathematicsscore;33 }34 public void setEnglishiscore(doubleenglishiscore) {35 this.englishiscore=englishiscore;36 }37 public doublegetEnglishiscore() {38 returnenglishiscore;39 }40 public void setNetworkscore(doublenetworkscore) {41 this.networkscore=networkscore;42 }43 public doublegetNetworkscore() {44 returnnetworkscore;45 }46 public void setDatabasescore(doubledatabasescore) {47 this.databasescore=databasescore;48 }49 public doublegetDatabasescore() {50 returndatabasescore;51 }52 public void setSoftwarescore(doublesoftwarescore) {53 this.softwarescore=softwarescore;54 }55 public doublegetSoftwarescore() {56 returnsoftwarescore;57 }58 public ScoreInformation(String stunumber,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore,doublesoftwarescore) {59 this.stunumber=stunumber;60 this.name=name;61 this.mathematicsscore=mathematicsscore;62 this.englishiscore=englishiscore;63 this.networkscore=networkscore;64 this.databasescore=databasescore;65 this.softwarescore=softwarescore;66 }67 //public static void main(String[] args) {68 //ScoreInformation text=new ScoreInformation("20183566","董奥",1,2,3,4,5);69 //System.out.println(text.getDatabasescore());70 //System.out.println(text.getEnglishiscore());71 //System.out.println(text.getMathematicsscore());72 //System.out.println(text.getStunumber());73 //}
74 }
1 importjava.util.Scanner;2 public classScoreManagement {3 static ScoreInformation Score1=new ScoreInformation("20180001","姓名1",0,0,0,0,0);4 static ScoreInformation Score2=new ScoreInformation("20180002","姓名2",0,0,0,0,0);5 static ScoreInformation Score3=new ScoreInformation("20180003","姓名3",0,0,0,0,0);6 static ScoreInformation Score4=new ScoreInformation("20180004","姓名4",0,0,0,0,0);7 static ScoreInformation Score5=new ScoreInformation("20180005","姓名5",0,0,0,0,0);8 static Scanner in=newScanner(System.in);9 public static voidmenu(){10 System.out.println("***********************************************************");11 System.out.println(" 石家庄铁道大学软件工程系");12 System.out.println(" 学生学籍管理系统 2019 版");13 System.out.println("***********************************************************");14 System.out.println(" 1、 学生考试成绩录入");15 System.out.println(" 2、 学生考试成绩修改");16 System.out.println(" 3、 计算学生成绩绩点");17 System.out.println(" 4、退出学籍管理系统");18 System.out.println("**********************************************************");19 System.out.print("请输入:");20 }21 public static void totalMenu() {//总菜单
22 int anss=0;23 while(anss!=4) {24 menu();25 anss=in.nextInt();26 if(anss==1) addScore();27 else if(anss==2) modifyScore();28 else if(anss==3) caculateScore();29 else if(anss==4);30 else
31 System.out.println("该选项不存在");32 }33 System.out.println("退出成功");34 System.out.println("***********************************************************\r\n" +
35 "谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
36 "制作人:董奥\r\n" +
37 "***********************************************************");38 }39 public static voidaddMenu() {40 System.out.println("***********************************************************");41 System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版");42 System.out.println(" 学生考试成绩录入");43 System.out.println("***********************************************************");44 System.out.print(" 请输入学生学号:");45 }46 public static void addInterface(ScoreInformation h) {//录入成绩界面
47 System.out.println("***********************************************************");48 System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版");49 System.out.println(" 学生考试成绩录入界面");50 System.out.println("***********************************************************");51 System.out.println("学生学号:"+h.getStunumber());52 System.out.println("学生姓名:"+h.getName());53 System.out.println("请输入高等数学成绩:");54 double ans1=in.nextDouble();55 System.out.println("请输入大学英语成绩:");56 double ans2=in.nextDouble();57 System.out.println("请输入计算机网络成绩:");58 double ans3=in.nextDouble();59 System.out.println("请输入数据库成绩:");60 double ans4=in.nextDouble();61 System.out.println("请输入软件工程成绩:");62 double ans5=in.nextDouble();63 System.out.println("***********************************************************");64 System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版");65 System.out.println(" 学生考试成绩录入界面");66 System.out.println("***********************************************************");67 System.out.println("学生学号:"+h.getStunumber());68 System.out.println("学生姓名:"+h.getName());69 System.out.println("高等数学成绩:"+ans1);70 System.out.println("大学英语成绩:"+ans2);71 System.out.println("计算机网络成绩:"+ans3);72 System.out.println("数据库成绩:"+ans4);73 System.out.println("软件工程成绩:"+ans5);74 System.out.print("该学生成绩已录入完毕,是否提交(Y/N)");75 String a=in.next();76 char s=a.charAt(0);77 if(s=='Y'||s=='y') {78 h.setMathematicsscore(ans1);79 h.setEnglishiscore(ans2);80 h.setNetworkscore(ans3);81 h.setDatabasescore(ans4);82 h.setSoftwarescore(ans5);83 }84 else
85 addScore();86 }87 public static void addScore() {//录入成绩
88 boolean flag=true;89 while(flag) {90 addMenu();91 String ans=in.next();//将输入的学号存入ans中
92 if(ans.equals(Score1.getStunumber())) {//检查ans与那个Score相等
93 addInterface(Score1);94 flag=false;95 }96 else if(ans.equals(Score2.getStunumber())) {97 addInterface(Score2);98 flag=false;99 }100 else if(ans.equals(Score3.getStunumber())) {101 addInterface(Score3);102 flag=false;103 }104 else if(ans.equals(Score4.getStunumber())) {105 addInterface(Score4);106 flag=false;107 }108 else if(ans.equals(Score5.getStunumber())) {109 addInterface(Score5);110 flag=false;111 }112 else
113 System.out.println("该学号不存在1");114 }115 }116 public static voidmodifyMenu() {117 System.out.print("***********************************************************\r\n" +
118 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
119 " 学生考试成绩修改界面\r\n" +
120 "***********************************************************\r\n" +
121 "请输入学生学号:");122 }123 public static voidmodifyInterface(ScoreInformation h) {124 System.out.print("***********************************************************\r\n" +
125 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
126 " 学生考试成绩录入\r\n" +
127 "***********************************************************\r\n" +
128 "学生学号:"+h.getStunumber()+"\r\n" +
129 "学生姓名:"+h.getName()+"\r\n" +
130 "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" +
131 "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" +
132 "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" +
133 "4、数据库成绩:"+h.getDatabasescore()+"\r\n" +
134 "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" +
135 "**********************************************************");136 System.out.println("请选择修改内容:");137 int ans=in.nextInt();//记录序号
138 double cmp;//记录接下来输入的成绩
139 String s;140 chara;141 switch(ans) {142 case 1:143 System.out.print("***********************************************************\r\n" +
144 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
145 " 学生考试成绩录入界面\r\n" +
146 "***********************************************************\r\n" +
147 "学生学号:"+h.getStunumber()+"\r\n" +
148 "学生姓名:"+h.getName()+"\r\n" +
149 "请输入修改后高等数学成绩:");150 cmp=in.nextDouble();151 System.out.println("***********************************************************\r\n" +
152 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
153 " 学生考试成绩录入\r\n" +
154 "***********************************************************\r\n" +
155 "学生学号:"+h.getStunumber()+"\r\n" +
156 "学生姓名:"+h.getName()+"\r\n" +
157 "1、高等数学成绩:"+cmp+"\r\n" +
158 "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" +
159 "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" +
160 "4、数据库成绩:"+h.getDatabasescore()+"\r\n" +
161 "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" +
162 "该学生成绩已修改完毕,是否提交(Y/N)\r\n" +
163 "**********************************************************");164 s=in.next();165 a=s.charAt(0);166 if(a=='Y'||a=='y') h.setMathematicsscore(cmp);167 break;168 case 2:169 System.out.print("***********************************************************\r\n" +
170 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
171 " 学生考试成绩录入界面\r\n" +
172 "*************1**********************************************\r\n" +
173 "学生学号:"+h.getStunumber()+"\r\n" +
174 "学生姓名:"+h.getName()+"\r\n" +
175 "请输入修改后大学英语成绩:");176 cmp=in.nextDouble();177 System.out.println("***********************************************************\r\n" +
178 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
179 " 学生考试成绩录入\r\n" +
180 "***********************************************************\r\n" +
181 "学生学号:"+h.getStunumber()+"\r\n" +
182 "学生姓名:"+h.getName()+"\r\n" +
183 "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" +
184 "2、大学英语成绩:"+cmp+"\r\n" +
185 "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" +
186 "4、数据库成绩:"+h.getDatabasescore()+"\r\n" +
187 "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" +
188 "该学生成绩已修改完毕,是否提交(Y/N)\r\n" +
189 "**********************************************************");190 s=in.next();191 a=s.charAt(0);192 if(a=='Y'||a=='y') h.setEnglishiscore(cmp);193 break;194 case 3:195 System.out.print("***********************************************************\r\n" +
196 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
197 " 学生考试成绩录入界面\r\n" +
198 "***********************************************************\r\n" +
199 "学生学号:"+h.getStunumber()+"\r\n" +
200 "学生姓名:"+h.getName()+"\r\n" +
201 "请输入修改后计算机网络成绩:");202 cmp=in.nextDouble();203 System.out.println("***********************************************************\r\n" +
204 " 石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
205 " 学生考试成绩录入\r\n" +
206 "***********************************************************\r\n" +
207 "学生学号:"+h.getStunumber()+"\r\n" +
208 "学生姓名:"+h.getName()+"\r\n" +
209 "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" +
210 "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" +
211 "3、计算机网络成绩:"+cmp+"\r\n" +
212 "4、数据库成绩:"+h.getDatabasescore()+"\r\n" +
213 "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" +
214 "该学生成绩已修改完毕,是否提交(Y/N)\r\n" +
215 "**********************************************************");216 s=in.next();217 a=s.charAt(0);218 if(a=='Y'||a=='y') h.setNetworkscore(cmp);219 break;220 case 4:221 System.out.print("***********************************************************\r\n" +
222 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
223 "学生考试成绩录入界面\r\n" +
224 "***********************************************************\r\n" +
225 "学生学号:"+h.getStunumber()+"\r\n" +
226 "学生姓名:"+h.getName()+"\r\n" +
227 "请输入修改后数据库成绩:");228 cmp=in.nextDouble();229 System.out.println("***********************************************************\r\n" +
230 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
231 "学生考试成绩录入\r\n" +
232 "***********************************************************\r\n" +
233 "学生学号:"+h.getStunumber()+"\r\n" +
234 "学生姓名:"+h.getName()+"\r\n" +
235 "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" +
236 "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" +
237 "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" +
238 "4、数据库成绩:"+cmp+"\r\n" +
239 "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" +
240 "该学生成绩已修改完毕,是否提交(Y/N)\r\n" +
241 "**********************************************************");242 s=in.next();243 a=s.charAt(0);244 if(a=='Y'||a=='y') h.setDatabasescore(cmp);245 break;246 case 5:247 System.out.print("***********************************************************\r\n" +
248 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
249 "学生考试成绩录入界面\r\n" +
250 "***********************************************************\r\n" +
251 "学生学号:"+h.getStunumber()+"\r\n" +
252 "学生姓名:"+h.getName()+"\r\n" +
253 "请输入修改后软件工程成绩:");254 cmp=in.nextDouble();255 System.out.println("***********************************************************\r\n" +
256 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
257 "学生考试成绩录入\r\n" +
258 "***********************************************************\r\n" +
259 "学生学号:"+h.getStunumber()+"\r\n" +
260 "学生姓名:"+h.getName()+"\r\n" +
261 "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" +
262 "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" +
263 "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" +
264 "4、数据库成绩:"+h.getDatabasescore()+"\r\n" +
265 "5、软件工程成绩:"+cmp+"\r\n" +
266 "该学生成绩已修改完毕,是否提交(Y/N)\r\n" +
267 "**********************************************************");268 s=in.next();269 a=s.charAt(0);270 if(a=='Y'||a=='y') h.setSoftwarescore(cmp);271 break;272 default:273 System.out.println("输入序号错误");274 }275 }276 public static void modifyScore() {//修改成绩
277 boolean flag=true;278 while(flag) {279 modifyMenu();280 String ans=in.next();//将输入的学号存入ans中
281 if(ans.equals(Score1.getStunumber())) {282 modifyInterface(Score1);283 flag=false;284 }285 else if(ans.equals(Score2.getStunumber())) {286 modifyInterface(Score2);287 flag=false;288 }289 else if(ans.equals(Score3.getStunumber())) {290 modifyInterface(Score3);291 flag=false;292 }293 else if(ans.equals(Score4.getStunumber())) {294 modifyInterface(Score4);295 flag=false;296 }297 else if(ans.equals(Score5.getStunumber())) {298 modifyInterface(Score5);299 flag=false;300 }301 else
302 System.out.println("该学号不存在2");303 }304 }305 public static voidcaculateMenu() {306 System.out.println("***********************************************************\r\n" +
307 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
308 "学生考试成绩绩点计算界面\r\n" +
309 "***********************************************************\r\n" +
310 "请输入学生学号:");311 }312 public static voidcaculateInterface(ScoreInformation h) {313 double [] s=new double[5];//分别存储1--5五门学科成绩
314 s[0]=h.getMathematicsscore();315 s[1]=h.getEnglishiscore();316 s[2]=h.getNetworkscore();317 s[3]=h.getDatabasescore();318 s[4]=h.getSoftwarescore();319 double[] result=new double[5];//分别存储1-5学科的绩点
320 double [] credit= {4,3,4,3,2};//存储各科学分
321 double sum=0;322 for (int i = 0; i < s.length; i++) {323 if(s[i]>=90) result[i]=4.0;324 else if(s[i]>=85&&s[i]<90) result[i]=3.7;325 else if(s[i]>=82&&s[i]<85) result[i]=3.3;326 else if(s[i]>=78&&s[i]<82) result[i]=3.0;327 else if(s[i]>=75&&s[i]<78) result[i]=2.7;328 else if(s[i]>=72&&s[i]<75) result[i]=2.3;329 else if(s[i]>=68&&s[i]<72) result[i]=2.0;330 else if(s[i]>=66&&s[i]<68) result[i]=1.7;331 else if(s[i]>=64&&s[i]<66) result[i]=1.5;332 else if(s[i]>=60&&s[i]<64) result[i]=1.0;333 else result[i]=0;334 sum+=result[i]*credit[i];335 }336 sum/=16;337 boolean flag=true;338 if(sum<2)339 flag=false;340 System.out.print("***********************************************************\r\n" +
341 "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
342 "学生考试成绩绩点计算界面\r\n" +
343 "***********************************************************\r\n" +
344 "学生学号:"+h.getStunumber()+"\r\n" +
345 "学生姓名:"+h.getName()+"\r\n" +
346 "1、高等数学成绩绩点:"+result[0]+"\r\n" +
347 "2、大学英语成绩绩点:"+result[1]+"\r\n" +
348 "3、计算机网络成绩绩点:"+result[2]+"\r\n" +
349 "4、数据库成绩绩点:"+result[3]+"\r\n" +
350 "5、软件工程成绩绩点:"+result[4]+"\r\n" +
351 "你的平均学分绩点为:");352 System.out.println(String.format("%.2f", sum)); //计算结果保留小数点后两位
353 if(flag)354 System.out.println("提示信息:你的学分绩点已达到毕业要求!");355 else
356 System.out.println("你的学分绩点不满足毕业要求!");357
358 System.out.println("是否返回系统主界面:(Y/N)");359 String a;360 char c='2';361 while(c!='Y'&&c!='y') {362 a=in.next();363 c=a.charAt(0);364 }365 }366 public static void caculateScore() {//计算学分绩点
367 boolean flag=true;368 while(flag) {369 caculateMenu();370 String ans=in.next();//将输入的学号存入ans中
371 if(ans.equals(Score1.getStunumber())) {372 caculateInterface(Score1);373 flag=false;374 }375 else if(ans.equals(Score2.getStunumber())) {376 caculateInterface(Score2);377 flag=false;378 }379 else if(ans.equals(Score3.getStunumber())) {380 caculateInterface(Score3);381 flag=false;382 }383 else if(ans.equals(Score4.getStunumber())) {384 caculateInterface(Score4);385 flag=false;386 }387 else if(ans.equals(Score5.getStunumber())) {388 caculateInterface(Score5);389 flag=false;390 }391 else
392 System.out.println("该学号不存在3");393 }394 }395 public static voidmain(String[] args) {396 totalMenu();397 }398 }