JAVA之學生信息管理系統


StudentManager系統

系統的數據:

變量 stunumber 為字符串類型 String,用於存儲學生的學號(有 8 位數字組成)

變量 name 為字符串類型 String,用於存儲學生的姓名。 

變量 mathematicsscore 為 double 類型,用於存儲學生的高等數學成績,高等數學的學分為 4 分。 

變量 englishiscore 為 double 類型,用於存儲學生的大學英語成績,大學英語的學分為 3 分。 

變量 networkscore 為 double 類型,用於存儲學生的計算機網絡成績,計算機網絡的學分為 4 分。 

變量 databasescore 為 double 類型,用於存儲學生的數據庫成績,數據庫的學分為 3 分。 

變量 softwarescore 為 double 類型,用於存儲學生的軟件工程成績,軟件工程的學分為 2 分。

功能要求:

1.實現成績的錄入

2.學生成績修改

3.計算學生成績績點

4.退出程序界面

思路:

首先,利用對象數組來存儲5個數據,只存學號和姓名,成績都默認為零

利用while循環來控制選擇的功能,選擇4就退出循環,否則繼續循環

根據所選的功能,利用case語句分開,分被執行功能

該程序會重復用到查找學號的方法,因此建立一個find()方法

該錄入功能會有一個難題,就是如何實現實時的更新

因此,建立了一個方法來專門實現它

public void display5(int p)
{
    System.out.println("*******************************");
    System.out.println("石家庄鐵道大學軟件工程系學生學籍管理系統 2019 版   ");
    System.out.println("         學生考試成績錄入界面                 ");
    System.out.println("*******************************");
    System.out.println("        學生學號:"+s[p].getStunumber());
    System.out.println("        學生姓名:"+s[p].getName());
    if(s[p].getMathematicsscore()!=0)
        System.out.println("        1.高等數學成績為:"+s[p].getMathematicsscore());
    if(s[p].getEnglishiscore()!=0)
        System.out.println("        2.大學英語成績為:"+s[p].getEnglishiscore());
    if(s[p].getNetworkscore()!=0)
        System.out.println("        3.計算機網絡成績為:"+s[p].getNetworkscore());
    if(s[p].getDatabasescore()!=0)
        System.out.println("        4.數據庫成績為:"+s[p].getDatabasescore());
    if(s[p].getSoftwarescore()!=0)
        System.out.println("        5.軟件工程成績為:"+s[p].getSoftwarescore());
}

這樣根據成績初始值為0,就可以實現更新輸出;

 

 

 

 

 

 這樣第一個功能就完成了,接下來進行修改的功能

修改的時候,有一個問題就是:如果不錄入修改的程序,那么之前的數據如何找回?

此時,我們就是需要找個變量去等於修改之前的數據,這樣就避免了修改后的數據不能再找回之前的數據的問題。

 

 第三步:就是計算學分績點

根據

 

 我們可以用if語句,來算出各科成績的績點,最終保留兩位小數可以用String.format("%.2f",v)

來判斷是否大於等於2,滿足畢業要求!!

下面就是全部的代碼:

package com.開學測試;
import java.util.Scanner;
/*  信1805-3班   */
/*  徐利峰       */
class ScoreInformation
{
    private String stunumber;
    private String name;
    private double mathematicsscore;
    private double englishiscore;
    private double networkscore;
    private double databasescore;
    private double softwarescore;
    public String getStunumber() {
        return stunumber;
    }
    public void setStunumber(String stunumber) {
        this.stunumber = stunumber;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getMathematicsscore() {
        return mathematicsscore;
    }
    public void setMathematicsscore(double mathematicsscore) {
        this.mathematicsscore = mathematicsscore;
    }
    public double getEnglishiscore() {
        return englishiscore;
    }
    public void setEnglishiscore(double englishiscore) {
        this.englishiscore = englishiscore;
    }
    public double getNetworkscore() {
        return networkscore;
    }
    public void setNetworkscore(double networkscore) {
        this.networkscore = networkscore;
    }
    public double getDatabasescore() {
        return databasescore;
    }
    public void setDatabasescore(double databasescore) {
        this.databasescore = databasescore;
    }
    public double getSoftwarescore() {
        return softwarescore;
    }
    public void setSoftwarescore(double softwarescore) {
        this.softwarescore = softwarescore;
    }
    
}

public class ScoreManagement {
    
