JAVA语言课堂测试试卷01学生信息管理系统

1.源程序思路:将成绩录入、成绩修改、计算绩点、退出系统分别写成四个函数,主函数利用switch以及while循环完成调用和循环。

2.程序源代码:

package Studen;
//定义ScoreInformation类
class ScoreInformation {
 private String stunumber;
 private String name;
 private double mathematicsscore;
 private double englishiscore;
 private double networkscore;
 private double databasescore;
 private double softwarescore;
 public void setStunumber(String stunumber){
  this.stunumber = stunumber;
 }
 public void setName(String name){
  this.name = name;
 }
 public void setMathematicsscore(double mathematicsscore){
  this.mathematicsscore = mathematicsscore;
 }
 public void setEnglishiscore(double englishiscore){
  this.englishiscore = englishiscore;
 }
 public void setNetworkscore(double networkscore){
  this.networkscore = networkscore;
 }
 public void setDatabasescore(double databasescore){
  this.databasescore = databasescore;
 }
 public void setSoftwarescore(double softwarescore){
  this.softwarescore = softwarescore;
 }
 public String getStunumber(){
  return stunumber;
 }
 public String getName(){
  return name;
 }
 public double getMathematicsscore(){
  return mathematicsscore;
 }
 public double getEnglishiscore(){
  return englishiscore;
 }
 public double getNetworkscore(){
  return networkscore;
 }
 public double getDatabasescore(){
  return databasescore;
 }
 public double getSoftwarescore(){
  return softwarescore;
 }
}
 
 
主方法:
package Studen;
import java.util.*;
import java.text.DecimalFormat; 
public class Main {
 static ScoreInformation[] ScoreInformation=new ScoreInformation[5];
 static Scanner scanner=new Scanner(System.in);
 static  int num;
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  //退出学籍管理系统
  for(int i=0;i<5;i++)
   ScoreInformation[i]=new ScoreInformation();
  ScoreInformation[0].setStunumber("20183580");
  ScoreInformation[0].setName("liuhexin");
  ScoreInformation[1].setStunumber("20183581");
  ScoreInformation[1].setName("A");
  ScoreInformation[2].setStunumber("20183582");
  ScoreInformation[2].setName("B");
  ScoreInformation[3].setStunumber("20183583");
  ScoreInformation[3].setName("C");
  ScoreInformation[4].setStunumber("20183584");
  ScoreInformation[4].setName("D");
   while(true) {
    display();
   int n = scanner.nextInt();
   switch(n){
   case 1: add();break;//成绩录入
   case 2: change();break; //成绩修改
   case 3: JDdisplay();break;//成绩绩点 
   case 4: exit();break;//退出学籍管理系统
   }
   }
}
 static void display() {//主界面
  System.out.println("***********************************************************");
  System.out.println("                                石家庄铁道大学软件工程系");
  System.out.println("                                学生学籍管理系统 2019 版");
  System.out.println("***********************************************************");
  System.out.println("                                1、 学生考试成绩录入");
  System.out.println("                                2、 学生考试成绩修改");
  System.out.println("                                3、 计算学生成绩绩点");
  System.out.println("                                4、退出学籍管理系统");
  System.out.println("***********************************************************");
 }
 static void add() {//成绩录入
  int num=0;
   System.out.println("***********************************************************");
   System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
   System.out.println("                                学生考试成绩录入 ");
   System.out.println("*********************************************************** ");
   System.out.print("                                请输入学生学号:");//判断学号
   String n = scanner.next();
   int flag=0;
   for(int i=0;i<5;i++)
   {
    
    if(n.equals(ScoreInformation[i].getStunumber())) {
     flag=1;
     num = i;
     System.out.println("***********************************************************");
     System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
     System.out.println("                                学生考试成绩录入 ");
     System.out.println("*********************************************************** ");
     System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
     System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
     System.out.print("                                请输入高等数学成绩:");
     ScoreInformation[num].setMathematicsscore(scanner.nextDouble());
     System.out.println("********************************************************** ");
     System.out.println("***********************************************************");
     System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
     System.out.println("                                学生考试成绩录入 ");
     System.out.println("*********************************************************** ");
     System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
     System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
     System.out.print("                                请输入大学英语成绩:");
     ScoreInformation[num].setEnglishiscore(scanner.nextDouble());
     System.out.println("********************************************************** ");
     System.out.println("***********************************************************");
     System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
     System.out.println("                                学生考试成绩录入 ");
     System.out.println("*********************************************************** ");
     System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
     System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
     System.out.print("                                请输入计算机网络成绩:");
     ScoreInformation[num].setNetworkscore(scanner.nextDouble());
     System.out.println("********************************************************** ");
     System.out.println("***********************************************************");
     System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
     System.out.println("                                学生考试成绩录入 ");
     System.out.println("*********************************************************** ");
     System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
     System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
     System.out.print("                                请输入数据库成绩:");
     ScoreInformation[num].setDatabasescore(scanner.nextDouble());
     System.out.println("********************************************************** ");
     System.out.println("***********************************************************");
     System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
     System.out.println("                                学生考试成绩录入 ");
     System.out.println("*********************************************************** ");
     System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
     System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
     System.out.print("                                请输入软件工程成绩:");
     ScoreInformation[num].setSoftwarescore(scanner.nextDouble());
     System.out.println("********************************************************** ");
     System.out.println("********************************************************** ");
     System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
     System.out.println("                                学生考试成绩录入 ");
     System.out.println("*********************************************************** ");
     System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
     System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
     System.out.println("                                高等数学成绩:"+ScoreInformation[num].getMathematicsscore());
     System.out.println("                                大学英语:"+ScoreInformation[num].getEnglishiscore());
     System.out.println("                                计算机网络成绩:"+ScoreInformation[num].getNetworkscore());
     System.out.println("                                数据库成绩:"+ScoreInformation[num].getDatabasescore());
     System.out.println("                                软件工程成绩:"+ScoreInformation[num].getSoftwarescore());
     System.out.println("                                该学生成绩已录入完毕,是否提交(Y/N) ");
     System.out.println("*********************************************************** ");
     String as = scanner.next();
     if(as.equals("Y")) {
      display();
     }
     else {
      ScoreInformation[num].setMathematicsscore(0);
      ScoreInformation[num].setEnglishiscore(0);
      ScoreInformation[num].setNetworkscore(0);
      ScoreInformation[num].setDatabasescore(0);
      ScoreInformation[num].setSoftwarescore(0);
      add();
     }
    }
   }
   if(flag==0) {
    System.out.println("                                用户学号不存在");
    add();
   }
}
 static void change() {//成绩修改
  System.out.println("*********************************************************** ");
  System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
  System.out.println("                                学生考试成绩修改界面  ");
  System.out.println("*********************************************************** ");
  System.out.print("                                请输入学生学号:");
  String n = scanner.next();
  int flag=0;
  System.out.println("*********************************************************** ");
  int num;
  for(int i=0;i<5;i++) {
   if(n.equals(ScoreInformation[i].getStunumber())) {
    num=i;
    flag=1;
    System.out.println("********************************************************** ");
    System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
    System.out.println("                                学生考试成绩录入 ");
    System.out.println("*********************************************************** ");
    System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
    System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
    System.out.println("                                1、高等数学成绩:"+ScoreInformation[num].getMathematicsscore());
    System.out.println("                                2、大学英语:"+ScoreInformation[num].getEnglishiscore());
    System.out.println("                                3、计算机网络成绩:"+ScoreInformation[num].getNetworkscore());
    System.out.println("                                4、数据库成绩:"+ScoreInformation[num].getDatabasescore());
    System.out.println("                                5、软件工程成绩:"+ScoreInformation[num].getSoftwarescore());
    System.out.println("*********************************************************** ");
    System.out.print("                                请输入要修改成绩编号:");
    int b = scanner.nextInt();
    System.out.println("********************************************************** ");
    System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
    System.out.println("                                学生考试成绩录入界面 ");
    System.out.println("*********************************************************** ");
    System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
    System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
    switch(b) {
    case 1:System.out.print("                                请输入修改后的高等数学成绩:");
    ScoreInformation[num].setMathematicsscore(scanner.nextDouble());break;
    case 2:System.out.print("                                请输入修改后的大学英语成绩:");
    ScoreInformation[num].setEnglishiscore(scanner.nextDouble());break;
    case 3:System.out.print("                                请输入修改后的计算机网络成绩:");
    ScoreInformation[num].setNetworkscore(scanner.nextDouble());break;
    case 4:System.out.print("                                请输入修改后的数据库成绩:");
    ScoreInformation[num].setDatabasescore(scanner.nextDouble());break;
    case 5:System.out.print("                                请输入修改后的软件工程成绩:");
    ScoreInformation[num].setSoftwarescore(scanner.nextDouble());break;
    }
    System.out.println("********************************************************** ");
    System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
    System.out.println("                                学生考试成绩录入 ");
    System.out.println("*********************************************************** ");
    System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
    System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
    System.out.println("                                1、高等数学成绩:"+ScoreInformation[num].getMathematicsscore());
    System.out.println("                                2、大学英语:"+ScoreInformation[num].getEnglishiscore());
    System.out.println("                                3、计算机网络成绩:"+ScoreInformation[num].getNetworkscore());
    System.out.println("                                4、数据库成绩:"+ScoreInformation[num].getDatabasescore());
    System.out.println("                                5、软件工程成绩:"+ScoreInformation[num].getSoftwarescore());
    System.out.println("                                该学生成绩已修改完毕,是否提交(Y/N) ");
    System.out.println("*********************************************************** ");
    String cs = scanner.next();
    if(cs.equals("Y")) {
     display();
    }
    else {
     change();
    }
   }
  }
  if(flag==0) {
   System.out.println("                                用户学号不存在");
   change();
  }
 }
 static double JD (double score) {//绩点计算
  double jd=0;
  if(score>=90)  jd = 4.0;
  if(score>=85&&score<=89.9) jd = 3.7;
  if(score>=82&&score<=84.9) jd = 3.3;
  if(score>=78&&score<=81.9) jd = 3.0;
  if(score>=75&&score<=77.9) jd = 2.7;
  if(score>=72&&score<=74.9) jd = 2.3;
  if(score>=68&&score<=71.9) jd = 2.0;
  if(score>=66&&score<=67.9) jd = 1.7;
  if(score>=64&&score<=65.9) jd = 1.5;
  if(score>=60&&score<=63.9) jd = 1.0;
  if(score<60) jd = 0;
  return jd;
  }
 static void JDdisplay() {//输出绩点
  System.out.println("*********************************************************** ");
  System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
  System.out.println("                                学生考试成绩绩点计算界面  ");
  System.out.println("*********************************************************** ");
  System.out.print("                                请输入学生学号:");
  String n = scanner.next();
  System.out.println("*********************************************************** ");
  for(int i=0;i<5;i++) {
   if(n.equals(ScoreInformation[i].getStunumber())) {
    double M=JD(ScoreInformation[i].getMathematicsscore());
    double E=JD(ScoreInformation[i].getEnglishiscore());
    double N=JD(ScoreInformation[i].getNetworkscore());
    double D=JD(ScoreInformation[i].getDatabasescore());
    double S=JD(ScoreInformation[i].getSoftwarescore());
    double average = (M*4+E*3+N*4+D*3+S*2)/16;
    DecimalFormat df   = new DecimalFormat("#0.00");  
    
    System.out.println("*********************************************************** ");
    System.out.println("            石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
    System.out.println("                                学生考试成绩绩点计算界面  ");
    System.out.println("*********************************************************** ");
    System.out.println("                                学生学号:"+ScoreInformation[num].getStunumber());
    System.out.println("                                学生姓名:"+ScoreInformation[num].getName());
    System.out.println("                                1、高等数学成绩绩点:"+M);
    System.out.println("                                2、大学英语成绩绩点:"+E);
    System.out.println("                                3、计算机网络成绩绩点:"+N);
    System.out.println("                                4、数据库成绩绩点:"+D);
    System.out.println("                                5、软件工程成绩绩点:"+S);
    System.out.println("                                你的平均学分绩点为:"+df.format(average));
    if(average>2)
     System.out.println("                                提示信息:你的学分绩点已达到毕业要求!");
    else {
     System.out.println("                                提示信息:你的学分绩点不满足毕业要求!");
    }
    System.out.println("                                是否返回系统主界面:(Y/N) ");
    System.out.println("********************************************************** ");
    String js = scanner.next();
    if(js.equals("Y")) {
     display();
    }
    else {
   }
  }
 }
 }
 static void exit() {//退出系统
  System.out.println("***********************************************************");
  System.out.println("谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
  System.out.println("                                制作人:刘贺鑫 ");
  System.out.println("*********************************************************** ");
  System.exit(0);
 }
}
3.程序调试截图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2019-09-12 23:04  Lhxxx  阅读(394)  评论(0编辑  收藏  举报

导航