天天看點

畢業論文查重

一、考試要求:

1、按照測試内容要求完成程式的設計與程式設計;

2、建立學号姓名檔案夾,如:“信2005-1班20203982薛賀程”,将源程式檔案、儲存在檔案夾中,壓縮成rar檔案送出。

3、以班級為機關上交最終考試結果。

4、需要在程式開始的注釋中注明班級、學号、姓名。

二、 資料結構要求:(5分)

1、定義ScoreInformation類,其中包括七個私有變量(stunumber, name,stuclass, papertitle,paperbody,paperpass,paperreview)。

各成員的含義如下:

變量 stunumber 為字元串類型 String,用于存儲學生的學号(有8 位數字組成)。

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

變量stuclass為String 類型,用于存儲學生的班級。

變量papertitle為String 類型,用于存儲學生的畢業設計論文題目,要求限制輸入字元為10個。

變量paperbody為String類型,用于存儲學生的畢業設計論文正文,要求限制輸入字元為200個。

變量paperpass為double 類型,用于存儲學生的論文的查重率,初始值設為0。

變量paperreview為boolean 類型,用于存儲畢業設計論文的最終審查效果,true代表通過審查,false代表未通過審查,初始值設為“false”。

對每個變量定義 get()(讀取變量資訊)和 set()(設定變量資訊)的方法。

2、賦初值方法包括七個參數,用于為變量(stunumber, name,stuclass, papertitle,paperbody,paperpass,paperreview)指派。

三、 功能要求:(10分)

該系統完成學生畢業設計論文管理的簡單功能,定義PaperManagement類完成下列功能。

1、利用數組實作至少存儲五個學生畢業設計論文的基本資訊; (将考生資訊作為第一條記錄)。(1分)

2、畢業設計論文管理系統的主界面如下圖所示:(1分)

①界面要求;(0.5分)

***********************************************************石家莊鐵道大學軟體工程系

畢業設計論文管理系統2021版

***********************************************************

1、畢業設計論文送出

2、畢業設計論文查重

3、畢業設計論文審查

4、退出論文管理系統

**********************************************************

②功能說明

輸入數字1-4執行相應的功能,輸入其他數字提示錯誤資訊(該選項不存在),并傳回主界面。(0.5分)

2、畢業設計論文送出功能操作流程:(3分)

①在主界面選擇“畢業設計論文送出”功能後,進入“畢業設計論文送出”界面,如下圖所示:(0.5分)

***********************************************************石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版

畢業設計論文送出

請輸入學生學号:XXXXXXXX

提示使用者輸入八位的學号。

②使用者輸入學号後,顯示使用者學号、姓名、班級,如果使用者學号不存在或資訊錯誤提示錯誤資訊(該學号不存在),并傳回成績錄入界面。(0.5分)

③使用者輸入學号正确如下圖所示:

學生學号:20203982

學生姓名:薛賀程

所在班級:信2005-1班

請輸入畢業設計論文題目:XXXXXX XXXX

提示使用者輸入畢業設計論文題目,如果畢業設計論文題目超過10個字元,則提醒使用者錯誤資訊,傳回目前界面重新輸入;(0.5分)

如果滿足要求,則提示使用者輸入畢業設計論文正文,同題目一樣判斷是否超過200個字元,超過重新輸入。(0.5分)

請輸入畢業設計論文正文:XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX

輸入畢業設計論文正文最後輸入(END)代表論文正文輸入完成,顯示如下界面。(0.5分)

畢業設計論文題目:XXXXXX XXXX

畢業設計論文正文:XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX XXXXXX XXXX

該學生成績已錄入完畢,是否送出(Y/N)

選擇“Y”将論文題目和正文内容儲存到相應的數組中,并傳回主界面。選擇“N”,則忽略上述錄入内容,并傳回論文送出界面。(0.5分)

3、畢業設計論文查重(2分)

①在主界面選擇“畢業設計論文查重”功能後,進入“畢業設計論文查重”界面,如下圖所示:

畢業設計論文查重***********************************************************

②使用者輸入學号後,顯示使用者學号、姓名、班級、畢業設計論文題目、畢業設計論文正文。如下圖所示。(1.5分)

請輸入畢業設計論文查重率:XXX

判斷查重率輸入是否符合要求,不符合則要求使用者重新輸入,符合顯示下圖選擇資訊。

畢業設計論文查重率:XXX

(Y/N)

③選擇“Y”傳回畢業設計論文查重輸入學号界面。選擇“N”,傳回系統主界面。(0.5分)

4、畢業設計論文審查(2分)

①在主界面選擇“畢業設計論文審查”功能後,進入“畢業設計論文審查”界面,如下圖所示:

畢業設計論文審查***********************************************************

