Java实现简单的学生成绩管理系统
ScoreInformation.java
import java.util.Scanner;
class ScoreInformation {
private String stunumber; //八位学号
private String name;
private double mathematicsscore;
private double englishscore;
private double networkscore;
private double databasescore;
private double softwarescore;
//构造函数
ScoreInformation(String stunumber,String name,double mathematicssore,double englishscore,double networkscore,double databasescore,double softwarescore) {
this.stunumber=stunumber;
this.name=name;
this.mathematicsscore=mathematicssore;
this.englishscore=englishscore;
this.networkscore=networkscore;
this.databasescore=databasescore;
this.softwarescore=softwarescore;
};
ScoreInformation(){};
//读取和设置变量信息
public void setstunumber(String stunumber)
{
this.stunumber=stunumber;
}
public String getstunumber()
{
return stunumber;
}
public void setname(String name)
{
this.name=name;
}
public String getname()
{
return name;
}
public void setmathematicsscore(double math)
{
this.mathematicsscore=math;
}
public double getmathematicsscore()
{
return mathematicsscore;
}
public void setenglishscore(double english)
{
this.englishscore=english;
}
public double getenglishscore()
{
return englishscore;
}
public void setnetworkscore(double network)
{
this.networkscore=network;
}
public double getnetworkscore()
{
return networkscore;
}
public void setdatabasescore(double database)
{
this.databasescore=database;
}
public double getdatebasescore()
{
return databasescore;
}
public void setsoftwarescore(double software)
{
this.softwarescore=software;
}
public double getsoftwarescore()
{
return softwarescore;
}
}
ScoreManagement.java
import java.text.DecimalFormat;
import java.util.Scanner;
public class ScoreManagement {
int t;
public static void main(String[] args)
{
ScoreManagement a=new ScoreManagement();
ScoreInformation s[]=new ScoreInformation[5];
//存储五个学生信息
s[0]=new ScoreInformation("20183725","杨文青",0,0,0,0,0);
s[1]=new ScoreInformation("20184725","乔一",70,70,70,70,70);
s[2]=new ScoreInformation("20173695","沈潇",60,70,80,60,80);
s[3]=new ScoreInformation("20183728","王一墨",70,70,70,70,70);
s[4]=new ScoreInformation("20183721","肖奈",60,60,60,60,60);
a.menu(s);
}
//主界面
public void menu(ScoreInformation []s)
{
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("***************************************");
//输入选项
int a;
Scanner in=new Scanner(System.in);
a=in.nextInt();
while(a<0||a>4)
{
System.out.print("输入无效,请重新输入:");
a=in.nextInt();
}
switch(a) {
case 1:add(s);break;
case 2:modif(s);break;
case 3:showjidian(s);
case 4:exit();break;
default:break;
}
}
//退出界面
public void exit()
{
System.out.println("**************************************************");
System.out.println("谢谢使用石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println(" 制作人:杨文青 ");
System.out.println("**************************************************");
System.exit(0);
}
//成绩录入,形参为数组
public void add(ScoreInformation [] s)
{
System.out.println("**************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println("**************************************************");
System.out.println(" 请输入学生学号(8位): ");
Scanner in=new Scanner(System.in);
int a;
a=in.nextInt();
for(int i=0;i<s.length;i++)
if(a==Integer.parseInt(s[i].getstunumber()))
{
this.luru(s);
//录入完成后显示学生成绩信息
System.out.println("**************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println(" 学生考试成绩录入界面 ");
System.out.println("**************************************************");
System.out.println(" 学生学号:"+s[i].getstunumber());
System.out.println(" 学生姓名:"+s[i].getname());
System.out.println(" 高等数学成绩"+s[i].getmathematicsscore());
System.out.println(" 大学英语成绩"+s[i].getenglishscore());
System.out.println(" 计算机网络成绩"+s[i].getnetworkscore());
System.out.println(" 数据库成绩"+s[i].getdatebasescore());
System.out.println(" 软件工程成绩"+s[i].getsoftwarescore());
System.out.println("该学生成绩已录入完毕,是否提交(Y/N)");
System.out.println("**************************************************");
Scanner In=new Scanner(System.in);
String str;
char ch;
str=In.next();
ch=str.charAt(0);
while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
{
System.out.println("输入有误,请重新输入:");
str=In.next();
ch=str.charAt(0);
}
if(ch=='Y'||ch=='y')
{
this.menu(s);
}
if(ch=='N'||ch=='n')
{
this.luru(s);
}
}
}
//成绩成绩录入界面
public void luru(ScoreInformation []s)
{
System.out.println("**************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println(" 学生考试成绩录入界面 ");
System.out.println("**************************************************");
System.out.println(" 学生学号:"+s[t].getstunumber()); //t是全局变量
System.out.println(" 学生姓名:"+s[t].getname());
System.out.println(" 请输入高等数学成绩: ");
Scanner score=new Scanner(System.in);
s[t].setmathematicsscore(score.nextDouble());
System.out.println(" 请输入大学英语成绩: ");
s[t].setenglishscore(score.nextDouble());
System.out.println(" 请输入计算机网络成绩: ");
s[t].setnetworkscore(score.nextDouble());
System.out.println(" 请输入数据库成绩: ");
s[t].setdatabasescore(score.nextDouble());
System.out.println(" 请输入软件工程成绩: ");
s[t].setsoftwarescore(score.nextDouble());
System.out.println("**************************************************");
}
public void modif(ScoreInformation []s)
{
System.out.println("**************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println(" 学生考试成绩修改界面 ");
System.out.println("**************************************************");
System.out.println(" 请输入学生学号(8位): ");
Scanner in=new Scanner(System.in);
int a;
a=in.nextInt();
for(int i=0;i<s.length;i++)
if(a==Integer.parseInt(s[i].getstunumber()))
{
t=i; //标记该学生
System.out.println("**************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println(" 学生考试成绩录入界面 ");
System.out.println("**************************************************");
System.out.println(" 学生学号:"+s[i].getstunumber());
System.out.println(" 学生姓名:"+s[i].getname());
System.out.println(" 1. 高等数学成绩"+s[i].getmathematicsscore());
System.out.println(" 2. 大学英语成绩"+s[i].getenglishscore());
System.out.println(" 3. 计算机网络成绩"+s[i].getnetworkscore());
System.out.println(" 4. 数据库成绩"+s[i].getdatebasescore());
System.out.println(" 5.软件工程成绩"+s[i].getsoftwarescore());
System.out.println("**************************************************");
}
int m; //输入选项
Scanner k=new Scanner(System.in);
m=k.nextInt();
System.out.println("**************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println(" 学生考试成绩录入界面 ");
System.out.println("**************************************************");
System.out.println(" 学生学号:"+s[t].getstunumber());
System.out.println(" 学生姓名:"+s[t].getname());
Scanner chengji=new Scanner(System.in); //录入所要修改的成绩
if(m==1)
{ System.out.println(" 请输入修改后高等数学成绩");
s[t].setmathematicsscore(chengji.nextDouble());
}
if(m==2)
{ System.out.println(" 请输入修改后大学英语成绩");
s[t].setenglishscore(chengji.nextDouble());
}
if(m==3)
{ System.out.println(" 请输入修改后计算机网络成绩");
s[t].setnetworkscore(chengji.nextDouble());
}
if(m==4)
{ System.out.println(" 请输入修改后数据库成绩");
s[t].setdatabasescore(chengji.nextDouble());}
if(m==5)
{ System.out.println(" 请输入修改后软件工程成绩");
s[t].setsoftwarescore(chengji.nextDouble());
}
System.out.println("**************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println(" 学生考试成绩录入界面 ");
System.out.println("**************************************************");
System.out.println(" 学生学号:"+s[t].getstunumber());
System.out.println(" 学生姓名:"+s[t].getname());
System.out.println(" 高等数学成绩"+s[t].getmathematicsscore());
System.out.println(" 大学英语成绩"+s[t].getenglishscore());
System.out.println(" 计算机网络成绩"+s[t].getnetworkscore());
System.out.println(" 数据库成绩"+s[t].getdatebasescore());
System.out.println(" 软件工程成绩"+s[t].getsoftwarescore());
System.out.println("该学生成绩已录入完毕,是否提交(Y/N)");
System.out.println("**************************************************");
Scanner In=new Scanner(System.in);
String str;
char ch;
str=In.next();
ch=str.charAt(0);
while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
{
System.out.println("输入有误,请重新输入:");
str=In.next();
ch=str.charAt(0);
}
if(ch=='Y'||ch=='y')
{
this.menu(s);
}
if(ch=='N'||ch=='n')
{
this.modif(s);
}
}
public double jidian(double n) //分数
{
//获得不同成绩段对应的绩点
if(n>90) return 4.0;
else if(n>=85) return 3.7;
else if(n >=82) return 3.3;
else if(n >=78) return 3.0;
else if(n>=75) return 2.7;
else if(n>=72) return 2.3;
else if(n>=68) return 2.0;
else if(n>=66) return 1.7;
else if(n>=64) return 1.5;
else if(n>=60) return 1.0;
else return 0.;
}
public void showjidian(ScoreInformation []s)
{
System.out.println("**************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println(" 学生考试成绩绩点计算界面 ");
System.out.println("**************************************************");
System.out.println(" 请输入学生学号:");
Scanner in=new Scanner(System.in);
int b;
b=in.nextInt();
//计算各学科绩点
for(int i=0;i<5;i++)
{if(b==Integer.parseInt(s[i].getstunumber()))
{
System.out.println("**************************************************");
System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019级版");
System.out.println(" 学生考试成绩绩点计算界面 ");
System.out.println("**************************************************");
System.out.println(" 学生学号:"+s[i].getstunumber());
System.out.println(" 学生姓名:"+s[i].getname());
System.out.println(" 高等数学成绩绩点:"+jidian(s[i].getmathematicsscore()));
System.out.println(" 大学英语成绩绩点:"+jidian(s[i].getenglishscore()));
System.out.println(" 计算机网络成绩绩点:"+jidian(s[i].getnetworkscore()));
System.out.println(" 数据库成绩绩点:"+jidian(s[i].getdatebasescore()));
System.out.println(" 软件工程成绩绩点:"+jidian(s[i].getsoftwarescore()));
//假设课程学分为1
double avr=(jidian(s[i].getmathematicsscore())+jidian(s[i].getenglishscore())+jidian(s[i].getnetworkscore())+jidian(s[i].getdatebasescore())+jidian(s[i].getsoftwarescore()))/5;
System.out.println(" 你的平均学分绩点为:"+new DecimalFormat("#.00").format(avr)); //小数点后保留两位
if(avr>=2) System.out.println("提示信息:你的学分绩点已达到毕业要求!");
else System.out.println("提示信息:你的学分绩点不满足毕业要求!");
}
}
System.out.println("是否返回系统主界面(Y/N)");
Scanner In=new Scanner(System.in);
String str;
char ch;
str=In.next();
ch=str.charAt(0);
while(ch!='Y'&&ch!='y'&&ch!='N'&&ch!='n')
{
System.out.println("输入有误,请重新输入:");
str=In.next();
ch=str.charAt(0);
}
if(ch=='Y'||ch=='y')
{
this.menu(s);
}
if(ch=='N'||ch=='n')
{
}
}
}
实现的功能如下:




Java实现简单的学生成绩管理系统的更多相关文章
- Java课程设计报告——学生成绩管理系统
一.需求分析 1.数据存储在数据库和文件中 2.分为"教师"模块和"学生"模块. 3.学生模块提供登陆功能,登陆成功后可查询数学.Java.体育成绩 (学生学号 ...
- java简单学生成绩管理系统
题目要求: 一. 数据结构要求:(5 分) 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishi ...
- 使用Java模拟一个简单的Dos学生成绩管理系统:
使用Java模拟学生成绩管理系统... ------------------- 学生成绩管理系统:需要实现的功能:1.录入学生的姓名和成绩2.显示列表.列表中包括学生姓名与成绩3.显示最高分.最低分的 ...
- Java项目:学生成绩管理系统(二)
学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ...
- Java课程设计—学生成绩管理系统(201521123005 杨雪莹)
一.团队课程设计博客链接 学生成绩管理系统 二.个人负责模块或任务说明 学生成绩录入 显示所有学生信息 显示各科平均成绩 显示学生成绩(按降序排序) 三.自己的代码提交记录截图 四.自己负责模块或任务 ...
- Java开学测试-学生成绩管理系统
题目: 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishiscore,networkscore ...
- java学生成绩管理系统
信1805-1 20183590 田庆辉 石家庄铁道大学 2019 年秋季 ...
- Java项目:学生成绩管理系统(一)
学生成绩管理系统(一) 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管理某一学生或课程的信息以及成绩,包括增.删.查.报表打印等:学生 ...
- 学生成绩管理系统 1.0(Java+MySql)
真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/ ...
随机推荐
- linux之架构图和八台服务器
(1) (2)
- uml图的五种关系 标签: uml 2016-12-18 21:47 221人阅读 评论(25) 收藏
统一建模语言 Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所 ...
- 巨蟒python全栈开发-第11阶段 ansible_project6
今日大纲: 1.计划任务前端页面 2.计划任务新增实现 3.计划任务编辑 4.项目详情 5.文件上传 6.replace模块介绍 1.计划任务前端页面 2.计划任务新增实现 3.计划任务编辑 4.项目 ...
- @atcoder - AGC034D@ Manhattan Max Matching
目录 @description@ @solution@ @accepted code@ @details@ @description@ 考虑一个二维平面,执行共 2*N 次操作: 前 N 次,第 i ...
- 设计模式 - 工厂模式(factory pattern) 具体解释
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u012515223/article/details/27081511 工厂模式(factory pa ...
- oracle函数 least(exp1,exp2,exp3,……,expn)
[功能]返回表达式列表中值最小的一个.如果表达式类型不同,会隐含转换为第一个表达式类型. [参数]exp1……n,各类型表达式 [返回]exp1类型 [示例] SELECT least(10,32,' ...
- oracle函数 DUMP(w[,x[,y[,z]]])
[功能]返回数据类型.字节长度和在内部的存储位置. [参数] w为各种类型的字符串(如字符型.数值型.日期型……) x为返回位置用什么方式表达,可为:8,10,16或17,分别表示:8/10/16进制 ...
- IntelliJ IDEA和Eclipse设置JVM运行参数
打开 IDEA 安装目录,看到有一个 bin 目录,其中有两个 vmoptions 文件,需针对不同的JDK进行配置: 32 位:idea.exe.vmoptions64 位:idea64.exe.v ...
- iptables 负裁平衡(Load balancing)
「负戴平衡」的作用是将连線平均分散给一组伺服器,以充分利用资源.最简单的作法是利用「通讯端口转接」技术,使其以循环顺序选择目的地位址. 设定iptables的组态 各家Linux系统的iptables ...
- vue-awesome-swiper轮播插件的使用方法及问题。
在使用vue-awesome-swiper的时候,遇到一些问题,记录一下! 1.npm 安装 npm install vue-awesome-swiper --save 2.使用 在mai ...