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实现简单的学生成绩管理系统的更多相关文章

  1. Java课程设计报告——学生成绩管理系统

    一.需求分析 1.数据存储在数据库和文件中 2.分为"教师"模块和"学生"模块. 3.学生模块提供登陆功能,登陆成功后可查询数学.Java.体育成绩 (学生学号 ...

  2. java简单学生成绩管理系统

    题目要求: 一. 数据结构要求:(5 分) 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishi ...

  3. 使用Java模拟一个简单的Dos学生成绩管理系统:

    使用Java模拟学生成绩管理系统... ------------------- 学生成绩管理系统:需要实现的功能:1.录入学生的姓名和成绩2.显示列表.列表中包括学生姓名与成绩3.显示最高分.最低分的 ...

  4. Java项目:学生成绩管理系统(二)

    学生成绩管理系统(二):项目介绍 一.设计要求: 1.1 简单的图形界面登录功能. 1.2 对数据库的的信息的查询功能. 1.3 对数据库的的信息的修改功能. 1.4 对数据库的的信息的删除功能. 1 ...

  5. Java课程设计—学生成绩管理系统(201521123005 杨雪莹)

    一.团队课程设计博客链接 学生成绩管理系统 二.个人负责模块或任务说明 学生成绩录入 显示所有学生信息 显示各科平均成绩 显示学生成绩(按降序排序) 三.自己的代码提交记录截图 四.自己负责模块或任务 ...

  6. Java开学测试-学生成绩管理系统

    题目: 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishiscore,networkscore ...

  7. java学生成绩管理系统

                                                       信1805-1 20183590 田庆辉             石家庄铁道大学 2019 年秋季 ...

  8. Java项目:学生成绩管理系统(一)

    学生成绩管理系统(一) 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管理某一学生或课程的信息以及成绩,包括增.删.查.报表打印等:学生 ...

  9. 学生成绩管理系统 1.0(Java+MySql)

    真难…… 数据库建立不会,中文编码不会,插入数据不会,删除不会…… Java读入数据不会……数据库连接不会…… 你也好意思说自己是学计算机的啊魂淡…… 我会慢慢写2.0,3.0版的……噗…… src/ ...

随机推荐

  1. Oracle安装 卸载 和常见问题

    Oracle的安装   全局数据库名:orcl  口令:orcl 或者以第三方工具SQLplus为例 系统用户:sys 和 system  练习账户:scott (密码:tiger) 登录账户为:sy ...

  2. SharpDX初学者教程第4部分:绘制三角形

    原文 http://www.johanfalk.eu/blog/sharpdx-beginners-tutorial-part-4-drawing-a-triangle 现在我们有了一个Direct3 ...

  3. Flask学习之十 全文搜索

    英文博客地址:blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-x-full-text-search 中文翻译地址:http://ww ...

  4. BKDRhash

     哈希: 字符串(数字同理): 例如有100000个字符串,现在要插入一些字符串,插入前比较是否已经存在避免含有重复数据 用暴力计较的话会比较慢,在某字符串插入时,最好的情况是在第一个位置就遇见该字符 ...

  5. 异常处理之多重catch

    package com.sxt.exception.test1; import java.util.InputMismatchException; import java.util.Scanner; ...

  6. oracle函数 LTRIM(c1,[,c2])

    [功能]删除左边出现的字符串 [参数]C1 字符串 c2 追加字符串,默认为空格 [返回]字符型 [示例] SQL> select LTRIM('   gao qian jing',' ') t ...

  7. Python基础:25文件

    一:文件对象 文件对象不仅可以用来访问普通的磁盘文件, 而且也可以访问任何其它类型抽象层面上的"文件". 一旦设置了合适的"钩子", 你就可以访问具有文件类型接 ...

  8. HZOJ big

    考试的时候理解错题了(无语)…… 那个看似很长的式子的意义其实是逻辑左移动,就是最高位会出现在最低位的意思(这谁能看出来……).此时x取值经过那个式子后仍然可以遍历[0,2^n), O(m)枚举断点, ...

  9. 模板—插头dp(Ural 1519 Formula 1)

    括号表示法: 据说比下一个要快而且灵活. #include<iostream> #include<cstring> #include<cstdio> #define ...

  10. 「BZOJ3694」「FJ2014集训」最短路

    「BZOJ3694」「FJ2014集训」最短路 首先树剖没得说了,这里说一下并查集的做法, 对于一条非树边,它会影响的点就只有u(i),v(i)到lca,对于lca-v的路径上所有点x,都可通过1-t ...