②使用者輸入學号後,顯示使用者學号、姓名、班級、畢業設計論文題目、畢業設計論文正文、畢業設計論文查重率。如下圖所示。(1.5分)

如果查重率大于等于0.2提示資訊顯示“該學生畢業設計論文重複率超過20%,不允許進行論文審查”,直接傳回畢業設計論文審查首頁面。

則提示使用者輸入審查結果

是否同意該學生參加畢業設計答辯:(Y/N)

③選擇“Y”存儲審查結果,傳回畢業設計論文審查輸入學号界面。選擇“N”, 存儲審查結果傳回系統主界面。(0.5分)

5、使用者選擇數字“4”,顯示如下界面,退出目前程式。(1分)

制作人:考生姓名

public class ScoreInformation {
    private String stunumber;
    private String name;
    private String stuclass;
    private String papertitle;
    private String paperbody;
    private double paperpass;
    private boolean paperreview;
    
    ScoreInformation(String stunumber,String name,String stuclass,String papertitle,String paperbody,double paperpass,boolean paperreview)
    {
        this.stunumber=stunumber;
        this.name = name;
        this.stuclass = stuclass;
        this.papertitle = papertitle;
        this.paperbody = paperbody;
        this.paperpass = paperpass;
        this.paperreview = paperreview;
    }
    
     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 String getStuclass() {
        return stuclass;
    }
    public void setStuclass(String stuclass) {
        this.stuclass = stuclass;
    }

    public String getPapertitle() {
        return papertitle;
    }
    public void setPapertitle(String papertitle) {
        this.papertitle = papertitle;
    }
    
    public String getPaperbody() {
        return paperbody;
    }
    public void setPaperbody(String paperbody) {
        this.paperbody = paperbody;
    }
    
    public double getPaperpass() {
        return paperpass;
    }
    public void setPaperpass(double paperpass) {
        this.paperpass = paperpass;
    }
       
    public boolean isPaperreview() {
        return paperreview;
    }
    public void setPaperreview(boolean paperreview) {
        this.paperreview = paperreview;
    }
    
    
}      
import java.util.Scanner;

public class PaperManagement {
    
    static int sum=0;
    static Scanner sc = null;
    static ScoreInformation[] s = new ScoreInformation[5];
    
     public static int systemMenu() //主菜單界面
     { 
        sc = new Scanner(System.in);
        System.out.println(
                "*********************************************************** \n" + 
                "                     石家莊鐵道大學軟體工程系 \n" + 
                "                    畢業設計論文管理系統2021版\n" + 
                "***********************************************************  \n" + 
                "                      1、畢業設計論文送出 \n" + 
                "                      2、畢業設計論文查重 \n" + 
                "                      3、畢業設計論文審查 \n" + 
                "                      4、退出論文管理系統 \n" + 
                "*********************************************************** ");
        System.out.println("請選擇:");
        int ch;
        ch = sc.nextInt();
        return ch;
    }
    
     public static void mainFrame() //主方法
     {
         int choose;
         choose = systemMenu();
         if(choose<=4&&choose>=1) {
             
             switch (choose) {
             case 1:
                 PaperManagement.tijiaoxuehao();
                 break;
             case 2:
                 PaperManagement.chachongxuehao();
                 break;
             case 3:
                 PaperManagement.shenchaxuehao();
                 break;
             case 4:
                 //退出界面
                 System.out.println(
                 "***********************************************************"+"\n"+
                 "               石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版         "+"\n"+
                 "                       制作人:"+s[0].getName()           +"\n"+
                 "***********************************************************");
                 System.exit(0);
                 break;
             }
             choose = systemMenu();
             }
         else
         {
             System.out.println("該選項不存在,請重新選擇!");
             choose = systemMenu();
         }
        }
     
     //送出界面
     public static void tijiaoxuehao() //送出界面學号判斷
     {
         System.out.println(
                  "*********************************************************** \n" + 
                  "           石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版\n" + 
                  "                   畢業設計論文送出\n" + 
                  "***********************************************************  \n" + 
                  "                   請輸入學生學号: \n" + 
                  "*********************************************************** ");
          System.out.println("請輸入八位學号:");
          String stunumber;
            stunumber = sc.next();
            int count=0;
        for(int k=0;k<5;k++) {
            if(s[k].getStunumber().compareTo(stunumber)==0) 
                {
                sum=k;
                count++;
                break;
                }
        }
            if(count==1)
            {
               PaperManagement.timu(sum);
            }
            else
            {
                System.out.println("該使用者不存在,請重新輸入學号!");
                PaperManagement.tijiaoxuehao();
            }
     }
            
