管理学生信息java编程

数据结构要求:(5 分)
1、定义 ScoreInformation 类,其中包括七个私有变量(stunumber,
name, mathematicsscore, englishiscore,networkscore, databasescore,
softwarescore)。
各成员的含义如下:
变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数
字组成)。
变量 name 为字符串类型 String,用于存储学生的姓名。
变量 mathematicsscore 为 double 类型,用于存储学生的高等数学成绩,
高等数学的学分为 4 分。
变量 englishiscore 为 double 类型,用于存储学生的大学英语成绩,大学
英语的学分为 3 分。
变量 networkscore 为 double 类型,用于存储学生的计算机网络成绩,计
算机网络的学分为 4 分。
第 2 页 共 8 页
变量 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、退出学籍管理系统
**********************************************************

第 3 页 共 8 页
②功能说明
输入数字 1-4 执行相应的功能,输入其他数字提示错误信息(该选项
不存在),并返回主界面。(0.5 分)
2、成绩录入功能操作流程:(3 分)
①在主界面选择成绩录入功能后,进入成绩录入界面,如下图所示: (0.5
分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
提示用户输入八位的学号。
②用户输入学号后,显示用户学号和姓名,如果用户学号不存在或信息错
误提示错误信息(该学号不存在),并返回成绩录入界面。(0.5 分)
③用户输入学号正确如下图所示:
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入界面
***********************************************************
学生学号:20183557
学生姓名:xxx
请输入高等数学成绩:XXX
**********************************************************
提示用户输入高等数学成绩,用户输入正确的数字;则提示用户输入大学
英语成绩,依次类推,提示用户录入计算机网络、数据库、软件工程成绩,当
第 4 页 共 8 页
用户录完所有成绩后,显示如下界面。(1.5 分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20183557
学生姓名:xxx
高等数学成绩:XXX
大学英语成绩:XXX
计算机网络成绩:XXX
数据库成绩:XXX
软件工程成绩:XXX
该学生成绩已录入完毕,是否提交(Y/N)
**********************************************************
选择“Y”将录入成绩保存到相应的数组中,并返回主界面。选择“N”,
则忽略上述成绩录入,并返回成绩录入界面。(0.5 分)
3、成绩修改功能操作流程:(2 分)
①在主界面选择成绩修改功能后,进入考试成绩修改界面,如下图所示:

***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩修改界面
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
提示用户输入八位的学号。(0.5 分)

第 5 页 共 8 页
②用户输入学号后,显示用户学号、姓名和全部成绩信息,如下图所示。

***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20183557
学生姓名:xxxc
1、高等数学成绩:XXX
2、大学英语成绩:XXX
3、计算机网络成绩:XXX
4、数据库成绩:XXX
5、软件工程成绩:XXX
**********************************************************
如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回
成绩修改界面。(0.5 分)
③用户选择相应的数字键,切换到如下界面(假如选择数字“5”)。(0.5
分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入界面
***********************************************************
学生学号:20183557
学生姓名:xxx
请输入修改后软件工程成绩:XXX
**********************************************************
录入修改后的成绩,则进入下一步。
第 6 页 共 8 页
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩录入
***********************************************************
学生学号:20183557
学生姓名:杨雄豪
1、高等数学成绩:XXX
2、大学英语成绩:XXX
3、计算机网络成绩:XXX
4、数据库成绩:XXX
5、软件工程成绩:XXX
该学生成绩已修改完毕,是否提交(Y/N)
**********************************************************

选择“Y”将修改后成绩保存到相应的数组中,并返回主界面。选择“N”,
则忽略上述成绩录入,并返回成绩修改界面。(0.5 分)

3、计算学生成绩绩点功能操作流程:(2 分)
①在主界面选择计算学生成绩绩点功能后,进入计算学生成绩绩点界面,
如下图所示:
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩绩点计算界面
***********************************************************
请输入学生学号:XXXXXXXX
**********************************************************
第 7 页 共 8 页
提示用户输入八位的学号。
②用户输入学号后,显示用户学号、姓名、学分绩点、提示信息。如下图
所示。(1.5 分)
***********************************************************
石家庄铁道大学软件工程系学生学籍管理系统 2019 版
学生考试成绩绩点计算界面
***********************************************************
学生学号:20183557
学生姓名:xxx
1、高等数学成绩绩点:XXX
2、大学英语成绩绩点:XXX
3、计算机网络成绩绩点:XXX
4、数据库成绩绩点:XXX
5、软件工程成绩绩点:XXX
你的平均学分绩点为:XXX
提示信息:XXX XXX XXX XXX XXX XXX XXX
是否返回系统主界面:(Y/N)
**********************************************************
如果学分绩点大于等于 2,提示信息显示“你的学分绩点已达到毕业要
求!”;
如果学分绩点小于 2,提示信息显示“你的学分绩点不满足毕业要求!”   

源代码


import java.util.Scanner;
public class ScoreManagement{
public static void main(String [] args){
int i,m,p,pp=0,b,r;
double sum=0.0,sem=0.0,sem1=0.0,sem2=0.0,sem3=0.0,sem4=0.0,sum1=0.0;
double yy1=0.0,yy2=0.0,yy3=0.0,yy4=0.0,yy5=0.0;
Scanner input = new Scanner(System.in);
ScoreInformation stu[]=new ScoreInformation [5];
for(int j=0;j<5;j++)
{
stu[j]=new ScoreInformation();
}
stu[0].seta("20183592");
stu[0].setb("孔梵冰");
stu[0].seta("20173592");
stu[0].setb("梵冰");
stu[0].seta("20163592");
stu[0].setb("孔梵");
stu[0].seta("20153592");
stu[0].setb("孔冰");
stu[0].seta("20143592");
stu[0].setb("冰");
A:while(true)
{
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("*********** *************************");
System.out.println("请输入一个数");
int q = input.nextInt();

if(q==1){
System.out.println("************************************");
System.out.println(" 石家庄铁道大学软件工程系 ");
System.out.println(" 学生学籍管理系统2019版 ");
System.out.println("*************************************");
System.out.println(" 1、 学生考试成绩录入 ");
System.out.println("**********************************************");
System.out.println(" 请输出学生学号:");
System.out.println(" *************************************");
String x = input.next();
for(int I=0;I<5;I++){
if(x.equals(stu[I].geta())){
System.out.println("************************************");
System.out.println(" 石家庄铁道大学软件工程系 ");
System.out.println(" 学生学籍管理系统2019版 ");
System.out.println("*************************************");
System.out.println("学生学号"+stu[I].geta());
System.out.println("学生姓名"+stu[I].getb());
System.out.println(" 请输入高数成绩: ");
double gao =input.nextDouble();
stu[I].setc(gao);

System.out.println(" 请输入英语成绩: ");
double ying =input.nextDouble();
stu[I].setd(ying);
System.out.println(" 请输入计算机网络成绩: ");
double jisuan =input.nextDouble();
stu[I].sete(jisuan);
System.out.println(" 请输入数据库成绩: ");
double shuju =input.nextDouble();
stu[I].setf(shuju);
System.out.println(" 请输入软件工程成绩: ");
double rjian =input.nextDouble();
stu[I].setg(rjian);
System.out.println("************************************");
System.out.println(" 石家庄铁道大学软件工程系 ");
System.out.println(" 学生学籍管理系统2019版 ");
System.out.println("*************************************");
System.out.println(" 学生学号 "+stu[I].geta());
System.out.println(" 学生姓名:"+stu[I].getb());
System.out.println(" 数学成绩:"+stu[I].getc() );
System.out.println(" 英语成绩: "+stu[I].getd() );
System.out.println("计算机网络成绩: " +stu[I].gete());
System.out.println(" 数据库成绩: "+stu[I].getf());
System.out.println(" 软件工程成绩 "+stu[I].getg() );
System.out.println("该学生成绩有修改完毕,是否提交(Y/N)");
String ti1=input.next();

if(ti1.equals("Y")){
} else{
stu[I].setc(0.0);
stu[I].setd(0.0);
stu[I].sete(0.0);
stu[I].setf(0.0);
stu[I].setg(0.0);}}


else{
System.out.println("没有相应信息");
}
}



}
if(q==2){
System.out.println("************************************");
System.out.println(" 石家庄铁道大学软件工程系 ");
System.out.println(" 学生学籍管理系统2019版 ");
System.out.println("*************************************");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println(" 请输入学生学号: ");
String xiu = input.nextLine();
for(p=0;p<5;p++){
if(xiu.equals(stu[p].geta())){
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println(" 1.数学成绩:"+stu[p].getc() );
System.out.println(" 2.英语成绩: "+stu[p].getd() );
System.out.println("3.计算机网络成绩: " +stu[p].gete());
System.out.println(" 4.数据库成绩: "+stu[p].getf());
System.out.println(" 5.软件工程成绩 "+stu[p].getg() );
System.out.println("选择修改那个成绩");
int u =input.nextInt();
if(u==1){
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println("请输入修改后的高数成绩");
double gao1 =input.nextDouble();
yy1=stu[p].getc();
stu[p].setc(gao1);
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println(" 1.数学成绩:"+stu[p].getc() );
System.out.println(" 2.英语成绩: "+stu[p].getd() );
System.out.println("3.计算机网络成绩: " +stu[p].gete());
System.out.println(" 4.数据库成绩: "+stu[p].getf());
System.out.println(" 5.软件工程成绩 "+stu[p].getg() );
System.out.println("该学生成绩有修改完毕,是否提交(Y/N)");
String ti2=input.next();
if(ti2.equals("Y")){

} else{
stu[p].setc(yy1);
}

}
if(u==2){
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println("请输入修改后的英语成绩");
double ying1 =input.nextDouble();
yy2=stu[p].getd();
stu[p].setd(ying1);
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println(" 1.数学成绩:"+stu[p].getc() );
System.out.println(" 2.英语成绩: "+stu[p].getd() );
System.out.println("3.计算机网络成绩: " +stu[p].gete());
System.out.println(" 4.数据库成绩: "+stu[p].getf());
System.out.println(" 5.软件工程成绩 "+stu[p].getg() );
System.out.println("该学生成绩有修改完毕,是否提交(Y/N)");
String ti3=input.next();
if(ti3.equals("Y")){

} else{
stu[p].setc(yy2);
}

}

if(u==3){
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println("请输入修改后的计算机成绩");
double ji =input.nextDouble();
yy3=stu[p].gete();
stu[p].sete(ji);
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println(" 1.数学成绩:"+stu[p].getc() );
System.out.println(" 2.英语成绩: "+stu[p].getd() );
System.out.println("3.计算机网络成绩: " +stu[p].gete());
System.out.println(" 4.数据库成绩: "+stu[p].getf());
System.out.println(" 5.软件工程成绩 "+stu[p].getg() );
System.out.println("该学生成绩有修改完毕,是否提交(Y/N)");
String ti4=input.next();
if(ti4.equals("Y")){

} else{
stu[p].setc(yy3);
}

}
if(u==4){
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println("请输入修改后的数据库成绩");
double shu1 =input.nextDouble();
yy4=stu[p].getf();
stu[p].setf(shu1);
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println(" 1.数学成绩:"+stu[p].getc() );
System.out.println(" 2.英语成绩: "+stu[p].getd() );
System.out.println("3.计算机网络成绩: " +stu[p].gete());
System.out.println(" 4.数据库成绩: "+stu[p].getf());
System.out.println(" 5.软件工程成绩 "+stu[p].getg() );
System.out.println("该学生成绩有修改完毕,是否提交(Y/N)");
String ti5=input.next();
if(ti5.equals("Y")){

} else{
stu[p].setc(yy4);
}

}
if(u==5){
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println("请输入修改后的软件成绩");
double r1 =input.nextDouble();
yy5=stu[p].getg();
stu[p].setg(r1);
System.out.println(" 学生学号 "+stu[p].geta());
System.out.println(" 学生姓名:"+stu[p].getb());
System.out.println(" 1.数学成绩:"+stu[p].getc() );
System.out.println(" 2.英语成绩: "+stu[p].getd() );
System.out.println("3.计算机网络成绩: " +stu[p].gete());
System.out.println(" 4.数据库成绩: "+stu[p].getf());
System.out.println(" 5.软件工程成绩 "+stu[p].getg() );
System.out.println("该学生成绩有修改完毕,是否提交(Y/N)");
String ti6=input.next();
if(ti6.equals("Y")){

} else{
stu[p].setc(yy5);
}

}

}
else{
System.out.println("错误");
}
}

}
if(q==3){
System.out.println("************************************");
System.out.println(" 石家庄铁道大学软件工程系 ");
System.out.println(" 学生学籍管理系统2019版 ");
System.out.println("*************************************");
System.out.println(" 3、 计算学生成绩绩点 ");
System.out.println("输入学号");
String t =input.next();
ScoreInformation si=new ScoreInformation();
for( r=0;r<5;r++){
if(t.equals(stu[r].geta())){
sum1=stu[r].getc()+stu[r].getd()+stu[r].gete()+stu[r].getf()+stu[r].getg();
sem=stu[r].getc()*si.jidian(stu[r].getc());
sem1=stu[r].getd()*si.jidian(stu[r].getd());
sem2=stu[r].gete()*si.jidian(stu[r].gete());
sem3=stu[r].getf()*si.jidian(stu[r].getf());
sem4=stu[r].getg()*si.jidian(stu[r].getg());
sum=(sem+sem1+sem2+sem3+sem4)/sum;
if(sem>=2){
System.out.println("学分合格");
}
else{
System.out.println("学分不合格");
}
}
}


}
if(q==4){
System.out.println("*********************************************");
System.out.println("谢谢使用石家庄铁道大学软件工程系学生学籍管理系统2019版");
System.out.println(" 制作人;孔梵冰 ");
System.out.println("**********************************************");break;
}
}
}


}

public class ScoreInformation {

private
String stunumber;
String name;
double mathematicsscore;
double englishiscore;
double networkscor;
double databasescore;
double softwarescor;
public String geta(){
return stunumber;
}
public String getb(){
return name;
}
public double getc(){
return mathematicsscore;
}
public double getd(){
return englishiscore;
}
public double gete(){
return networkscor;
}
public double getf(){
return databasescore;
}
public double getg(){
return softwarescor;
}
public void seta(String stunumber){
this.stunumber=stunumber;
}
public void setb(String name){
this.name=name;
}
public void setc(double mathematicsscore){
this.mathematicsscore=mathematicsscore;
}
public void setd(double englishiscore){
this.englishiscore=englishiscore;
}
public void sete(double networkscor){
this.networkscor=networkscor;
}
public void setf(double databasescore){
this.databasescore=databasescore;}
public void setg(double softwarescor){
this.softwarescor=softwarescor;
}

public static double jidian(double s){
double cc;
if(s>90.0){
cc=4.0;
return cc;
}
if(s>85.0&&s<89.9){
cc=3.7;return cc;
}
if(s>82.0&&s<84.9){
cc=3.3;return cc;
}
if(s>78.0&&s<81.9){
cc=3.0;return cc;
}
if(s>75.0&&s<77.9){
cc=2.7;return cc;
}
if(s>72.0&&s<77.9){
cc=2.3;return cc;
}
if(s>68.0&&s<71.9){
cc=2.0;return cc;
}
if(s>66.0&&s<71.9){
cc=1.7;return cc;
}
if(s>64.0&&s<67.9){
cc=1.5;;return cc;
}
if(s>60.0&&s<65.9){
cc=1.0;;return cc;
}
else{
cc=0.0;return cc;
}
}
}

思路  1,.录入问题 通过首先创建五个类数组  将学号姓名设置值  在录入中挨个录入  如果不录入 数据变成0

     2.修改  如果修改   先将原来数据保留  将原来数据在录入

3 绩点首先 在类里定义函数  在主函数调用计算 

猜你喜欢

转载自www.cnblogs.com/kongfanbing/p/11515197.html
今日推荐