学生学籍管理系统

 
学生学籍管理系统要求:
一、数据结构要求:(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 版
学生考试成绩录入界面
***********************************************************
学生学号: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) 百分制对应绩点
 
(2)平均学分计算方法
平均学分绩点=∑ ( 课程绩点× 该课程学分) /∑ 课程学分
计算平均学分绩点按四舍五入原则, 小数点后保留两位有效数字。
③选择“Y”返回系统主界面。选择“N”,无操作。(0.5 分)
4、用户选择数字“4”,显示如下界面,退出当前程序。(1 分)
***********************************************************
谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版
制作人:考生姓名
***********************************************************
 
 
 
package 开学考试;
public class ScoreInformation {
 private String stunumber=" ";
 private String name=" ";
 private double mathematicsscore;
 private double englishiscore;
 private double networkscore;
 private double databasescore;
 private double softwarescore;
 
 public ScoreInformation(){
  
 }
 
 
 public String getStunumber() {
  return stunumber;
 }
 public void setStunumber(String stunumber) {
  this.stunumber = stunumber;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public double getMathematicsscore() {
  return mathematicsscore;
 }
 public void setMathematicsscore(double mathematicsscore) {
  this.mathematicsscore = mathematicsscore;
 }
 public double getEnglishiscore() {
  return englishiscore;
 }
 public void setEnglishiscore(double englishiscore) {
  this.englishiscore = englishiscore;
 }
 public double getNetworkscore() {
  return networkscore;
 }
 public void setNetworkscore(double networkscore) {
  this.networkscore = networkscore;
 }
 public double getDatabasescore() {
  return databasescore;
 }
 public void setDatabasescore(double databasescore) {
  this.databasescore = databasescore;
 }
 public double getSoftwarescore() {
  return softwarescore;
 }
 public void setSoftwarescore(double softwarescore) {
  this.softwarescore = softwarescore;
 }
}
 
 
package 开学考试;
import java.util.*;
public class ScoreManagement {
 static Boolean flag1 = true;
 static Boolean flag2 = true;
 static ScoreInformation arr[] = new ScoreInformation[5];
 static int i = 0;
 static Scanner sc = new Scanner(System.in);
 // 主方法
 public static void main(String[] args) {
  addcy();
  while (flag1) {
   menu(); // 主菜单
   int n = sc.nextInt();
   switch (n) {
   case 1:
    luru();
    break;
   case 2:
    xiugai();
    break;
   case 3:
    jidian();
    break;
   case 4:
    flag1 = false;
    break;
   default:
    System.out.println("没有该选项!");
    break;
   }
  }
  System.out.println("******************************************************");
  System.out.println("谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
  System.out.println("                   制作人:李帅");
  System.out.println("******************************************************");
 }
 static public void menu() {
  System.out.println("*************************************************");
  System.out.println();
  System.out.println("                   石家庄铁道大学软件工程系");
  System.out.println("                    学生学籍管理系统2019版");
  System.out.println();
  System.out.println("*************************************************");
  System.out.println();
  System.out.println("               1、学生考试成绩录入");
  System.out.println("               2、学生考试成绩修改");
  System.out.println("               3、计算学生成绩绩点");
  System.out.println("               4、退出学籍管理系统");
  System.out.println();
  System.out.println("*************************************************");
  System.out.println();
 }
 static public void luru() {
  System.out.println("***************************************************");
  System.out.println("      石家庄铁道大学软件工程系学生学籍管理系统2019版");
  System.out.println("                     学生考试成绩录入");
  System.out.println("***************************************************");
  System.out.println("                     请输入学生学号:");
  System.out.println("***************************************************");
  String num = sc.next();
  for (int i = 0; i < 5; i++) {
   if (num.equals(arr[i].getStunumber())) {     //判断输入的字符串是否和数组中的相同
    flag2 = false;
    break;
   }
  }
  if (flag2 == true) {
   System.out.println("该学号不存在!");
  }
  else {
   System.out.println("***************************************************");
   System.out.println("   石家庄铁道大学软件工程系学生学籍管理系统2019版");
   System.out.println("               学生考试成绩录入界面");
   System.out.println("***************************************************");
   System.out.println("                 学生学号:" + num);
   System.out.println("                 学生姓名:" + arr[i].getName());
   System.out.println("                 请输入高等数学成绩:XXXX");
   System.out.println("***************************************************");
   arr[i].setMathematicsscore(sc.nextDouble());
   System.out.println("***************************************************");
   System.out.println("   石家庄铁道大学软件工程系学生学籍管理系统2019版");
   System.out.println("               学生考试成绩录入界面");
   System.out.println("***************************************************");
   System.out.println("                 学生学号:" + num);
   System.out.println("                 学生姓名:" + arr[i].getName());
   System.out.println("                 高等数学成绩:" + arr[i].getMathematicsscore());
   System.out.println("                 请输入大学英语成绩:XXX");
   System.out.println("***************************************************");
   arr[i].setEnglishiscore(sc.nextDouble());
   System.out.println("***************************************************");
   System.out.println("   石家庄铁道大学软件工程系学生学籍管理系统2019版");
   System.out.println("               学生考试成绩录入界面");
   System.out.println("***************************************************");
   System.out.println("                 学生学号:" + num);
   System.out.println("                 学生姓名:" + arr[i].getName());
   System.out.println("                 高等数学成绩:" + arr[i].getMathematicsscore());
   System.out.println("                 大学英语成绩:" + arr[i].getEnglishiscore());
   System.out.println("                 请输入计算网络成绩:XXX");
   System.out.println("***************************************************");
   arr[i].setNetworkscore(sc.nextDouble());
   System.out.println("***********************************************************");
   System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
   System.out.println("                  学生考试成绩录入界面");
   System.out.println("                  学生学号:" + num);
   System.out.println("                  学生姓名:" + arr[i].getName());
   System.out.println("                  高等数学成绩:" + arr[i].getMathematicsscore());
   System.out.println("                  英语成绩:" + arr[i].getEnglishiscore());
   System.out.println("                  计算机网络成绩:" + arr[i].getNetworkscore());
   System.out.println("                  请输入数据库成绩:XXX");
   System.out.println("***********************************************************");
   arr[i].setDatabasescore(sc.nextDouble());
   System.out.println("***********************************************************");
   System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
   System.out.println("                  学生考试成绩录入界面");
   System.out.println("                  学生学号:" + num);
   System.out.println("                  学生姓名:" + arr[i].getName());
   System.out.println("                  高等数学成绩:" + arr[i].getMathematicsscore());
   System.out.println("                  英语成绩:" + arr[i].getEnglishiscore());
   System.out.println("                  计算机网络成绩:" + arr[i].getNetworkscore());
   System.out.println("                  数据库成绩:" + arr[i].getDatabasescore());
   System.out.println("                  请输入软件工程成绩:XXX");
   System.out.println("***********************************************************");
   arr[i].setSoftwarescore(sc.nextDouble());
   System.out.println("***********************************************************");
   System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
   System.out.println("                  学生考试成绩录入界面");
   System.out.println("                  学生学号:" + num);
   System.out.println("                  学生姓名:" + arr[i].getName());
   System.out.println("                  高等数学成绩:" + arr[i].getMathematicsscore());
   System.out.println("                  英语成绩:" + arr[i].getEnglishiscore());
   System.out.println("                  计算机网络成绩:" + arr[i].getNetworkscore());
   System.out.println("                  数据库成绩:" + arr[i].getDatabasescore());
   System.out.println("                  软件工程成绩:" + arr[i].getSoftwarescore());
   System.out.println("***********************************************************");
   System.out.println("             该学生成绩已录入完毕,是否提交(Y/N)");
   String num2 = sc.next();
   if (num2 == "Y") {
    menu();
   } else if (num2 == "N") {
    arr[i].setDatabasescore(0.0);
    arr[i].setEnglishiscore(0.0);
    arr[i].setMathematicsscore(0.0);
    arr[i].setDatabasescore(0.0);
    arr[i].setNetworkscore(0.0);
    luru();
   }
  }
 }
 static public void xiugai() { // 修改
  System.out.println("***************************************************");
  System.out.println("      石家庄铁道大学软件工程系学生学籍管理系统2019版");
  System.out.println("                     学生考试成绩录入");
  System.out.println("***************************************************");
  System.out.println("                     请输入学生学号:");
  System.out.println("***************************************************");
  String num1 = sc.next();
  for (int i = 0; i < 5; i++) {
   if (num1.equals(arr[i].getStunumber())) {
    flag2 = false;
    break;
   }
  }
  if (flag2 == true) {
   System.out.println("该学号不存在!");
   xiugai();
  }
  else {
   System.out.println("***********************************************************");
   System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
   System.out.println("                  学生考试成绩录入界面");
   System.out.println("                  学生学号:" + num1);
   System.out.println("                  学生姓名:" + arr[i].getName());
   System.out.println("                  高等数学成绩:" + arr[i].getMathematicsscore());
   System.out.println("                  英语成绩:" + arr[i].getEnglishiscore());
   System.out.println("                  计算机网络成绩:" + arr[i].getNetworkscore());
   System.out.println("                  数据库成绩:" + arr[i].getDatabasescore());
   System.out.println("                  软件工程成绩:" + arr[i].getSoftwarescore());
   System.out.println("***********************************************************");
   int xuanze = sc.nextInt();
   double xiugai = 0.0;
   switch (xuanze) {
   case 1:
    System.out.println("***********************************************************");
    System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
    System.out.println("                  学生考试成绩录入界面");
    System.out.println("***********************************************************");
    System.out.println("                  学生学号:" + num1);
    System.out.println("                  学生姓名:" + arr[i].getName());
    System.out.println("                  请输入修改后的高等数学成绩:");
    System.out.println("***********************************************************");
    xiugai = arr[i].getMathematicsscore();
    arr[i].setMathematicsscore(sc.nextDouble());
    break;
   case 2:
    System.out.println("***********************************************************");
    System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
    System.out.println("                  学生考试成绩录入界面");
    System.out.println("***********************************************************");
    System.out.println("                  学生学号:" + num1);
    System.out.println("                  学生姓名:" + arr[i].getName());
    System.out.println("                  请输入修改后的大学英语成绩:");
    System.out.println("***********************************************************");
    xiugai = arr[i].getEnglishiscore();
    arr[i].setEnglishiscore(sc.nextDouble());
    break;
   case 3:
    System.out.println("***********************************************************");
    System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
    System.out.println("                  学生考试成绩录入界面");
    System.out.println("***********************************************************");
    System.out.println("                  学生学号:" + num1);
    System.out.println("                  学生姓名:" + arr[i].getName());
    System.out.println("                  请输入修改后的计算机网络成绩:");
    System.out.println("***********************************************************");
    xiugai = arr[i].getNetworkscore();
    arr[i].setNetworkscore(sc.nextDouble());
    break;
   case 4:
    System.out.println("***********************************************************");
    System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
    System.out.println("                  学生考试成绩录入界面");
    System.out.println("***********************************************************");
    System.out.println("                  学生学号:" + num1);
    System.out.println("                  学生姓名:" + arr[i].getName());
    System.out.println("                  请输入修改后的数据库成绩:");
    System.out.println("***********************************************************");
    xiugai = arr[i].getDatabasescore();
    arr[i].setDatabasescore(sc.nextDouble());
    break;
   case 5:
    System.out.println("***********************************************************");
    System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
    System.out.println("                  学生考试成绩录入界面");
    System.out.println("***********************************************************");
    System.out.println("                  学生学号:" + num1);
    System.out.println("                  学生姓名:" + arr[i].getName());
    System.out.println("                  请输入修改后的软件工程成绩:");
    System.out.println("***********************************************************");
    xiugai = arr[i].getSoftwarescore();
    arr[i].setSoftwarescore(sc.nextDouble());
    break;
   }
   System.out.println("***********************************************************");
   System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
   System.out.println("                  学生考试成绩录入");
   System.out.println("***********************************************************");
   System.out.println("                  学生学号:" + num1);
   System.out.println("                  学生姓名:" + arr[i].getName());
   System.out.println("                  高等数学成绩:" + arr[i].getMathematicsscore());
   System.out.println("                  英语成绩:" + arr[i].getEnglishiscore());
   System.out.println("                  计算机网络成绩:" + arr[i].getNetworkscore());
   System.out.println("                  数据库成绩:" + arr[i].getDatabasescore());
   System.out.println("                  软件工程成绩:" + arr[i].getSoftwarescore());
   System.out.println("          该学生成绩已修改完毕,是否提交(Y/N)");
   System.out.println("***********************************************************");
   String num3 = sc.next();
   if (num3 =="Y") {
    menu();
   } else if (num3 =="N") {
    switch (xuanze) {
    case 1:
     arr[i].setMathematicsscore(xiugai);
     break;
    case 2:
     arr[i].setEnglishiscore(xiugai);
     break;
    case 3:
     arr[i].setNetworkscore(xiugai);
     break;
    case 4:
     arr[i].setDatabasescore(xiugai);
     break;
    case 5:
     arr[i].setSoftwarescore(xiugai);
     break;
    }
    xiugai();
   }
  }
 }
 static public void jidian() {
   System.out.println("***********************************************************");
   System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
   System.out.println("                  学生考试成绩绩点计算界面");
   System.out.println("***********************************************************");
   System.out.println("                 请输入学生学号:XXXXXXXX");
   System.out.println("***********************************************************");
  
   String num4 = sc.next();
   for(int i=0;i<5;i++){
    if(num4.equals(arr[i].getStunumber())){
     flag2 = false;
     break;
    }
   }
  
   if(flag2 == true){
    System.out.println("学号不存在!");
    jidian();
   }
   else{
   
    System.out.println("***********************************************************");
    System.out.println("       石家庄铁道大学软件工程系学生学籍管理系统 2019 版             ");
    System.out.println("                  学生考试成绩绩点计算界面");
    System.out.println("***********************************************************");
    System.out.println("                  学生学号:"+num4);
    System.out.println("                  学生姓名:"+arr[i].getName());
    System.out.println("                 1.高等数学绩点:"+js(arr[i].getMathematicsscore()));
    System.out.println("                 2.英语绩点:"+js(arr[i].getEnglishiscore()));
    System.out.println("                 3.计算机网络绩点:"+js(arr[i].getNetworkscore()));
    System.out.println("                 4.数据库绩点:"+js(arr[i].getDatabasescore()));
    System.out.println("                 5.软件工程绩点:"+js(arr[i].getSoftwarescore()));
   
    double pingjun = 0.0;
    pingjun = (js(arr[i].getMathematicsscore())*4.0+js(arr[i].getEnglishiscore())*3.0+js(arr[i].getNetworkscore())*4.0
      +js(arr[i].getDatabasescore())*3.0+js(arr[i].getSoftwarescore())*2.0)/(16.0);
   
    if(pingjun>=2.0)
    {
     System.out.println("                 你的平均学分绩点为:"+(double)Math.round(pingjun*100)/100); 
     //Math.round 是四舍五入的(11.4取11,   11.5有11和12取较大者12)
     System.out.println("                  你的学分绩点已达到毕业要求!");
    
    }
    else
    {
     System.out.println("                 你的平均学分绩点为:"+(double)Math.round(pingjun*100)/100);
     System.out.println("                  你的学分绩点不满足毕业要求!");
    
    }
    System.out.println("***********************************************************");
   
   }
  
 }
 static public void addcy() { // 存入信息
  arr[0] = new ScoreInformation();
  arr[0].setStunumber("20183767");
  arr[0].setName("李帅");
  arr[1] = new ScoreInformation();
  arr[1].setStunumber("20183768");
  arr[1].setName("张某");
  arr[2] = new ScoreInformation();
  arr[2].setStunumber("20183769");
  arr[2].setName("赵某");
  arr[3] = new ScoreInformation();
  arr[3].setStunumber("20183770");
  arr[3].setName("钱某");
  arr[4] = new ScoreInformation();
  arr[4].setStunumber("20183771");
  arr[4].setName("孙某");
 }
 
 static public double js(Double cj)
 {
  double xf=0.0;
  if(cj>=90)
   xf=4.0;
  else if(cj>=85)
   xf=3.7;
  else if(cj>=82)
   xf=3.3;
  else if(cj>=78)
   xf=3.0;
  else if(cj>=75)
   xf=2.7;
  else if(cj>=72)
   xf=2.3;
  else if(cj>=68)
   xf=2.0;
  else if(cj>=66)
   xf=1.7;
  else if(cj>=64)
   xf=1.5;
  else if(cj>=60)
   xf=1.0;
  else
   xf=0;
  return xf;
 }
 
 
}
 
原文地址:https://www.cnblogs.com/022414ls/p/11512646.html