     public static void timu(int k) //送出界面論文題目判斷
     {
         System.out.println(
                  "*********************************************************** \n" + 
                  "           石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版\n" + 
                  "                     畢業設計論文送出\n" + 
                  "***********************************************************  \n" + 
                  "                 學生學号: " + s[k].getStunumber()+"\n"+
                  "                 學生姓名: " + s[k].getName()+"\n"+
                  "                 所在班級: " + s[k].getStuclass()+"\n"+
                  "                 請輸入畢業設計論文題目: " + "\n"+
                  "*********************************************************** ");
        String papertitle;
         papertitle = sc.next();
         if(papertitle.length()<=10)
         {
             s[k].setPapertitle(papertitle);
             PaperManagement.zhengwen(k);
         }
         else
         {
             System.out.println("論文題目長度超過10,請重新輸入畢業設計論文題目!");
             PaperManagement.timu(k);
         }
     }
     
     public static void zhengwen(int k) //送出界面論文正文判斷
     {
         System.out.println(
                  "*********************************************************** \n" + 
                  "           石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版\n" + 
                  "                    畢業設計論文送出\n" + 
                  "***********************************************************  \n" + 
                  "                 學生學号: " + s[k].getStunumber()+"\n"+
                  "                 學生姓名: " + s[k].getName() +"\n"+
                  "                 所在班級: " + s[k].getStuclass()+"\n"+
                  "                 畢業設計論文題目: " + s[k].getPapertitle() +"\n"+
                  "                 請輸入畢業設計論文正文: \n" + 
                  "***********************************************************");
         String paperbody;
         paperbody = sc.next();
         if(paperbody.length()<=200)
         {
             s[k].setPaperbody(paperbody);
             PaperManagement.submit(k);
         }
         else
         {
             System.out.println("論文正文長度超過200,請重新輸入畢業設計論文正文!");
             PaperManagement.zhengwen(k);
         }
     }
     
     public static void submit(int k) //送出界面判斷是否送出或重新送出
     {
         System.out.println(
                  "*********************************************************** \n" + 
                  "          石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版\n" + 
                  "                   畢業設計論文送出\n" + 
                  "***********************************************************  \n" + 
                  "                 學生學号: " + s[k].getStunumber()+"\n"+
                  "                 學生姓名: " + s[k].getName() +"\n"+
                  "                 所在班級: " + s[k].getStuclass()+"\n"+
                  "                 畢業設計論文題目: " + s[k].getPapertitle() +"\n"+
                  "                 請輸入畢業設計論文正文: " + s[k].getPaperbody()+"\n"+
                  "                 該學生成績已錄入完畢,是否送出(Y/N) \n"+
                  "*********************************************************** ");
         String tijiao;
         tijiao = sc.next();
         if(tijiao.equals("Y"))
         {
             PaperManagement.mainFrame();
         }
         else 
         {
             if(tijiao.equals("N"))
             {
                 s[k].setPapertitle(null);
                 s[k].setPaperbody(null);
                 PaperManagement.tijiaoxuehao(); 
             }
             else
             {
                 System.out.println("資訊錯誤,請重新輸入是否送出!");
                 PaperManagement.submit(k);
             }
         }
     }
    
     //查重界面
     public static void chachongxuehao() //查重界面學号判斷
     {
         System.out.println(
                   "*********************************************************** \n" + 
                   "        石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版\n" + 
                   "                  畢業設計論文查重\n" + 
                   "***********************************************************  \n" + 
                   
                   "                  請輸入學生學号: \n"+
                   "*********************************************************** ");
         System.out.println("請輸入八位學号:");
          String stunumber;
            stunumber = sc.next();
            int count=0;
        for(int k=0;k<5;k++) {
            if(s[k].getStunumber().compareTo(stunumber)==0) 
                {
                sum=k;
                count++;
                break;
                }
        }
            if(count==1)
            {
               PaperManagement.chachonglv(sum);
            }
            else
            {
                System.out.println("該使用者不存在,請重新輸入學号!");
                PaperManagement.chachongxuehao();
            }
     }
     
     public static void chachonglv(int k) //查重界面查重率判斷
     {
         System.out.println(
                   "*********************************************************** \n" + 
                   "         石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版\n" + 
                   "                     畢業設計論文查重\n" + 
                   "***********************************************************  \n" + 
                   "                 學生學号: " + s[k].getStunumber()+"\n"+
                   "                 學生姓名: " + s[k].getName() +"\n"+
                   "                 所在班級: " + s[k].getStuclass()+"\n"+
                   "                 畢業設計論文題目: " + s[k].getPapertitle()+"\n"+
                   "                 畢業設計論文正文: " + s[k].getPaperbody()+"\n"+
                   "                 請輸入畢業設計論文查重率:"+"\n"+
                   "*********************************************************** ");
         double paperpass;
            paperpass = sc.nextDouble();
            if(paperpass<=0.2)
            {
                s[k].setPaperpass(paperpass);
               PaperManagement.duplicate(k);
            }
            else
            {
               System.out.println("該學生畢業論文重複率超過20%,不允許進行論文審查!");
               PaperManagement.chachongxuehao();
            } 
     }
     
