标签:根据 setname 学生 gets public 软件工程 ber 主函数 soft
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;
}
}
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("***********************************************");
}
}
以上就是学生成绩管理系统的代码,下面附上运行截图。
下面让我来介绍一下写作思路:
首先需要一个ScoreInforntion类来存储学生的信息;然后使用一个数组来存储5个ScoreInfornation类的对象。考虑一下 大概需要七个函数:主函数 主菜单函数,录入函数,修改函数,计算函数,退出函数和对应函数。
主菜单函数:绘制界面 ,使用switch函数控制函数选择,优于for循环,但是 我感觉使用do while循环也可以,先刷界面再循环,但是不知道哪里错误,不好控制功能。o(´^`)o 主菜单函数中包括除了对应函数的其他四种函数的调用。同时要考虑到输入学号错误这种情况。
录入函数:首先要考虑两种情况:是否输入对了学号,因为只有两种情况,所以使用布尔型控制比较方便。使用get函数来设置学生信息。
修改函数:同上也需要考虑是否输入正确的学号。同样使用布尔型比较简单。使用get函数来设置信息。
对应函数:使学生得分与绩点一一对应的函数。
计算函数:计算学生的绩点 并根据条件判断学生是否合格 需要调用对应函数。
退出函数:绘制对应的操作界面即可。
学生成绩管理系统
标签:根据 setname 学生 gets public 软件工程 ber 主函数 soft
原文地址:https://www.cnblogs.com/wind-and-sky/p/11514998.html