学生成绩管理系统
Posted wind-and-sky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学生成绩管理系统相关的知识,希望对你有一定的参考价值。
ScoreInformation.java
public class ScoreInformation
String stunumber; //学生学号
String name; //学生姓名
double mathematicsscore;//学生高数成绩
double englishiscore; //学生英语成绩
double networkscore; //学生计算机网络成绩
double databasescore; //学生数据库成绩
double softwarescore; // 学生软件工程成绩
public ScoreInformation(String stu,String n,double math,double eng,double net,double data,double sofe) //构造函数
this.stunumber=stu;
this.name=n;
this.mathematicsscore=math;
this.englishiscore=eng;
this.databasescore=net;
this.softwarescore=sofe;
String getstunumber() //获取学生学号
return stunumber;
void setstunumber(String a) //设立学生学号
stunumber=a;
String getname() //获取学生姓名
return name;
void setname(String a) //设置学生姓名
name=a;
double getmathematicsscore()
return mathematicsscore;
void setmathematicsscore(double a)
mathematicsscore=a;
double getenglishiscore()
return englishiscore;
void setenglishiscore(double a)
englishiscore=a;
double getnetworkscore()
return networkscore;
void setnetworkscore(double a)
networkscore=a;
double getdatabasescore()
return databasescore;
void setdatabasescore(double a)
databasescore=a;
double getsoftwarescore()
return softwarescore;
void setsoftwarescore(double a)
softwarescore=a;
this.stunumber=stu;
this.name=n;
this.mathematicsscore=math;
this.englishiscore=eng;
this.databasescore=net;
this.softwarescore=sofe;
String getstunumber() //获取学生学号
return stunumber;
void setstunumber(String a) //设立学生学号
stunumber=a;
String getname() //获取学生姓名
return name;
void setname(String a) //设置学生姓名
name=a;
double getmathematicsscore()
return mathematicsscore;
void setmathematicsscore(double a)
mathematicsscore=a;
double getenglishiscore()
return englishiscore;
void setenglishiscore(double a)
englishiscore=a;
double getnetworkscore()
return networkscore;
void setnetworkscore(double a)
networkscore=a;
double getdatabasescore()
return databasescore;
void setdatabasescore(double a)
databasescore=a;
double getsoftwarescore()
return softwarescore;
void setsoftwarescore(double a)
softwarescore=a;
StudentScoreManagement.java
import java.util.Scanner;
public class StudentScoreInformation
static ScoreInformation[] ss= new ScoreInformation("20183694","边信哲",0,0,0,0,0),new ScoreInformation("00000000","null",0,0,0,0,0),new ScoreInformation("00000000","null",0,0,0,0,0),new ScoreInformation("00000000","null",0,0,0,0,0),new ScoreInformation("00000000","null",0,0,0,0,0); //利用数组实现存储五个学生的信息,并对其进行初始化
static Scanner stud=new Scanner(System.in);
public static void main(String[] args)
ZhuCaiDan(); //显示主菜单
static void ZhuCaiDan() //主菜单
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("***********************************************");
Scanner stud=new Scanner(System.in);//用于输入学生信息
int a=stud.nextInt();
switch(a) //使用switch进行功能选择,这种情况优于for循环 我感觉使用do while循环也可以,先刷界面再循环,但是不知道哪里错误,不好控制功能。o(´^`)o
case 1:add();break; //录入考试成绩 后面有add函数控制
case 2:rivise();break; //修改学生考试成绩 后面由rivise函数控制
case 3:count();break; //计算学生成绩绩点 后面由count函数控制
case 4:exit();break; //退出学籍管理系统 后面由exit函数控制
default:System.out.println("输入错误"); //输入有误,退回到主界面
ZhuCaiDan();
static void add() //此函数用于函数的录入
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 请输入学生学号: ");
System.out.println("***********************************************");
Scanner stud=new Scanner(System.in);
String str=stud.nextLine();
boolean k=false;//定义布尔型变量 分别运行是否是系统中的学生
for(int i=0;i<5;i++)
if(str.equals(ss[i].getstunumber())) //检测是否有这个学生
k=true; //如果有的话,就将布尔型变量k赋值为true
System.out.println("***********************************************"); //刷新
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 请输入高等数学成绩:");
System.out.println("***********************************************");
double sc1=stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 请输入大学英语成绩:");
System.out.println("***********************************************");
double sc2 =stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 大学英语成绩:"+sc2);
System.out.println(" 请输入计算机网络成绩:");
System.out.println("***********************************************");
double sc3=stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 大学英语成绩:"+sc2);
System.out.println(" 计算机网络成绩:"+sc3);
System.out.println(" 请输入数据库成绩:");
System.out.println("***********************************************");
double sc4=stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 大学英语成绩:"+sc2);
System.out.println(" 计算机网络成绩:"+sc3);
System.out.println(" 数据库成绩:"+sc4);
System.out.println(" 请输入软件工程成绩:");
System.out.println("***********************************************");
double sc5=stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 大学英语成绩:"+sc2);
System.out.println(" 计算机网络成绩:"+sc3);
System.out.println(" 数据库成绩:"+sc4);
System.out.println(" 软件工程成绩:"+sc5);
System.out.println("***********************************************");
System.out.println(" 该学生成绩已录入完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in); //输入x或者n
String s=stu.nextLine();
if(s.equals("Y")) //如果输入Y
ss[i].setmathematicsscore(sc1);
ss[i].setenglishiscore(sc2);
ss[i].setnetworkscore(sc3);
ss[i].setdatabasescore(sc4);
ss[i].setsoftwarescore(sc5);
ZhuCaiDan();
else
//如果输入n
add(); //进入到刚进入1的时候
if(k==false) //输入的学号错误时
System.out.println("输入错误!");
add(); //返回成绩录入界面
static void rivise() //用于修改学生的信息
String s;
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 请输入学生学号: ");
System.out.println("***********************************************");
System.out.println("请输入八位学号");
String str1=stud.nextLine();
boolean k=false; //利用布尔型k来控制选择
for(int i=0;i<5;i++)
if(str1.equals(ss[i].getstunumber()))
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println("***********************************************");
k=true; // 如果存在这个学号的话,k的值就改变为true就不再执行输入错误的情况
int a=stud.nextInt(); //序号
if(a==1)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 请输入修改后高等数学成绩:");
double sc11=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+sc11);
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setmathematicsscore(sc11);
ZhuCaiDan();
else
rivise();
else if(a==2)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println("***********************************************");
double sc22=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+sc22);
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setenglishiscore(sc22);
ZhuCaiDan();
else
rivise();
else if(a==3)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println("***********************************************");
double sc33=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+sc33);
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setnetworkscore(sc33);
ZhuCaiDan();
else
rivise();
else if(a==4)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 请输入修改后数据库成绩:");
double sc44=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+sc44);
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setdatabasescore(sc44);
ZhuCaiDan();
else
rivise();
else if(a==5)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 请输入修改后软件工程成绩:");
double sc55=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+sc55);
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setsoftwarescore(sc55);
ZhuCaiDan();
else
rivise();
if(k==false)
System.out.println("输入错误!");
rivise();
static double judge(double score) //用来使绩点和所输入的成绩一一对应
double jidian;
if(score<60)
jidian=0;
else if(score>=60&&score<=63.9)
jidian=1.0;
else if(score>=64&&score<=65.9)
jidian=1.5;
else if(score>=66&&score<=65.9)
jidian=1.7;
else if(score>=68&&score<=71.9)
jidian=2.0;
else if(score>=72&&score<=74.9)
jidian=2.3;
else if(score>=75&&score<=77.9)
jidian=2.7;
else if(score>=78&&score<=81.9)
jidian=3.0;
else if(score>=82&&score<=84.0)
jidian=3.3;
else if(score>=85&&score<=89.9)
jidian=3.7;
else
jidian=4.0;
return jidian;
static void count()
System.out.println("***************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩绩点计算界面 ");
System.out.println("***************************************");
System.out.println(" 请输入学生学号: ");
System.out.println("***************************************");
System.out.println("请输入八位学号");
String str=stud.nextLine();
for(int i=0;i<5;i++)
if(str.equals(ss[i].getstunumber()))
System.out.println("***************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩绩点:"+judge(ss[i].getmathematicsscore()));
System.out.println(" 2、大学英语成绩绩点:"+judge(ss[i].getenglishiscore()));
System.out.println(" 3、计算机网络成绩绩点:"+judge(ss[i].getnetworkscore()));
System.out.println(" 4、数据库成绩绩点:"+judge(ss[i].getdatabasescore()));
System.out.println(" 5、软件工程成绩绩点:"+judge(ss[i].getsoftwarescore()));
double average;
average=(judge(ss[i].getmathematicsscore())*4+judge(ss[i].getenglishiscore())*3+judge(ss[i].getnetworkscore())*4+judge(ss[i].getdatabasescore())*3+judge(ss[i].getsoftwarescore())*2)/16;
System.out.println(" 你的平均学分绩点为:"+String.format("%.2f", average));
if(average>=2)
System.out.println(" 你的学分绩点已达到毕业要求!");
else
System.out.println(" 你的学分绩点不满足毕业要求!");
System.out.println(" 是否返回系统主界面:(Y/N)");
System.out.println("***************************************");
Scanner st=new Scanner(System.in);
String s=st.nextLine();
if(s.equals("Y"))
ZhuCaiDan();
static void exit() //退出
System.out.println("***********************************************");
System.out.println(" 谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 制作人:信1805-1 20183694 边信哲");
System.out.println("***********************************************");
public class StudentScoreInformation
static ScoreInformation[] ss= new ScoreInformation("20183694","边信哲",0,0,0,0,0),new ScoreInformation("00000000","null",0,0,0,0,0),new ScoreInformation("00000000","null",0,0,0,0,0),new ScoreInformation("00000000","null",0,0,0,0,0),new ScoreInformation("00000000","null",0,0,0,0,0); //利用数组实现存储五个学生的信息,并对其进行初始化
static Scanner stud=new Scanner(System.in);
public static void main(String[] args)
ZhuCaiDan(); //显示主菜单
static void ZhuCaiDan() //主菜单
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("***********************************************");
Scanner stud=new Scanner(System.in);//用于输入学生信息
int a=stud.nextInt();
switch(a) //使用switch进行功能选择,这种情况优于for循环 我感觉使用do while循环也可以,先刷界面再循环,但是不知道哪里错误,不好控制功能。o(´^`)o
case 1:add();break; //录入考试成绩 后面有add函数控制
case 2:rivise();break; //修改学生考试成绩 后面由rivise函数控制
case 3:count();break; //计算学生成绩绩点 后面由count函数控制
case 4:exit();break; //退出学籍管理系统 后面由exit函数控制
default:System.out.println("输入错误"); //输入有误,退回到主界面
ZhuCaiDan();
static void add() //此函数用于函数的录入
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 请输入学生学号: ");
System.out.println("***********************************************");
Scanner stud=new Scanner(System.in);
String str=stud.nextLine();
boolean k=false;//定义布尔型变量 分别运行是否是系统中的学生
for(int i=0;i<5;i++)
if(str.equals(ss[i].getstunumber())) //检测是否有这个学生
k=true; //如果有的话,就将布尔型变量k赋值为true
System.out.println("***********************************************"); //刷新
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 请输入高等数学成绩:");
System.out.println("***********************************************");
double sc1=stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 请输入大学英语成绩:");
System.out.println("***********************************************");
double sc2 =stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 大学英语成绩:"+sc2);
System.out.println(" 请输入计算机网络成绩:");
System.out.println("***********************************************");
double sc3=stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 大学英语成绩:"+sc2);
System.out.println(" 计算机网络成绩:"+sc3);
System.out.println(" 请输入数据库成绩:");
System.out.println("***********************************************");
double sc4=stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 大学英语成绩:"+sc2);
System.out.println(" 计算机网络成绩:"+sc3);
System.out.println(" 数据库成绩:"+sc4);
System.out.println(" 请输入软件工程成绩:");
System.out.println("***********************************************");
double sc5=stud.nextDouble(); //刷新
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+str);
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 高等数学成绩:"+sc1);
System.out.println(" 大学英语成绩:"+sc2);
System.out.println(" 计算机网络成绩:"+sc3);
System.out.println(" 数据库成绩:"+sc4);
System.out.println(" 软件工程成绩:"+sc5);
System.out.println("***********************************************");
System.out.println(" 该学生成绩已录入完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in); //输入x或者n
String s=stu.nextLine();
if(s.equals("Y")) //如果输入Y
ss[i].setmathematicsscore(sc1);
ss[i].setenglishiscore(sc2);
ss[i].setnetworkscore(sc3);
ss[i].setdatabasescore(sc4);
ss[i].setsoftwarescore(sc5);
ZhuCaiDan();
else
//如果输入n
add(); //进入到刚进入1的时候
if(k==false) //输入的学号错误时
System.out.println("输入错误!");
add(); //返回成绩录入界面
static void rivise() //用于修改学生的信息
String s;
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 请输入学生学号: ");
System.out.println("***********************************************");
System.out.println("请输入八位学号");
String str1=stud.nextLine();
boolean k=false; //利用布尔型k来控制选择
for(int i=0;i<5;i++)
if(str1.equals(ss[i].getstunumber()))
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println("***********************************************");
k=true; // 如果存在这个学号的话,k的值就改变为true就不再执行输入错误的情况
int a=stud.nextInt(); //序号
if(a==1)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 请输入修改后高等数学成绩:");
double sc11=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+sc11);
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setmathematicsscore(sc11);
ZhuCaiDan();
else
rivise();
else if(a==2)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println("***********************************************");
double sc22=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+sc22);
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setenglishiscore(sc22);
ZhuCaiDan();
else
rivise();
else if(a==3)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println("***********************************************");
double sc33=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+sc33);
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setnetworkscore(sc33);
ZhuCaiDan();
else
rivise();
else if(a==4)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 请输入修改后数据库成绩:");
double sc44=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+sc44);
System.out.println(" 5、软件工程成绩:"+ss[i].getsoftwarescore());
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setdatabasescore(sc44);
ZhuCaiDan();
else
rivise();
else if(a==5)
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 请输入修改后软件工程成绩:");
double sc55=stud.nextDouble();
System.out.println("***********************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("***********************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩:"+ss[i].getmathematicsscore());
System.out.println(" 2、大学英语成绩:"+ss[i].getenglishiscore());
System.out.println(" 3、计算机网络成绩:"+ss[i].getnetworkscore());
System.out.println(" 4、数据库成绩:"+ss[i].getdatabasescore());
System.out.println(" 5、软件工程成绩:"+sc55);
System.out.println(" 该学生成绩已修改完毕,是否提交(Y/N)");
System.out.println("***********************************************");
Scanner stu=new Scanner(System.in);
String s1=stu.nextLine();
if(s1.equals("Y"))
ss[i].setsoftwarescore(sc55);
ZhuCaiDan();
else
rivise();
if(k==false)
System.out.println("输入错误!");
rivise();
static double judge(double score) //用来使绩点和所输入的成绩一一对应
double jidian;
if(score<60)
jidian=0;
else if(score>=60&&score<=63.9)
jidian=1.0;
else if(score>=64&&score<=65.9)
jidian=1.5;
else if(score>=66&&score<=65.9)
jidian=1.7;
else if(score>=68&&score<=71.9)
jidian=2.0;
else if(score>=72&&score<=74.9)
jidian=2.3;
else if(score>=75&&score<=77.9)
jidian=2.7;
else if(score>=78&&score<=81.9)
jidian=3.0;
else if(score>=82&&score<=84.0)
jidian=3.3;
else if(score>=85&&score<=89.9)
jidian=3.7;
else
jidian=4.0;
return jidian;
static void count()
System.out.println("***************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩绩点计算界面 ");
System.out.println("***************************************");
System.out.println(" 请输入学生学号: ");
System.out.println("***************************************");
System.out.println("请输入八位学号");
String str=stud.nextLine();
for(int i=0;i<5;i++)
if(str.equals(ss[i].getstunumber()))
System.out.println("***************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 学生考试成绩录入 ");
System.out.println("***************************************");
System.out.println(" 学生学号:"+ss[i].getstunumber());
System.out.println(" 学生姓名:"+ss[i].getname());
System.out.println(" 1、高等数学成绩绩点:"+judge(ss[i].getmathematicsscore()));
System.out.println(" 2、大学英语成绩绩点:"+judge(ss[i].getenglishiscore()));
System.out.println(" 3、计算机网络成绩绩点:"+judge(ss[i].getnetworkscore()));
System.out.println(" 4、数据库成绩绩点:"+judge(ss[i].getdatabasescore()));
System.out.println(" 5、软件工程成绩绩点:"+judge(ss[i].getsoftwarescore()));
double average;
average=(judge(ss[i].getmathematicsscore())*4+judge(ss[i].getenglishiscore())*3+judge(ss[i].getnetworkscore())*4+judge(ss[i].getdatabasescore())*3+judge(ss[i].getsoftwarescore())*2)/16;
System.out.println(" 你的平均学分绩点为:"+String.format("%.2f", average));
if(average>=2)
System.out.println(" 你的学分绩点已达到毕业要求!");
else
System.out.println(" 你的学分绩点不满足毕业要求!");
System.out.println(" 是否返回系统主界面:(Y/N)");
System.out.println("***************************************");
Scanner st=new Scanner(System.in);
String s=st.nextLine();
if(s.equals("Y"))
ZhuCaiDan();
static void exit() //退出
System.out.println("***********************************************");
System.out.println(" 谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版 ");
System.out.println(" 制作人:信1805-1 20183694 边信哲");
System.out.println("***********************************************");
以上就是学生成绩管理系统的代码,下面附上运行截图。
下面让我来介绍一下写作思路:
首先需要一个ScoreInforntion类来存储学生的信息;然后使用一个数组来存储5个ScoreInfornation类的对象。考虑一下 大概需要七个函数:主函数 主菜单函数,录入函数,修改函数,计算函数,退出函数和对应函数。
主菜单函数:绘制界面 ,使用switch函数控制函数选择,优于for循环,但是 我感觉使用do while循环也可以,先刷界面再循环,但是不知道哪里错误,不好控制功能。o(´^`)o 主菜单函数中包括除了对应函数的其他四种函数的调用。同时要考虑到输入学号错误这种情况。
录入函数:首先要考虑两种情况:是否输入对了学号,因为只有两种情况,所以使用布尔型控制比较方便。使用get函数来设置学生信息。
修改函数:同上也需要考虑是否输入正确的学号。同样使用布尔型比较简单。使用get函数来设置信息。
对应函数:使学生得分与绩点一一对应的函数。
计算函数:计算学生的绩点 并根据条件判断学生是否合格 需要调用对应函数。
退出函数:绘制对应的操作界面即可。
以上是关于学生成绩管理系统的主要内容,如果未能解决你的问题,请参考以下文章