   public static void duplicate(int k) //查重界面判斷是否繼續查重或退出查重
     {
       System.out.println(
                  "*********************************************************** \n" + 
                  "         石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版\n" + 
                  "                     畢業設計論文查重\n" + 
                  "***********************************************************  \n" + 
                  "                 學生學号: " + s[k].getStunumber()+"\n"+
                  "                 學生姓名: " + s[k].getName() +"\n"+
                  "                 所在班級: " + s[k].getStuclass()+"\n"+
                  "                 畢業設計論文題目: " + s[k].getPapertitle()+"\n"+
                  "                 畢業設計論文正文: " + s[k].getPaperbody()+"\n"+
                  "                 畢業設計論文查重率:"+ s[k].getPaperpass()+"\n"+
                  "                 該學生畢業設計論文查重率已錄入完畢,是否繼續查重(Y/N)"+"\n"+
                  "*********************************************************** ");
        String canjia;
        canjia = sc.next();
        if(canjia.equals("Y"))
        {
            PaperManagement.chachongxuehao();
        }
        else 
        {
            if(canjia.equals("N"))
            {
                PaperManagement.mainFrame(); 
            }
            else
            {
                System.out.println("資訊錯誤,請重新輸入是否繼續查重!");
                PaperManagement.duplicate(k);
            }
        }
        
     }
   
   //審查界面
   public static void shenchaxuehao() //審查界面學号判斷
   {
       System.out.println(
                 "*********************************************************** \n" + 
                 "          石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版\n" + 
                 "                  畢業設計論文審查\n" + 
                 "***********************************************************  \n" + 
                
                 "                  請輸入學生學号:\n"+
                 "*********************************************************** ");
       System.out.println("請輸入八位學号:");
          String stunumber;
          stunumber = sc.next();
          int count=0;
        for(int k=0;k<5;k++) {
            if(s[k].getStunumber().compareTo(stunumber)==0) 
                {
                sum=k;
                count++;
                break;
                }
        }
          if(count==1)
          {
             PaperManagement.examine(sum);
          }
          else
          {
              System.out.println("該使用者不存在,請重新輸入學号!");
              PaperManagement.shenchaxuehao();
          }
    }
    
     public static void examine(int k) //審查界面判斷是否參加答辯并繼續審查或不同意參加答辯并退出審查
     {
         System.out.println(
                   "*********************************************************** \n" + 
                   "         石家莊鐵道大學軟體工程系畢業設計論文管理系統2021版\n" + 
                   "                     畢業設計論文查重\n" + 
                   "***********************************************************  \n" + 
                   "                 學生學号: " + s[k].getStunumber()+"\n"+
                   "                 學生姓名: " + s[k].getName() +"\n"+
                   "                 所在班級: " + s[k].getStuclass()+"\n"+
                   "                 畢業設計論文題目: " + s[k].getPapertitle()+"\n"+
                   "                 畢業設計論文正文: " + s[k].getPaperbody()+"\n"+
                   "                 畢業設計論文查重率:"+ s[k].getPaperpass()+"\n"+
                   "                 是否同意該學生參加畢業設計答辯并繼續審查(Y/N)"+"\n"+
                   "*********************************************************** ");
        String canjiadabian;
        canjiadabian = sc.next();
          if(canjiadabian.equals("Y"))
          {
              s[k].setPaperreview(true);
              PaperManagement.shenchaxuehao();
          }
          else 
          {
              if(canjiadabian.equals("N"))
              {
                  s[k].setPaperreview(false);
                  PaperManagement.mainFrame(); 
              }
              else
              {
                  System.out.println("資訊錯誤,請重新輸入是否送出!");
                  PaperManagement.examine(k);
              }
          }    
     }
     
   public static void main(String[] args) {
    
       sc = new Scanner(System.in);
        
        ScoreInformation s1 = new ScoreInformation("20204121","張榕","信2005-1班",null,null,0.0,false);
        ScoreInformation s2 = new ScoreInformation("20204122","栀子花","信2005-2班",null,null,0.0,false);
        ScoreInformation s3 = new ScoreInformation("20204123","柑橘","信2005-3班",null,null,0.0,false);
        ScoreInformation s4 = new ScoreInformation("20204124","種植戶","信2005-4班",null,null,0.0,false);
        ScoreInformation s5 = new ScoreInformation("20204125","果醬","信2005-5班",null,null,0.0,false);
        s[0] = s1;
        s[1] = s2;
        s[2] = s3;
        s[3] = s4;
        s[4] = s5;    
        
        PaperManagement.mainFrame();
  }    
}