    Scanner in=new Scanner(System.in);
public void display1()
{
    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("*******************************");
}
public int find(String t)
{
    int i=0,k=0;
    for(i=0;i<5;i++)
    {
        if(s[i].getStunumber().compareTo(t)==0)
        {
            k=1;
            break;
        }
    }
    if(k==0)
        return -1;
    else
        {
            return i;
        }
}
public void display2()
{
    System.out.println("*******************************");
    System.out.println("石家庄鐵道大學軟件工程系學生學籍管理系統 2019 版   ");
    System.out.println("         學生考試成績錄入                 ");
    System.out.println("*******************************");
}
public void display3()
{
    System.out.println("*******************************");
    System.out.println("謝謝使用石家庄鐵道大學軟件工程系學生學籍管理系統 2019 版  ");
    System.out.println("         制作人:徐利峰                 ");
    System.out.println("*******************************");
}
public void display4(int k)
{
        System.out.println("*******************************");
        System.out.println("石家庄鐵道大學軟件工程系學生學籍管理系統 2019 版   ");
        System.out.println("         學生考試成績錄入界面                 ");
        System.out.println("*******************************");
        System.out.println("         學生學號:"+s[k].getStunumber());
        System.out.println("         學生姓名:"+s[k].getName());
}
public void display5(int p)
{
    System.out.println("*******************************");
    System.out.println("石家庄鐵道大學軟件工程系學生學籍管理系統 2019 版   ");
    System.out.println("         學生考試成績錄入界面                 ");
    System.out.println("*******************************");
    System.out.println("        學生學號:"+s[p].getStunumber());
    System.out.println("        學生姓名:"+s[p].getName());
    if(s[p].getMathematicsscore()!=0)
        System.out.println("        1.高等數學成績為:"+s[p].getMathematicsscore());
    if(s[p].getEnglishiscore()!=0)
        System.out.println("        2.大學英語成績為:"+s[p].getEnglishiscore());
    if(s[p].getNetworkscore()!=0)
        System.out.println("        3.計算機網絡成績為:"+s[p].getNetworkscore());
    if(s[p].getDatabasescore()!=0)
        System.out.println("        4.數據庫成績為:"+s[p].getDatabasescore());
    if(s[p].getSoftwarescore()!=0)
        System.out.println("        5.軟件工程成績為:"+s[p].getSoftwarescore());
}
public void display6()
{
    System.out.println("*******************************");
    System.out.println("石家庄鐵道大學軟件工程系學生學籍管理系統 2019 版   ");
    System.out.println("         學生考試成績修改界面                 ");
    System.out.println("*******************************");
}
public void display7()
{
    System.out.println("*******************************");
    System.out.println("石家庄鐵道大學軟件工程系學生學籍管理系統 2019 版   ");
    System.out.println("         學生考試成績績點計算界面                  ");
    System.out.println("*******************************");
}
static ScoreInformation []s=new  ScoreInformation[10];
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in=new Scanner(System.in);
        ScoreManagement stu=new ScoreManagement();
        boolean flag=true,flag2=true,flag3=true,flag4=true,flag5=true,flag6=true,flag7=true;
        String xuehao;
        int i,number;
        for(i=0;i<10;i++)
            s[i]=new ScoreInformation();
        s[0].setStunumber("20183516");
        s[0].setName("徐利峰");
        s[1].setStunumber("20183517");
        s[1].setName("小華");
        s[2].setStunumber("20183518");
        s[2].setName("小李");
        s[3].setStunumber("20183519");
        s[3].setName("小剛");
        s[4].setStunumber("20183520");
        s[4].setName("小風");
        for(i=0;i<5;i++)
        {
            s[i].setDatabasescore(0);
            s[i].setEnglishiscore(0);
            s[i].setMathematicsscore(0);
            s[i].setNetworkscore(0);
            s[i].setSoftwarescore(0);
        }
        while(flag)
        {
            stu.display1();
            System.out.println("請選擇要執行的功能序號");
            number=in.nextInt();
            if(number<1||number>4)
                System.out.println("該選項不存在");
            else
            {
                switch(number)
                {
                    case 1:
                    {
                        while(flag2==true)
                        {
                            stu.display2();
                            
                            System.out.println("請輸入學生學號:");
                            xuehao=in.next();
                            System.out.println("*******************************");
                            if(stu.find(xuehao)==-1)
                            {
                                flag2=true;
                                System.out.println("該不存在");
                            }
                            else
                            {
                                double m;
                                String c;
                                flag2=false;
                                int b=stu.find(xuehao);
                                while(flag7==true)
                                {
                                    flag7=false;
                                    stu.display4(b);
                                    System.out.println("請輸入高等數學成績:");
                                    m=in.nextDouble();
                                    s[b].setMathematicsscore(m);
                                    stu.display5(b);
                                    System.out.println("請輸入大學英語成績:");
                                    m=in.nextDouble();
                                    s[b].setEnglishiscore(m);
                                    stu.display5(b);
                                    System.out.println("請輸入計算機網絡成績:");
                                    m=in.nextDouble();
                                    s[b].setNetworkscore(m);
                                    stu.display5(b);
                                    System.out.println("請輸入數據庫成績:");
                                    m=in.nextDouble();
                                    s[b].setDatabasescore(m);
                                    stu.display5(b);
                                    System.out.println("請輸入軟件工程成績:");
                                    m=in.nextDouble();
                                    s[b].setSoftwarescore(m);
                                    stu.display5(b);
                                    System.out.println("該學生成績已錄入完畢,是否提交(Y/N) ");
                                    c=in.next();
                                    if(c.compareTo("N")==0)
                                    {
                                        flag7=true;
                                        s[b].setDatabasescore(0);
                                        s[b].setEnglishiscore(0);
                                        s[b].setMathematicsscore(0);
                                        s[b].setNetworkscore(0);
                                        s[b].setSoftwarescore(0);
                                    }
                                }
                            }
                        }
                        break;
                    }
                    case 2:
                    {
                        String q;
                        while(flag3==true)
                        {
                            stu.display6();
                            flag3=false;
                            System.out.println("請輸入學號:");
                            q=in.next();
                            System.out.println("*******************************");
                            if(stu.find(q)==-1)
                            {
                                flag3=true;
                                System.out.println("該不存在");
                            }
                            else
                            {
                                int r;
                                int k=stu.find(q);
                                double j;
                                flag3=false;
                                stu.display5(k);
                                System.out.println("請選擇要修改的成績序號:");
                                r=in.nextInt();
                                if(r==1)
                                {
                                    String m;
                                    double old;
                                    stu.display4(k);
                                    old=s[k].getMathematicsscore();
                                    System.out.println("請輸入要修改后的高等數學成績:");
                                    j=in.nextDouble();
                                    s[k].setMathematicsscore(j);
                                    stu.display5(k);
                                    System.out.println("該學生成績已修改完畢,是否提交(Y/N) ");
                                    m=in.next();
                                    if(m.compareTo("N")==0)
                                    {
                                        flag3=true;
                                        s[k].setMathematicsscore(old);
                                    }
                                }
                                else if(r==2)
                                {
                                    String m;
                                    double old;
                                    old=s[k].getEnglishiscore();
                                    stu.display4(k);
                                    System.out.println("請輸入要修改后的大學英語成績:");
                                    j=in.nextDouble();
                                    s[k].setEnglishiscore(j);
                                    stu.display5(k);
                                    System.out.println("該學生成績已修改完畢,是否提交(Y/N) ");
                                    m=in.next();
                                    if(m.compareTo("N")==0)
                                    {
                                        flag3=true;
                                        s[k].setEnglishiscore(old);
                                    }
                                }
                                else if(r==3)
                                {
                                    String m;
                                    double old;
                                    old=s[k].getNetworkscore();
                                    stu.display4(k);
                                    System.out.println("請輸入要修改后的計算機網絡成績:");
                                    j=in.nextDouble();
                                    s[k].setNetworkscore(j);
                                    stu.display5(k);
                                    System.out.println("該學生成績已修改完畢,是否提交(Y/N) ");
                                    m=in.next();
                                    if(m.compareTo("N")==0)
                                    {
                                        flag3=true;
                                        s[k].setNetworkscore(old);
                                    }
                                }
                                else if(r==4)
                                {
                                    String m;
                                    double old;
                                    old=s[k].getDatabasescore();
                                    stu.display4(k);
                                    System.out.println("請輸入要修改后的數據庫成績:");
                                    j=in.nextDouble();
                                    s[k].setDatabasescore(j);
                                    stu.display5(k);
                                    System.out.println("該學生成績已修改完畢,是否提交(Y/N) ");
                                    m=in.next();
                                    if(m.compareTo("N")==0)
                                    {
                                        flag3=true;
                                        s[k].setDatabasescore(old);
                                    }
                                }
                                else if(r==5)
                                {
                                    String m;
                                    double old;
                                    old=s[k].getSoftwarescore();
                                    stu.display4(k);
                                    System.out.println("請輸入要修改后的軟件工程成績:");
                                    j=in.nextDouble();
                                    s[k].setSoftwarescore(j);
                                    stu.display5(k);
                                    System.out.println("該學生成績已修改完畢,是否提交(Y/N) ");
                                    m=in.next();
                                    if(m.compareTo("N")==0)
                                    {
                                        flag3=true;
                                        s[k].setSoftwarescore(old);
                                    }
                                }
                                else
                                {
                                    System.out.println("請重新輸入:");
                                }
                            }
                        }
                        break;
                    }
                    case 3:
                    {
                        String l;
                        while(flag4==true)
                        {
                            stu.display7();
                            in.nextLine();
                            flag4=false;
                            System.out.println("請輸入學生學號:");
                            l=in.nextLine();
                            System.out.println("*******************************");
                            if(stu.find(l)==-1)
                            {
                                flag4=true;
                                System.out.println("該不存在");
                            }
                            else
                            {
                                int p=stu.find(l);
                                double []a=new double[5];
                                double []g=new double[]{4,3,4,3,2};
                                double v=0;
                                for(i=0;i<5;i++)
                                {
                                    if(i==0)
                                    {
                                        if(s[p].getMathematicsscore()>=72)
                                        {
                                            if(s[p].getMathematicsscore()<=74.9)
                                                a[i]=2.3;
                                            else if(s[p].getMathematicsscore()<=77.9)
                                                a[i]=2.7;
                                            else if(s[p].getMathematicsscore()<=81.9)
                                                a[i]=3.0;
                                            else if(s[p].getMathematicsscore()<=84.9)
                                                a[i]=3.3;
                                            else if(s[p].getMathematicsscore()<=89.9)
                                                a[i]=3.7;
                                            else
                                                a[i]=4.0;
                                        }
                                        else
                                        {
                                            if(s[p].getMathematicsscore()>=68)
                                                a[i]=2.0;
                                            else if(s[p].getMathematicsscore()>=66)
                                                a[i]=1.7;
                                            else if(s[p].getMathematicsscore()>=64)
                                                a[i]=1.5;
                                            else if(s[p].getMathematicsscore()>=60)
                                                a[i]=1.0;
                                            else 
                                                a[i]=0;
                                        }    
                                    }
                                    if(i==1)
                                    {
                                        if(s[p].getEnglishiscore()>=72)
                                        {
                                            if(s[p].getEnglishiscore()<=74.9)
                                                a[i]=2.3;
                                            else if(s[p].getEnglishiscore()<=77.9)
                                                a[i]=2.7;
                                            else if(s[p].getEnglishiscore()<=81.9)
                                                a[i]=3.0;
                                            else if(s[p].getEnglishiscore()<=84.9)
                                                a[i]=3.3;
                                            else if(s[p].getEnglishiscore()<=89.9)
                                                a[i]=3.7;
                                            else
                                                a[i]=4.0;
                                        }
                                        else
                                        {
                                            if(s[p].getEnglishiscore()>=68)
                                                a[i]=2.0;
                                            else if(s[p].getEnglishiscore()>=66)
                                                a[i]=1.7;
                                            else if(s[p].getEnglishiscore()>=64)
                                                a[i]=1.5;
                                            else if(s[p].getEnglishiscore()>=60)
                                                a[i]=1.0;
                                            else 
                                                a[i]=0;
                                        }    
                                    }
                                    if(i==2)
                                    {
                                        if(s[p].getNetworkscore()>=72)
                                        {
                                            if(s[p].getNetworkscore()<=74.9)
                                                a[i]=2.3;
                                            else if(s[p].getNetworkscore()<=77.9)
                                                a[i]=2.7;
                                            else if(s[p].getNetworkscore()<=81.9)
                                                a[i]=3.0;
                                            else if(s[p].getNetworkscore()<=84.9)
                                                a[i]=3.3;
                                            else if(s[p].getNetworkscore()<=89.9)
                                                a[i]=3.7;
                                            else
                                                a[i]=4.0;
                                        }
                                        else
                                        {
                                            if(s[p].getNetworkscore()>=68)
                                                a[i]=2.0;
                                            else if(s[p].getNetworkscore()>=66)
                                                a[i]=1.7;
                                            else if(s[p].getNetworkscore()>=64)
                                                a[i]=1.5;
                                            else if(s[p].getNetworkscore()>=60)
                                                a[i]=1.0;
                                            else 
                                                a[i]=0;
                                        }    
                                    }
                                    if(i==3)
                                    {
                                        if(s[p].getDatabasescore()>=72)
                                        {
                                            if(s[p].getDatabasescore()<=74.9)
                                                a[i]=2.3;
                                            else if(s[p].getDatabasescore()<=77.9)
                                                a[i]=2.7;
                                            else if(s[p].getDatabasescore()<=81.9)
                                                a[i]=3.0;
                                            else if(s[p].getDatabasescore()<=84.9)
                                                a[i]=3.3;
                                            else if(s[p].getDatabasescore()<=89.9)
                                                a[i]=3.7;
                                            else
                                                a[i]=4.0;
                                        }
                                        else
                                        {
                                            if(s[p].getDatabasescore()>=68)
                                                a[i]=2.0;
                                            else if(s[p].getDatabasescore()>=66)
                                                a[i]=1.7;
                                            else if(s[p].getDatabasescore()>=64)
                                                a[i]=1.5;
                                            else if(s[p].getDatabasescore()>=60)
                                                a[i]=1.0;
                                            else 
                                                a[i]=0;
                                        }    
                                    }
                                    if(i==4)
                                    {
                                        if(s[p].getSoftwarescore()>=72)
                                        {
                                            if(s[p].getSoftwarescore()<=74.9)
                                                a[i]=2.3;
                                            else if(s[p].getSoftwarescore()<=77.9)
                                                a[i]=2.7;
                                            else if(s[p].getSoftwarescore()<=81.9)
                                                a[i]=3.0;
                                            else if(s[p].getSoftwarescore()<=84.9)
                                                a[i]=3.3;
                                            else if(s[p].getSoftwarescore()<=89.9)
                                                a[i]=3.7;
                                            else
                                                a[i]=4.0;
                                        }
                                        else
                                        {
                                            if(s[p].getSoftwarescore()>=68)
                                                a[i]=2.0;
                                            else if(s[p].getSoftwarescore()>=66)
                                                a[i]=1.7;
                                            else if(s[p].getSoftwarescore()>=64)
                                                a[i]=1.5;
                                            else if(s[p].getSoftwarescore()>=60)
                                                a[i]=1.0;
                                            else 
                                                a[i]=0;
                                        }    
                                    }
                                }
                                for(i=0;i<5;i++)
                                    v+=a[i]*g[i];
                                v=v/16;
                                if(v>=2)
                                    flag5=true;
                                else
                                    flag5=false;
                                stu.display7();
                                System.out.println("        學生學號:"+s[p].getStunumber());
                                System.out.println("        學生姓名:"+s[p].getName());
                                System.out.println("   1、高等數學成績績點:"+a[0]);
                                System.out.println("   2、大學英語成績績點::"+a[1]);
                                System.out.println("   3、計算機網絡成績績點:"+a[2]);
                                System.out.println("   4、數據庫成績績點:"+a[3]);
                                System.out.println("   5、軟件工程成績績點:"+a[4]);
                                System.out.println("   6、你的平均學分績點為:"+String.format("%.2f",v));
                                if(flag5==true)
                                    System.out.println("  你的學分績點已達到畢業要求!");
                                else
                                    System.out.println("  你的學分績點不滿足畢業要求!");
                                System.out.println("   是否返回系統主界面:(Y/N) ");
                                String c;
                                c=in.next();
                                if(c.compareTo("Y")==0)
                                    flag6=false;
                            }
                            if(flag6==false&&flag4==false)
                                break;
                        }
                        break;
                    }
                    case 4:
                    {
                        stu.display3();
                        flag=false;
                        break;
                    }
                }
            }
        }
        in.close();
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM