精华内容
下载资源
问答
  • 该系统完成学生成绩录入,修改,绩计算以及查询学生成绩的简单操作 设计思路: 程序分为四大部分:成绩录入,成绩修改,绩计算以及退出程序 成绩录入之前首先输入学号并验证是否存在,存在则继续输入并刷新...

    系统简介:

    该系统完成学生成绩录入,修改,绩点计算以及查询学生成绩的简单操作

    设计思路:

    程序分为四大部分:成绩录入,成绩修改,绩点计算以及退出程序

    成绩录入之前首先输入学号并验证是否存在,存在则继续输入并刷新屏幕,不存在则打印提示信息

      这里定义输入学号并验证的方法,返回值为布尔值,根据返回值使用if判断是否继续

      将每一次输入打印封装成一个方法,即,每进行一次输入,更新一次屏幕

      最后封装一个是否保存输入的方法,即,用户输入Y则保存并返回true,输入N则不保存并返回false

      保存的实现是总量total+1,不保存,即不加1即可

      根据返回的true或false写入while循环条件,即可实现页面的返回地点

    成绩修改之前同成绩输入一样,首先输入学号并验证是否存在,存在则继续刷新屏幕,不存在则打印提示信息

      这里定义输入学号并验证的方法,返回值为学号对应信息所在数组中的位置(索引)

      索引的功能是后续各方法分开实现可以通过索引获取相应的成绩信息

      为每个科目定义修改成绩的方法

      定义全局变量用来存储旧的成绩(每次只能修改一个成绩所以定义一个全局变量即可),并在每个修改成绩的方法里在更新其新成绩前给全局变量赋值为旧成绩

      旧成绩是当用户输入N,不提交保存结果时,用来将旧值再赋给原来成绩时用到的

      将每个修改成绩的方法通过输入的序号操作用switch语句集合起来,方法的返回值flag为输入的序号(这样可以记录修改的是哪一条科目,为后续不保存的行为做准备)

      定义是否保存函数,参数为刚刚提到的flag即id的index,根据用户输入的Y或N判断是否保存,若Y,则不进行其他操作,若N,则将旧值set给flag标注的科目,方法返回值为Boolean型

      将该方法置于while条件中用来控制页面的跳转位置

    绩点计算之前也要输入学号并验证是否存在,存在则继续刷新屏幕,不存在则打印提示信息

      定义输入学号并验证的方法,返回值为学号对应信息所在数组中的位置(索引)

      判断存在之后使用showpoint方法根据索引打印相应信息

      if elseif else条件语句用来定义绩点的值,将其封装为getpoint方法,参数为科目成绩

      将showpoint方法返回值类型设为Boolean,将其作为if的条件控制是否停留在当前页面

    退出系统功能较简单,这里使用system.exit(-1)方法强制结束程序,并将打印结束页面的功能一同封装为一个方法

    ScoreManagement类源码:

      1 package stu.information.com;
      2 
      3 import java.util.Scanner;
      4 
      5 
      6 public class ScoreManagement {
      7     static String[] id_list= {"20183727","20183333","20183334","20183335","20183336"};
      8     static String[] name_list= {"赵世元","张三","李四","王五","李华"};
      9     static ScoreInformation[] si_list=new ScoreInformation[10];
     10     static int total=0;
     11     static double oldscore;
     12     static Scanner scanner = new Scanner(System.in);
     13     //打印主界面导航
     14     public static void showMainNav() {
     15         System.out.println("*******************************************************");
     16         System.out.println("              石家庄铁道大学软件工程系");
     17         System.out.println("               学生学籍管理系统2019版");
     18         System.out.println("*******************************************************");
     19         System.out.println("                1、学生考试成绩录入");
     20         System.out.println("                2、学生考试成绩修改");
     21         System.out.println("                3、计算学生成绩绩点");
     22         System.out.println("                4、退出学籍管理系统");
     23         System.out.println("*******************************************************");
     24     }
     25     
     26     //判断学号是否存在
     27     public static int isIdExist(String a) {
     28         for(int i=0;i<id_list.length;i++)
     29         {
     30             if(id_list[i].equals(a))
     31                 return i;
     32         }
     33         return -1;
     34     }
     35     
     36     //录入学号
     37     public static boolean addScoreInformation() {
     38         System.out.print("请输入学生学号:");
     39         String stu_id=scanner.next();
     40         if(isIdExist(stu_id)==-1)
     41         {
     42             System.out.println("该学号不存在!");
     43             //Runtime.getRuntime().exec("cmd /c start cls ");
     44             return false;
     45         }
     46         else
     47         {
     48             si_list[total]=new ScoreInformation();
     49             si_list[total].setStunumber(stu_id);
     50             si_list[total].setName(name_list[isIdExist(stu_id)]);
     51             System.out.println("*******************************************************");
     52             return true;
     53         }
     54     }
     55     
     56     //录入高数成绩
     57     public static void addScoreInformation_second() {
     58         System.out.print("学生学号:");
     59         System.out.println(si_list[total].getStunumber());
     60         System.out.print("学生姓名:");
     61         System.out.println(si_list[total].getName());
     62         System.out.print("请输入高等数学成绩:");
     63         double math=scanner.nextDouble();
     64         si_list[total].setMathematicsscore(math);
     65         System.out.println("*******************************************************");
     66     }
     67     
     68     //录入大英成绩
     69     public static void addScoreInformation_third() {
     70         System.out.print("学生学号:");
     71         System.out.println(si_list[total].getStunumber());
     72         System.out.print("学生姓名:");
     73         System.out.println(si_list[total].getName());
     74         System.out.print("高等数学成绩:");
     75         System.out.println(si_list[total].getMathematicsscore());
     76         System.out.print("请输入大学英语成绩:");
     77         double english=scanner.nextDouble();
     78         si_list[total].setEnglishscore(english);
     79         System.out.println("*******************************************************");
     80     }
     81     
     82     //录入计算机网络成绩
     83     public static void addScoreInformation_forth() {
     84         System.out.print("学生学号:");
     85         System.out.println(si_list[total].getStunumber());
     86         System.out.print("学生姓名:");
     87         System.out.println(si_list[total].getName());
     88         System.out.print("高等数学成绩:");
     89         System.out.println(si_list[total].getMathematicsscore());
     90         System.out.print("大学英语成绩:");
     91         System.out.println(si_list[total].getEnglishscore());
     92         System.out.print("请输入计算机网络成绩:");
     93         double net=scanner.nextDouble();
     94         si_list[total].setNetworkscore(net);
     95         System.out.println("*******************************************************");
     96     }
     97     
     98     //录入数据库成绩
     99     public static void addScoreInformation_fifth() {
    100         System.out.print("学生学号:");
    101         System.out.println(si_list[total].getStunumber());
    102         System.out.print("学生姓名:");
    103         System.out.println(si_list[total].getName());
    104         System.out.print("高等数学成绩:");
    105         System.out.println(si_list[total].getMathematicsscore());
    106         System.out.print("大学英语成绩:");
    107         System.out.println(si_list[total].getEnglishscore());
    108         System.out.print("计算机网络成绩:");
    109         System.out.println(si_list[total].getNetworkscore());
    110         System.out.print("请输入数据库成绩:");
    111         double database=scanner.nextDouble();
    112         si_list[total].setDatabasescore(database);
    113         System.out.println("*******************************************************");
    114     }
    115     
    116     //录入软件工程成绩
    117     public static void addScoreInformation_sixth() {
    118         System.out.print("学生学号:");
    119         System.out.println(si_list[total].getStunumber());
    120         System.out.print("学生姓名:");
    121         System.out.println(si_list[total].getName());
    122         System.out.print("高等数学成绩:");
    123         System.out.println(si_list[total].getMathematicsscore());
    124         System.out.print("大学英语成绩:");
    125         System.out.println(si_list[total].getEnglishscore());
    126         System.out.print("计算机网络成绩:");
    127         System.out.println(si_list[total].getNetworkscore());
    128         System.out.print("数据库成绩:");
    129         System.out.println(si_list[total].getDatabasescore());
    130         System.out.print("请输入软件工程成绩:");
    131         double software=scanner.nextDouble();
    132         si_list[total].setSoftwarescore(software);
    133         System.out.println("*******************************************************");
    134     }
    135     
    136     //打印是否提交提示信息
    137     public static void addScoreInformation_seventh() {
    138         System.out.print("学生学号:");
    139         System.out.println(si_list[total].getStunumber());
    140         System.out.print("学生姓名:");
    141         System.out.println(si_list[total].getName());
    142         System.out.print("高等数学成绩:");
    143         System.out.println(si_list[total].getMathematicsscore());
    144         System.out.print("大学英语成绩:");
    145         System.out.println(si_list[total].getEnglishscore());
    146         System.out.print("计算机网络成绩:");
    147         System.out.println(si_list[total].getNetworkscore());
    148         System.out.print("数据库成绩:");
    149         System.out.println(si_list[total].getDatabasescore());
    150         System.out.print("软件工程成绩:");
    151         System.out.println(si_list[total].getSoftwarescore());
    152         System.out.println("该学生成绩已录入完毕,是否提交?Y/N");
    153         
    154     }
    155     
    156     //是否保存录入内容
    157     public static boolean isSaveAdd()
    158     {
    159         String flag=scanner.next();
    160         if(flag.equals("Y"))
    161         {
    162             total++;
    163             return true;
    164         }
    165         else if(flag.equals("N"))
    166         {
    167             System.out.println("提交操作已取消!");
    168         }
    169         return false;
    170     }
    171     
    172     //录入信息模块标题
    173     public static void showAddNav() {
    174         System.out.println("*******************************************************");
    175         System.out.println("      石家庄铁道大学软件工程系学生学籍管理系统2019版");
    176         System.out.println("                   学生考试成绩录入");
    177         System.out.println("*******************************************************");
    178     }
    179     
    180     //测试打印所有
    181     public static void showall() {
    182         for(int i=0;i<total;i++)
    183         {
    184             System.out.println(si_list[i].getStunumber()+si_list[i].getName()+si_list[i].getMathematicsscore()+si_list[i].getEnglishscore()
    185                     +si_list[i].getNetworkscore()+si_list[i].getDatabasescore()+si_list[i].getSoftwarescore());
    186         }
    187     }
    188     
    189     //修改成绩模块标题
    190     public static void showUpdateNav() {
    191         System.out.println("*******************************************************");
    192         System.out.println("      石家庄铁道大学软件工程系学生学籍管理系统2019版");
    193         System.out.println("                  学生考试成绩修改界面");
    194         System.out.println("*******************************************************");
    195     }
    196     
    197     //根据学号获取索引
    198     public static int getIndex(String a) {
    199         for(int i=0;i<total;i++)
    200         {
    201             if(si_list[i].getStunumber().equals(a))
    202                 return i;
    203         }
    204         return -1;
    205     }
    206     
    207     //修改成绩时输入学号
    208     public static String updateInputNum() {
    209         System.out.print("请输入学生学号:");
    210         String stu_id=scanner.next();
    211         if(isIdExist(stu_id)==-1)
    212         {
    213             System.out.println("该学号不存在!");
    214             //Runtime.getRuntime().exec("cmd /c start cls ");
    215             return null;
    216         }
    217         else
    218         {
    219             si_list[total]=new ScoreInformation();
    220             si_list[total].setStunumber(stu_id);
    221             si_list[total].setName(name_list[isIdExist(stu_id)]);
    222             System.out.println("*******************************************************");
    223             return stu_id;
    224         }
    225     }
    226     
    227     //打印成绩信息
    228     public static void showScore(int i) {
    229         System.out.println("学生学号:"+si_list[i].getStunumber());
    230         System.out.println("学生姓名:"+si_list[i].getName());
    231         System.out.println("1、高等数学成绩:"+si_list[i].getMathematicsscore());
    232         System.out.println("2、大学英语成绩:"+si_list[i].getEnglishscore());
    233         System.out.println("3、计算机网络成绩:"+si_list[i].getNetworkscore());
    234         System.out.println("4、数据库成绩:"+si_list[i].getDatabasescore());
    235         System.out.println("5、软件工程成绩:"+si_list[i].getSoftwarescore());
    236     }
    237     
    238     //打印姓名学号
    239     public static void showUpdateIDandName(int i) {
    240         showUpdateNav();
    241         System.out.println("学生学号:"+si_list[i].getStunumber());
    242         System.out.println("学生姓名:"+si_list[i].getName());
    243     }
    244     
    245     //修改高数成绩
    246     public static double updateMath(int i) {
    247         showUpdateIDandName(i);
    248         System.out.print("请输入修改后高等数学成绩:");
    249         double old=si_list[i].getMathematicsscore();
    250         double math=scanner.nextDouble();
    251         si_list[i].setMathematicsscore(math);
    252         return old;
    253     }
    254     //修改大英成绩
    255     public static double updateEnglish(int i) {
    256         showUpdateIDandName(i);
    257         System.out.print("请输入修改后大学英语成绩:");
    258         double old=si_list[i].getEnglishscore();
    259         double English=scanner.nextDouble();
    260         si_list[i].setEnglishscore(English);
    261         return old;
    262     }
    263     //修改网络成绩
    264     public static double updateNet(int i) {
    265         showUpdateIDandName(i);
    266         System.out.print("请输入修改后计算机网络成绩:");
    267         double old=si_list[i].getNetworkscore();
    268         double net=scanner.nextDouble();
    269         si_list[i].setNetworkscore(net);
    270         return old;
    271     }
    272     //修改数据库成绩
    273     public static double updateDatabase(int i) {
    274         showUpdateIDandName(i);
    275         System.out.print("请输入修改后数据库成绩:");
    276         double old=si_list[i].getDatabasescore();
    277         double database=scanner.nextDouble();
    278         si_list[i].setDatabasescore(database);
    279         return old;
    280     }
    281     //修改软工成绩
    282     public static double updateSoftware(int i) {
    283         showUpdateIDandName(i);
    284         System.out.print("请输入修改后软件工程成绩:");
    285         double old=si_list[i].getSoftwarescore();
    286         double software=scanner.nextDouble();
    287         si_list[i].setSoftwarescore(software);
    288         return old;
    289     }
    290 
    291     //修改成绩方法
    292     public static int updateScore(int i) {
    293         int flag;
    294         flag=scanner.nextInt();
    295         switch (flag) {
    296         case 1:
    297             oldscore=updateMath(i);
    298             break;
    299         case 2:
    300             oldscore=updateEnglish(i);
    301             break;
    302         case 3:
    303             oldscore=updateNet(i);
    304             break;
    305         case 4:
    306             oldscore=updateDatabase(i);
    307             break;
    308         case 5:
    309             oldscore=updateSoftware(i);
    310             break;
    311 
    312         default:
    313             System.out.println("该选项不存在!");
    314             break;
    315         }
    316         return flag;
    317     }
    318     
    319     //是否保存
    320     public static boolean isSaveUpdate(int i,int index) {
    321         System.out.println("该学生信息已修改完毕,是否提交?Y/N");
    322         String flag=scanner.next();
    323         if(flag.equals("N"))
    324         {
    325             switch (i) {
    326             case 1:
    327                 si_list[index].setMathematicsscore(oldscore);
    328                 break;
    329             case 2:
    330                 si_list[index].setEnglishscore(oldscore);
    331                 break;
    332             case 3:
    333                 si_list[index].setNetworkscore(oldscore);
    334                 break;
    335             case 4:
    336                 si_list[index].setDatabasescore(oldscore);
    337                 break;
    338             case 5:
    339                 si_list[index].setSoftwarescore(oldscore);
    340                 break;
    341 
    342             default:
    343                 break;
    344             }
    345             System.out.println("提交操作已取消!");
    346             return false;
    347         }
    348         showMainNav();
    349         return true;
    350     }
    351     
    352     //退出系统
    353     public static void exitProgram() {
    354         System.out.println("*****************************************************************");
    355         System.out.println("       感谢使用石家庄铁道大学软件工程系学生学籍管理系统2019版");
    356         System.out.println("                        制作人:赵世元");
    357         System.out.println("*****************************************************************");
    358         System.exit(-1);
    359     }
    360     
    361     //打印绩点计算界面
    362     public static void showCalPoint() {
    363         System.out.println("*******************************************************");
    364         System.out.println("      石家庄铁道大学软件工程系学生学籍管理系统2019版");
    365         System.out.println("                学生考试成绩绩点计算界面");
    366         System.out.println("*******************************************************");
    367     }
    368     
    369     public static double getPoint(double a) {
    370         if(a>=90)
    371             return 4.0;
    372         else if(a>=85&&a<89.9)
    373             return 3.7;
    374         else if(a>=82&&a<84.9)
    375             return 3.3;
    376         else if(a>=78&&a<81.9)
    377             return 3.0;
    378         else if(a>=75&&a<77.9)
    379             return 2.7;
    380         else if(a>=72&&a<74.9)
    381             return 2.3;
    382         else if(a>=68&&a<71.9)
    383             return 2.0;
    384         else if(a>=66&&a<67.9)
    385             return 1.5;
    386         else if(a>=60&&a<63.9)
    387             return 1.0;
    388         else
    389             return 0;
    390     }
    391     
    392     public static boolean showPoint(int i) {
    393         System.out.println("学生学号:"+si_list[i].getStunumber());
    394         System.out.println("学生姓名:"+si_list[i].getName());
    395         double math=getPoint(si_list[i].getMathematicsscore());
    396         double english=getPoint(si_list[i].getEnglishscore());
    397         double net=getPoint(si_list[i].getNetworkscore());
    398         double database=getPoint(si_list[i].getDatabasescore());
    399         double software=getPoint(si_list[i].getSoftwarescore());
    400         System.out.println("1、高等数学成绩绩点:"+math);
    401         System.out.println("2、大学英语成绩绩点:"+english);
    402         System.out.println("3、计算机网络成绩绩点:"+net);
    403         System.out.println("4、数据库成绩绩点:"+database);
    404         System.out.println("5、软件工程成绩绩点:"+software);
    405         double average=(math*4+english*3+net*4+database*3+software*2)/(4+3+4+3+2);
    406         String result = String.format("%.2f", average);  
    407         System.out.println("你的平均学分绩点为:"+result);
    408         if(average>=2)
    409             System.out.println("提示信息:你的学分绩点已达到毕业要求!");
    410         else
    411             System.out.println("提示信息:你的学分绩点不满足毕业要求!");
    412         System.out.println("是否返回系统主界面?Y/N");
    413         String flag=scanner.next();
    414         if(flag.equals("Y"))
    415             return true;
    416         return false;
    417     }
    418     
    419     public static void main(String[] args) throws InterruptedException {
    420         // TODO 自动生成的方法存根
    421         int flag;
    422         showMainNav();
    423         String id;
    424         
    425         for(;;)
    426         {
    427             flag=scanner.nextInt();
    428             switch (flag) {
    429             case 1:
    430                 showAddNav();
    431                 if(addScoreInformation())
    432                 {
    433                     addScoreInformation_second();
    434                     addScoreInformation_third();
    435                     addScoreInformation_forth();
    436                     addScoreInformation_fifth();
    437                     addScoreInformation_sixth();
    438                     addScoreInformation_seventh();
    439                     
    440                     while(isSaveAdd()==false)
    441                     {
    442                         showAddNav();
    443                         if(addScoreInformation())
    444                         {
    445                             addScoreInformation_second();
    446                             addScoreInformation_third();
    447                             addScoreInformation_forth();
    448                             addScoreInformation_fifth();
    449                             addScoreInformation_sixth();
    450                             addScoreInformation_seventh();
    451                         }
    452                     }
    453                 }
    454                 break;
    455             case 2:
    456                 showUpdateNav();
    457                 if((id=updateInputNum())!=null)
    458                 {
    459                     int index=getIndex(id);
    460                     showScore(index);
    461                     int f=updateScore(index);
    462                     while(isSaveUpdate(f, index)==false)
    463                     {
    464                         showUpdateNav();
    465                         if((id=updateInputNum())!=null)
    466                         {
    467                             index=getIndex(id);
    468                             showScore(index);
    469                             f=updateScore(index);
    470                         }
    471                     }
    472                 }
    473                 break;
    474             case 3:
    475                 showCalPoint();
    476                 if((id=updateInputNum())!=null)
    477                 {
    478                     int index=getIndex(id);
    479                     if(showPoint(index)==false)
    480                         Thread.sleep(60000);
    481 } 482 break; 483 case 4: 484 exitProgram(); 485 break; 486 default: 487 System.out.println("该选项不存在!"); 488 break; 489 } 490 showMainNav(); 491 } 492 } 493 }

    ScoreInformation类源码:

     1 package stu.information.com;
     2 
     3 public class ScoreInformation {
     4     private String stunumber;
     5     private String name;
     6     private double mathematicsscore;
     7     private double englishscore;
     8     private double networkscore;
     9     private double databasescore;
    10     private double softwarescore;
    11     public String getStunumber() {
    12         return stunumber;
    13     }
    14     public void setStunumber(String stunumber) {
    15         this.stunumber = stunumber;
    16     }
    17     public String getName() {
    18         return name;
    19     }
    20     public void setName(String name) {
    21         this.name = name;
    22     }
    23     public double getMathematicsscore() {
    24         return mathematicsscore;
    25     }
    26     public void setMathematicsscore(double mathematicsscore) {
    27         this.mathematicsscore = mathematicsscore;
    28     }
    29     public double getEnglishscore() {
    30         return englishscore;
    31     }
    32     public void setEnglishscore(double englishscore) {
    33         this.englishscore = englishscore;
    34     }
    35     public double getNetworkscore() {
    36         return networkscore;
    37     }
    38     public void setNetworkscore(double networkscore) {
    39         this.networkscore = networkscore;
    40     }
    41     public double getDatabasescore() {
    42         return databasescore;
    43     }
    44     public void setDatabasescore(double databasescore) {
    45         this.databasescore = databasescore;
    46     }
    47     public double getSoftwarescore() {
    48         return softwarescore;
    49     }
    50     public void setSoftwarescore(double softwarescore) {
    51         this.softwarescore = softwarescore;
    52     }
    53 }

    运行效果如下:

     

     

     

     

     

     

     

     

     

     

     

     

    转载于:https://www.cnblogs.com/zdm-code/p/11506623.html

    展开全文
  • 一、Java测试题 二、数据结构要求:(5 分) 1、定义 ScoreInformation 类,其中包括七个私有变量(stunumber,name, mathematicsscore, englishiscore,networkscore, databasescore,softwarescore)。 各成员...

    一、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 分。
    变量 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、退出学籍管理系统


    ②功能说明输入数字 1-4 执行相应的功能,输入其他数字提示错误信息(该选项不存在),并返回主界面。(0.5 分)
    2、成绩录入功能操作流程:(3 分)
    ①在主界面选择成绩录入功能后,进入成绩录入界面,如下图所示:(0.5分)


    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入


    请输入学生学号:XXXXXXXX


    提示用户输入八位的学号。
    ②用户输入学号后,显示用户学号和姓名,如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回成绩录入界面。(0.5 分)
    ③用户输入学号正确如下图所示:


    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入界面


    学生学号:20180001
    学生姓名:XXX
    请输入高等数学成绩:XXX


    提示用户输入高等数学成绩,用户输入正确的数字;则提示用户输入大学英语成绩,依次类推,提示用户录入计算机网络、数据库、软件工程成绩,当第 3 页 共 8 页用户录完所有成绩后,显示如下界面。(1.5 分)


    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入


    学生学号:20180001
    学生姓名:XXX
    高等数学成绩:XXX
    大学英语成绩:XXX
    计算机网络成绩:XXX
    数据库成绩:XXX
    软件工程成绩:XXX
    该学生成绩已录入完毕,是否提交(Y/N)


    选择“Y”将录入成绩保存到相应的数组中,并返回主界面。选择“N”,则忽略上述成绩录入,并返回成绩录入界面。(0.5 分)
    3、成绩修改功能操作流程:(2 分)
    ①在主界面选择成绩修改功能后,进入考试成绩修改界面,如下图所示:


    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩修改界面


    请输入学生学号:XXXXXXXX


    提示用户输入八位的学号。(0.5 分)
    ②用户输入学号后,显示用户学号、姓名和全部成绩信息,如下图所示。


    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入


    学生学号:20180001
    学生姓名:XXX
    1、高等数学成绩:XXX
    2、大学英语成绩:XXX
    3、计算机网络成绩:XXX
    4、数据库成绩:XXX
    5、软件工程成绩:XXX


    如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回成绩修改界面。(0.5 分)
    ③用户选择相应的数字键,切换到如下界面(假如选择数字“5”)。(0.5分)


    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入界面


    学生学号:20180001
    学生姓名:XXX
    请输入修改后软件工程成绩:XXX


    录入修改后的成绩,则进入下一步。


    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩录入


    学生学号:20180001
    学生姓名:XXX
    1、高等数学成绩:XXX
    2、大学英语成绩:XXX
    3、计算机网络成绩:XXX
    4、数据库成绩:XXX
    5、软件工程成绩:XXX
    该学生成绩已修改完毕,是否提交(Y/N)


    选择“Y”将修改后成绩保存到相应的数组中,并返回主界面。选择“N”,则忽略上述成绩录入,并返回成绩修改界面。(0.5 分)
    3、计算学生成绩绩点功能操作流程:(2 分)
    ①在主界面选择计算学生成绩绩点功能后,进入计算学生成绩绩点界面,如下图所示:


    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩绩点计算界面


    请输入学生学号:XXXXXXXX


    第 6 页 共 8 页提示用户输入八位的学号。
    ②用户输入学号后,显示用户学号、姓名、学分绩点、提示信息。如下图所示。(1.5 分)


    石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    学生考试成绩绩点计算界面


    学生学号:20180001
    学生姓名:XXX
    1、高等数学成绩绩点:XXX
    2、大学英语成绩绩点:XXX
    3、计算机网络成绩绩点:XXX
    4、数据库成绩绩点:XXX
    5、软件工程成绩绩点:XXX
    你的平均学分绩点为:XXX
    提示信息:XXX XXX XXX XXX XXX XXX XXX
    是否返回系统主界面:(Y/N)


    如果学分绩点大于等于 2,提示信息显示“你的学分绩点已达到毕业要求!”;
    如果学分绩点小于 2,提示信息显示“你的学分绩点不满足毕业要求!”
    学分绩点计算方法:
    (1) 百分制对应绩点
    分数 ≥90 85~89.9 82~84.9 78~81.9 75~77.9 72~74.9 68~71.9 66~67.9 64~65.9 60~63.9 <60
    绩点 4.0 3.7 3.3 3.0 2.7 2.3 2.0 1.7 1.5 1.0 0
    (2)平均学分计算方法
    平均学分绩点=∑ ( 课程绩点× 该课程学分) /∑ 课程学分
    计算平均学分绩点按四舍五入原则, 小数点后保留两位有效数字。
    ③选择“Y”返回系统主界面。选择“N”,无操作。(0.5 分)
    4、用户选择数字“4”,显示如下界面,退出当前程序。(1 分)


    谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版
    制作人:考生姓名


    以下为实现部分:

    public class ScoreInformation {
        private String stunumber;
        private String name;
        private double mathematicsscore;
        private double englishiscore;
        private double networkscore;
        private double databasescore;
        private double softwarescore;
        //定义 get()(读取变量信息)和 set()(设置变量信息)的方法
        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 mathematicsscore) {
            this.mathematicsscore=mathematicsscore;
        }
        public double getMathematicsscore() {
            return mathematicsscore;
        }
        public void setEnglishiscore(double englishiscore) {
            this.englishiscore=englishiscore;
        }
        public double getEnglishiscore() {
            return englishiscore;
        }
        public void setNetworkscore(double networkscore) {
            this.networkscore=networkscore;
        }
        public double getNetworkscore() {
            return networkscore;
        }
        public void setDatabasescore(double databasescore) {
            this.databasescore=databasescore;
        }
        public double getDatabasescore() {
            return databasescore;
        }
        public void setSoftwarescore(double softwarescore) {
            this.softwarescore=softwarescore;
        }
        public double getSoftwarescore() {
            return softwarescore;
        }
        public ScoreInformation(String stunumber,String name,double mathematicsscore,double englishiscore,double networkscore,double databasescore,double softwarescore) {
            this.stunumber=stunumber;
            this.name=name;
            this.mathematicsscore=mathematicsscore;
            this.englishiscore=englishiscore;
            this.networkscore=networkscore;
            this.databasescore=databasescore;
            this.softwarescore=softwarescore;
        }
    //    public static void main(String[] args) {
    //        ScoreInformation text=new ScoreInformation("20183566","董奥",1,2,3,4,5);
    //        System.out.println(text.getDatabasescore());
    //        System.out.println(text.getEnglishiscore());
    //        System.out.println(text.getMathematicsscore());
    //        System.out.println(text.getStunumber());
    //    }
    }
    
    import java.util.Scanner;
    public class ScoreManagement {
        static ScoreInformation Score1=new ScoreInformation("20180001","姓名1",0,0,0,0,0);
        static ScoreInformation Score2=new ScoreInformation("20180002","姓名2",0,0,0,0,0);
        static ScoreInformation Score3=new ScoreInformation("20180003","姓名3",0,0,0,0,0);
        static ScoreInformation Score4=new ScoreInformation("20180004","姓名4",0,0,0,0,0);
        static ScoreInformation Score5=new ScoreInformation("20180005","姓名5",0,0,0,0,0);
        static Scanner in=new Scanner(System.in);
        public static void menu(){
            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.print("请输入:");
        }
        public static void totalMenu() {//总菜单
            int anss=0;
            while(anss!=4) {
                menu();
                anss=in.nextInt();
                if(anss==1) addScore();
                else if(anss==2) modifyScore();
                else if(anss==3) caculateScore();
                else if(anss==4);
                else 
                    System.out.println("该选项不存在");
            }
            System.out.println("退出成功");
            System.out.println("***********************************************************\r\n" + 
                    "谢谢使用石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" +
                    "***********************************************************");
        }
        public static void addMenu() {
            System.out.println("***********************************************************");
            System.out.println("              石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
            System.out.println("                                    学生考试成绩录入");
            System.out.println("***********************************************************");
            System.out.print("                                    请输入学生学号:");
        }
        public static void addInterface(ScoreInformation h) {//录入成绩界面
            System.out.println("***********************************************************");
            System.out.println("                  石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
            System.out.println("                                          学生考试成绩录入界面");
            System.out.println("***********************************************************");
            System.out.println("学生学号:"+h.getStunumber());
            System.out.println("学生姓名:"+h.getName());
            System.out.println("请输入高等数学成绩:");
            double ans1=in.nextDouble();
            System.out.println("请输入大学英语成绩:");
            double ans2=in.nextDouble();
            System.out.println("请输入计算机网络成绩:");
            double ans3=in.nextDouble();
            System.out.println("请输入数据库成绩:");        
            double ans4=in.nextDouble();
            System.out.println("请输入软件工程成绩:");
            double ans5=in.nextDouble();    
            System.out.println("***********************************************************");
            System.out.println("                  石家庄铁道大学软件工程系学生学籍管理系统 2019 版");
            System.out.println("                                          学生考试成绩录入界面");
            System.out.println("***********************************************************");
            System.out.println("学生学号:"+h.getStunumber());
            System.out.println("学生姓名:"+h.getName());
            System.out.println("高等数学成绩:"+ans1);
            System.out.println("大学英语成绩:"+ans2);
            System.out.println("计算机网络成绩:"+ans3);
            System.out.println("数据库成绩:"+ans4);
            System.out.println("软件工程成绩:"+ans5);
            System.out.print("该学生成绩已录入完毕,是否提交(Y/N)");
            String a=in.next();
            char s=a.charAt(0);
            if(s=='Y'||s=='y') {
                h.setMathematicsscore(ans1);        
                h.setEnglishiscore(ans2);    
                h.setNetworkscore(ans3);
                h.setDatabasescore(ans4);
                h.setSoftwarescore(ans5);
            }
            else
                addScore();
        }
        public static void addScore() {//录入成绩
            boolean flag=true;
            while(flag) {
                addMenu();
                String ans=in.next();//将输入的学号存入ans中
                if(ans.equals(Score1.getStunumber())) {//检查ans与那个Score相等
                    addInterface(Score1);
                    flag=false;
                }
                else if(ans.equals(Score2.getStunumber())) {
                    addInterface(Score2);
                    flag=false;
                }
                else if(ans.equals(Score3.getStunumber())) {
                    addInterface(Score3);
                    flag=false;
                }
                else if(ans.equals(Score4.getStunumber())) {
                    addInterface(Score4);
                    flag=false;
                }
                else if(ans.equals(Score5.getStunumber())) {
                    addInterface(Score5);
                    flag=false;
                }
                else 
                    System.out.println("该学号不存在1");
            }
        }
        public static void modifyMenu() {
            System.out.print("***********************************************************\r\n" + 
                    "                        石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                    "                                              学生考试成绩修改界面\r\n" + 
                    "***********************************************************\r\n" + 
                    "请输入学生学号:");        
        }
        public static void modifyInterface(ScoreInformation h) {
            System.out.print("***********************************************************\r\n" + 
                    "                        石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                    "                                             学生考试成绩录入\r\n" + 
                    "***********************************************************\r\n" + 
                    "学生学号:"+h.getStunumber()+"\r\n" + 
                    "学生姓名:"+h.getName()+"\r\n" + 
                    "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" + 
                    "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" + 
                    "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" + 
                    "4、数据库成绩:"+h.getDatabasescore()+"\r\n" + 
                    "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" + 
                    "**********************************************************");
            System.out.println("请选择修改内容:");
            int ans=in.nextInt();//记录序号
            double cmp;//记录接下来输入的成绩
            String s;
            char a;
            switch(ans) {
            case 1:
                System.out.print("***********************************************************\r\n" + 
                        "                         石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "                                              学生考试成绩录入界面\r\n" + 
                        "***********************************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "请输入修改后高等数学成绩:");
                cmp=in.nextDouble();
                System.out.println("***********************************************************\r\n" + 
                        "                         石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "                                              学生考试成绩录入\r\n" + 
                        "***********************************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "1、高等数学成绩:"+cmp+"\r\n" + 
                        "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" + 
                        "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" + 
                        "4、数据库成绩:"+h.getDatabasescore()+"\r\n" + 
                        "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" + 
                        "该学生成绩已修改完毕,是否提交(Y/N)\r\n" + 
                        "**********************************************************");
                s=in.next();
                a=s.charAt(0);
                if(a=='Y'||a=='y') h.setMathematicsscore(cmp);
                break;
            case 2:
                System.out.print("***********************************************************\r\n" + 
                        "                           石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "                                              学生考试成绩录入界面\r\n" + 
                        "*************1**********************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "请输入修改后大学英语成绩:");
                cmp=in.nextDouble();
                System.out.println("***********************************************************\r\n" + 
                        "                           石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "                                              学生考试成绩录入\r\n" + 
                        "***********************************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" + 
                        "2、大学英语成绩:"+cmp+"\r\n" + 
                        "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" + 
                        "4、数据库成绩:"+h.getDatabasescore()+"\r\n" + 
                        "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" + 
                        "该学生成绩已修改完毕,是否提交(Y/N)\r\n" + 
                        "**********************************************************");
                s=in.next();
                a=s.charAt(0);
                if(a=='Y'||a=='y') h.setEnglishiscore(cmp);
                break;
            case 3:
                System.out.print("***********************************************************\r\n" + 
                        "                          石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "                                              学生考试成绩录入界面\r\n" + 
                        "***********************************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "请输入修改后计算机网络成绩:");
                cmp=in.nextDouble();
                System.out.println("***********************************************************\r\n" + 
                        "                          石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "                                              学生考试成绩录入\r\n" + 
                        "***********************************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" + 
                        "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" + 
                        "3、计算机网络成绩:"+cmp+"\r\n" + 
                        "4、数据库成绩:"+h.getDatabasescore()+"\r\n" + 
                        "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" + 
                        "该学生成绩已修改完毕,是否提交(Y/N)\r\n" + 
                        "**********************************************************");
                s=in.next();
                a=s.charAt(0);
                if(a=='Y'||a=='y') h.setNetworkscore(cmp);
                break;
            case 4:
                System.out.print("***********************************************************\r\n" + 
                        "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "学生考试成绩录入界面\r\n" + 
                        "***********************************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "请输入修改后数据库成绩:");
                cmp=in.nextDouble();
                System.out.println("***********************************************************\r\n" + 
                        "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "学生考试成绩录入\r\n" + 
                        "***********************************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" + 
                        "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" + 
                        "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" + 
                        "4、数据库成绩:"+cmp+"\r\n" + 
                        "5、软件工程成绩:"+h.getSoftwarescore()+"\r\n" + 
                        "该学生成绩已修改完毕,是否提交(Y/N)\r\n" + 
                        "**********************************************************");
                s=in.next();
                a=s.charAt(0);
                if(a=='Y'||a=='y') h.setDatabasescore(cmp);
                break;
            case 5:
                System.out.print("***********************************************************\r\n" + 
                        "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "学生考试成绩录入界面\r\n" + 
                        "***********************************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "请输入修改后软件工程成绩:");
                cmp=in.nextDouble();
                System.out.println("***********************************************************\r\n" + 
                        "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                        "学生考试成绩录入\r\n" + 
                        "***********************************************************\r\n" + 
                        "学生学号:"+h.getStunumber()+"\r\n" + 
                        "学生姓名:"+h.getName()+"\r\n" + 
                        "1、高等数学成绩:"+h.getMathematicsscore()+"\r\n" + 
                        "2、大学英语成绩:"+h.getEnglishiscore()+"\r\n" + 
                        "3、计算机网络成绩:"+h.getNetworkscore()+"\r\n" + 
                        "4、数据库成绩:"+h.getDatabasescore()+"\r\n" + 
                        "5、软件工程成绩:"+cmp+"\r\n" + 
                        "该学生成绩已修改完毕,是否提交(Y/N)\r\n" + 
                        "**********************************************************");
                s=in.next();
                a=s.charAt(0);
                if(a=='Y'||a=='y') h.setSoftwarescore(cmp);
                break;
            default:
                System.out.println("输入序号错误");
            }
        }
        public static void modifyScore() {//修改成绩
            boolean flag=true;
            while(flag) {
                modifyMenu();
                String ans=in.next();//将输入的学号存入ans中
                if(ans.equals(Score1.getStunumber())) {
                    modifyInterface(Score1);
                    flag=false;
                }
                else if(ans.equals(Score2.getStunumber())) {
                    modifyInterface(Score2);
                    flag=false;
                }
                else if(ans.equals(Score3.getStunumber())) {
                    modifyInterface(Score3);
                    flag=false;
                }
                else if(ans.equals(Score4.getStunumber())) {
                    modifyInterface(Score4);
                    flag=false;
                }
                else if(ans.equals(Score5.getStunumber())) {
                    modifyInterface(Score5);
                    flag=false;
                }
                else 
                    System.out.println("该学号不存在2");
            }
        }
        public static void caculateMenu() {
            System.out.println("***********************************************************\r\n" + 
                    "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                    "学生考试成绩绩点计算界面\r\n" + 
                    "***********************************************************\r\n" + 
                    "请输入学生学号:");
        }
        public static void caculateInterface(ScoreInformation h) {
            double [] s=new double[5];//分别存储1--5五门学科成绩
            s[0]=h.getMathematicsscore();
            s[1]=h.getEnglishiscore();
            s[2]=h.getNetworkscore();
            s[3]=h.getDatabasescore();
            s[4]=h.getSoftwarescore();
            double[] result=new double[5];//分别存储1-5学科的绩点
            double [] credit= {4,3,4,3,2};//存储各科学分
            double sum=0;
            for (int i = 0; i < s.length; i++) {
                if(s[i]>=90) result[i]=4.0;
                else if(s[i]>=85&&s[i]<90) result[i]=3.7;
                else if(s[i]>=82&&s[i]<85) result[i]=3.3;
                else if(s[i]>=78&&s[i]<82) result[i]=3.0;
                else if(s[i]>=75&&s[i]<78) result[i]=2.7;
                else if(s[i]>=72&&s[i]<75) result[i]=2.3;
                else if(s[i]>=68&&s[i]<72) result[i]=2.0;
                else if(s[i]>=66&&s[i]<68) result[i]=1.7;
                else if(s[i]>=64&&s[i]<66) result[i]=1.5;
                else if(s[i]>=60&&s[i]<64) result[i]=1.0;
                else  result[i]=0;
                sum+=result[i]*credit[i];
            }
            sum/=5;
            boolean flag=true;
            if(sum<2)
                flag=false;
                System.out.print("***********************************************************\r\n" + 
                    "石家庄铁道大学软件工程系学生学籍管理系统 2019 版\r\n" + 
                    "学生考试成绩绩点计算界面\r\n" + 
                    "***********************************************************\r\n" + 
                    "学生学号:"+h.getStunumber()+"\r\n" + 
                    "学生姓名:"+h.getName()+"\r\n" + 
                    "1、高等数学成绩绩点:"+result[0]+"\r\n" + 
                    "2、大学英语成绩绩点:"+result[1]+"\r\n" + 
                    "3、计算机网络成绩绩点:"+result[2]+"\r\n" + 
                    "4、数据库成绩绩点:"+result[3]+"\r\n" + 
                    "5、软件工程成绩绩点:"+result[4]+"\r\n" + 
                    "你的平均学分绩点为:");
                System.out.println(String.format("%.2f", sum));    //计算结果保留小数点后两位
            if(flag)
                    System.out.println("提示信息:你的学分绩点已达到毕业要求!");
            else
                System.out.println("你的学分绩点不满足毕业要求!");
    
                    System.out.println("是否返回系统主界面:(Y/N)");
                    String a;
                    char c='2';
                    while(c!='Y'&&c!='y') {
                        a=in.next();
                        c=a.charAt(0);
                    }
        }
        public static void caculateScore() {//计算学分绩点
            boolean flag=true;
            while(flag) {
                caculateMenu();
                String ans=in.next();//将输入的学号存入ans中
                if(ans.equals(Score1.getStunumber())) {
                    caculateInterface(Score1);
                    flag=false;
                }
                else if(ans.equals(Score2.getStunumber())) {
                    caculateInterface(Score2);
                    flag=false;
                }
                else if(ans.equals(Score3.getStunumber())) {
                    caculateInterface(Score3);
                    flag=false;
                }
                else if(ans.equals(Score4.getStunumber())) {
                    caculateInterface(Score4);
                    flag=false;
                }
                else if(ans.equals(Score5.getStunumber())) {
                    caculateInterface(Score5);
                    flag=false;
                }
                else 
                    System.out.println("该学号不存在3");
            }
        }
        public static void main(String[] args) {
            totalMenu();
        }
    }
    
    展开全文
  • 暂是权限功能都还没有做,软件正在紧张开发之中,如有不便之便敬请谅解,请大家多提意见!在左边树形功能区中如有点击后发生错误,就代表此功能还未开发!!!!!请测试其它已开发完毕的功以有,权限功能的接口都已要留好,只...
    暂是权限功能都还没有做,软件正在紧张开发之中,如有不便之便敬请谅解,请大家多提点意见!
    在左边树形功能区中如有点击后发生错误,就代表此功能还未开发!!!!!请测试其它已开发完毕的功以有,
    权限功能的接口都已要留好,只需等全部重写完成以后就可以写这一部分的功能了
    现已开发完成的功能有:
    由于本软件的测试网站服务器放在国外(美国),所以运行起来会感觉到很慢,希望大家谅解!!!!

    2007-05-20:修正成绩录入中的错误,
    2007-05-19:上传功能:考试管理里面:考试设置,成绩录入
                          课程管理里面:教师任课报表
    2007-05-16:上传功能:课程管理里面的:班主任设置,都师任课设置

    2007-05-15:上传了学生信息管理里面的:学生信息查询已完成
    请大家多提意见

    已完成功能列表:

    政工管理
    点击本列下的链接可以直接进入测试
    主页:http://kxw999-1.at.vwdhosting.net/

    教师管理

    招生代理人
    教务管理


    学生信息管理 毕业学校设定,入学类型设定,学生信息录入,班号整理;检测学生;学生信息查询;

    课程班级管理 专业设置,课程设置,班级设置,班主任设置,教师任课查询 ,教师任课分配,

    考试管理 考试名称设置,成绩录入

    异动管理
    系统管理


    参数设置 年度设置,学年设置,民族设置,政治面貌,户口设置,学历设置,籍贯设置

    权限管理 用户资料,用户分组,组权限设定,组资料
    帮助


    其它功能列表正在紧张开发过程中,以在此功能基之上还会增加其它的一些功能,如:学生证件管理,学生就业管理,学生奖惩管理,教师出勤考核管理,等其它一些功能,敬请期待
    已完成功能模块:
    学生管理
    参数设置
    权限管理
    其它功能模块正在紧张开发之中
    备注:里面所有的数据都有出入,因为涉及到个人隐私,所有数据均不为真实,将会看到在姓名和助记码不配的情形,是因为做了相应的处理,大家需要在姓名那里点一下,再退出,就可以看到更正后的助记码
    展开全文
  • 前言:今天要掌握两个知识。之前我们了解过spring的测试类,今天来了解springMVC的测试类。当我们在百度搜索时它只会出现几条数据,如果还想查看就要点击下一页。这就是分页效果。 分页:  1、物理分页:查询出...

    前言:今天要掌握两个知识点。之前我们了解过spring的测试类,今天来了解springMVC的测试类。当我们在百度搜索时它只会出现几条数据,如果还想查看就要点击下一页。这就是分页效果。

    分页:

       1、物理分页:查询出所有的数据,每页显示N条数据

       2、逻辑分页:每次查询N条数据,显示N条数据

    从上面来看,逻辑分页效率跟高所以我们使用逻辑分页

    还是用上次的顺序来:controller---->Service--------->dao

    上面的流程不了解的点击链接:https://mp.csdn.net/postedit/85252423

    一、controller

    package com.controller;
    import java.util.List;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import com.bean.Sbadbehavior;
    import com.bean.Sbasicmessage;
    import com.github.pagehelper.PageHelper;
    import com.github.pagehelper.PageInfo;
    import com.servlet.BasicService;
    @Controller
    public class BasicMsgController {
    	@Autowired
    	BasicService basicService;
    	/**
    	 * 学生基本信息
    	 *
    	@RequestMapping("allSta")//如果没有传值defaultValue默认的值
    	public String getAllStaInfo(@RequestParam(value="pn",defaultValue="1")Integer pn,Model model){
    		PageHelper.startPage(pn, 10);//使用myBatis分页查询。第一个值:相当于当前页,
    		List<Sbasicmessage> bas= basicService.getallStu();
    		PageInfo page=new PageInfo(bas,3);//使用pageinfo封装查询结果
    		model.addAttribute("pageInfo", page);
    		return "show";
    	}
    }
    

    注意:Ctrl+shift+T:输入pageInFo(查看pageHelper的源代码,里面有很多属性都有中文可以了解一下)

    二、Service

    package com.servlet;
    
    import java.util.List;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import com.bean.Sbadbehavior;
    import com.bean.Sbasicmessage;
    import com.dao.SbadbehaviorMapper;
    import com.dao.SbasicmessageMapper;
    @Service
    public class BasicService {
    	@Autowired
    	SbasicmessageMapper sbasicmessageMapper;//接口
    
    	public List<Sbasicmessage> getallStu() {
            //用接口调用select方法,应映射文件中标签的id与select方法同名,所以才可以查询到数据库。将查询的数据给list集合名字list
    		List<Sbasicmessage> list= sbasicmessageMapper.selectByExample(null);
    		return list;
    	}
    }
    

    三、TestMVC(后台逻辑已经写好了,要写一个测试类模拟发送请求)

    package com.test;
    
    import java.util.List;
    
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.mock.web.MockHttpServletRequest;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    import org.springframework.test.context.web.WebAppConfiguration;
    import org.springframework.test.web.servlet.MockMvc;
    import org.springframework.test.web.servlet.MvcResult;
    import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
    import org.springframework.test.web.servlet.setup.MockMvcBuilders;
    import org.springframework.web.context.WebApplicationContext;
    
    import com.bean.Sbadbehavior;
    import com.github.pagehelper.PageInfo;
    
    @RunWith(SpringJUnit4ClassRunner.class)
    @WebAppConfiguration//通过容器,容器工厂申请这次测试通过
    @ContextConfiguration(locations = { "classpath:spring.xml",
    		"file:src/main/webapp/WEB-INF/springMVC-servlet.xml" })
    public class TestMVC {
    	//自动注入一个容器
    	@Autowired
    	WebApplicationContext context;
    	// 虚拟的mvc请求
    	MockMvc mockmvc;
    
    	/**
    	 * 初始化mockmvc
    	 */
    	@Before//在---之前
    	public void initMockMvc() {
    		mockmvc = MockMvcBuilders.webAppContextSetup(context).build();
    	}
    
    	/**
    	 * 测试分页方法
    	 * 
    	 * @throws Exception
    	 */
    	@Test//测试,所有的测试类都有
    	public void testpage() throws Exception {
    		//模拟请求,并拿到返回值
    		MvcResult result = mockmvc.perform(MockMvcRequestBuilders.get("/allSta").param("pn", "1"))
    				.andReturn();//返回测试结果
    		//用MvcResult对象调用getRequest方法,得到MockHTTPServletRequest对象
    		MockHttpServletRequest  request = result.getRequest();
    		//用MockHTTPServletRequest对象调用getAttribute方法,得到PageInfo对象,就可以通过对象获取总计入数等等
    		PageInfo info = (PageInfo) request.getAttribute("pageInfo");
    		System.out.println(""+info.getPages());
    		System.out.println("一共有"+info.getTotal()+"条数据");
    		//获取所有学生
    		List<Sbadbehavior> studentlist = info.getList();
    		for(Sbadbehavior b:studentlist){
    			System.out.println(b.getSbId());
    		}
    	}
    }
    

    四、show.jsp(实现分页效果)

    上面是用的样式是使用的bootstrap,使用bootstrap的方法点击:https://mp.csdn.net/postedit/85125032

    这就是主要的代码

    <c:forEach items="${pageInfo.list}" var="stu">
                                <tr>
                                    <td>${stu.sBid}</td>
                                    <td>${stu.sName}</td>
                                    <td>${stu.sSex==1?'男':'女'}</td>
                                    <td>${stu.sAddr}</td>
                                    <td>${stu.sPhone}</td>
                                </tr>
                            
          </c:forEach>

    <%@ page language="java" contentType="text/html; charset=UTF-8"
    	pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <%
    	pageContext.setAttribute("APP_PATH", request.getContextPath());
    %>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link
    	href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
    	rel="stylesheet">
    <title>学生信息展示页</title>
    </head>
    <body>
    	<div class="container-fluid">
    		<div class="row">
    			<!-- 第一层布局, -->
    			
    			<nav class="navbar navbar-default navbar-static-top">
    			<div class="container">
    			<div class="col-md-4 col-md-offset-4">
    				<ul class="nav nav-pills">
    					
    						<li role="presentation" class="active"><a href="#">学生基本信息</a></li>
    				
    						<li role="presentation"><a href="#">缺勤</a></li>
    					
    						<li role="presentation"><a href="#">犯忌</a></li>
    				
    				</ul>
    					</div>
    			</div>
    			</nav>
    		
    
    
    		</div>
    		<div class="row">
    			<!-- 第二层布局, -->
    			<div class="col-md-2 col-md-offset-6">
    				<form class="form-inline">
    					<div class="form-group">
    						<input type="text" class="form-control" id="exampleInputName2"
    							placeholder="Jane Doe">
    					</div>
    				</form>
    			</div>
    			<div class="col-md-3 col-md-offset-1">
    				<button type="button" class="btn btn-primary">
    					<span class="glyphicon glyphicon-zoom-in"></span> 新增
    				</button>
    				<button type="button" class="btn btn-danger">
    					<span class="glyphicon glyphicon-zoom-out"></span> 删除
    				</button>
    			</div>
    		</div>
    
    		<div class="row">
    			<!-- 第三层布局, -->
    			<div class="col-md-6 col-md-offset-3">
    				<table class="table">
    					<thead>
    						<tr>
    							<td>学号</td>
    							<td>姓名</td>
    							<td>性别</td>
    							<td>家庭住址</td>
    							<td>电话号码</td>
    						</tr>
    					</thead>
    					<tbody>
    						<c:forEach items="${pageInfo.list}" var="stu">
    							<tr>
    								<td>${stu.sBid}</td>
    								<td>${stu.sName}</td>
    								<td>${stu.sSex==1?'男':'女'}</td>
    								<td>${stu.sAddr}</td>
    								<td>${stu.sPhone}</td>
    							</tr>
    						
    						</c:forEach>
    					</tbody>
    				</table>
    
    			</div>
    		</div>
    		<div class="row">
    			<!-- 第四层布局, -->
    			<div class="col-md-2">
    
    				总${pageInfo.pages}页,当前第${pageInfo.pageNum}页</div>
    
    		</div>
    		<div class="row">
    			<!-- 第五层布局, -->
    			<div class="col-md-4 col-md-offset-4">
    				<nav aria-label="Page navigation">
    				<ul class="pagination">
    					<li><a href="#" aria-label="Previous"> <span
    							aria-hidden="true">&laquo;</span>
    					</a></li>
    
    					<li><a href="#">1</a></li>
    					<li><a href="#">2</a></li>
    					<li><a href="#">3</a></li>
    					<li><a href="#">4</a></li>
    					<li><a href="#">5</a></li>
    					<li><a href="#" aria-label="Next"> <span
    							aria-hidden="true">&raquo;</span>
    					</a></li>
    				</ul>
    				</nav>
    			</div>
    
    		</div>
    	</div>
    	<script
    		src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    	<script
    		src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
    
    </body>
    </html>

     

     

    展开全文
  • 学生学生信息管理系统逻辑分析

    热门讨论 2019-08-17 20:45:38
    学生管理系统主要就包含 需求分析 总体设计 实现阶段 测试阶段 接下来主要讲讲学生的总体设计 1.学生管理系统需要实现的功能,这归于需求分析就不具体了解了。 2.进行系统功能模块设计 总共五个模块,这就是我...
  • 功能上需要提供管理员、学生、教师三类用户的录入、查询界面,课程可以有多次作业或测试,作业或测试的数量不能由系统预先指定,而应由教师本人指定自己所负责课程的作业及测试的数量,系统应支持等级评定,允许对...
  • 文章目录五、涉及知识1、Java基本语法2、Java流程控制3、Java面向对象编程4、Java集合框架5、MySQL数据库操作6、Java数据库编程7、MVC模式分层架构8、单元测试 五、涉及知识 1、Java基本语法 数据类型、常量、...
  • 中利用选择与循环函数的定义和调用数组指针结构体以 及它们的混合使用来实现系统的可用性学生通过学习与学生成绩 管理系统从而提升设计开发管理测试能力更直接的接触成形的 系统代码将所学知识综合地运用到实际...
  • 学生信息管理系统

    热门讨论 2016-11-28 16:46:14
    先说说敲学生的感受吧,第一比白利还又红皮书的代码都多而且还非常容易敲错代码和看串行,而且一串行就是一大片现在马上就让师傅验收了 让师傅验收之前先让自己同期的一点看看那还又什么错误 就怎一点,本来很...
  • 学生信息管理系统2222

    2016-09-23 18:08:15
    #设计目的 ...#涉及知识 1、包括SQLite的增删查找等功能。 2、RecyclerView展示 3、SharedPreference保存密码,以及判别是否是第一次安装APP。(如果是第一次就录入测试数据) 4、简单的Menu操作
  • 学生信息管理系统进行需求评审 1、分析需求规格说明书,列出测试需求: 1)功能需求(包括功能模块、功能、约束条件、业务流程等) 对需求规格说明书需要进行测试的功能需求包括: A、约束条件,主键是否...
  • Android应用开发-学生信息管理系统

    万次阅读 多人点赞 2016-09-23 18:13:59
    涉及知识 1、包括SQLite的增删查找等功能。查找中加入了“模糊搜索”的功能。 2、RecyclerView展示 3、SharedPreference保存密码,以及判别是否是第一次安装APP。(如果是第一次就录入测试数据) 4、简单的...
  • 3)管理,管理分为课程管理和学生管理,两者都根据不同的课程进行管理,管理界面显示教师名下的课程,点击某一课程,学生管理显示选择该课程的学生,点击某一学生,显示该学生的签到情况、讨论情况以及测评情况。...
  • 测试工资那事儿

    2016-03-28 20:16:00
    刚毕业的大学生,如果在中小公司或者外企做测试,薪资绝大多数集中在3k-6k,一般公司越好给的越高。不过有些外包公司,直接给应届生8k!即使起薪很高,还是不推荐大家去外包公司,因为管理学大师彼得·德鲁克(Peter ...
  • 结构体管理、存储学生信息

    千次阅读 2020-04-24 18:23:02
    Happiness and luck are at a price,...使用结构体储存学生信息(包括学号,姓名,3门课程成绩,总分),要求实现对学生信息修改和删除操作,最多50名学生。 注意考察:结构体,函数,指针 测试输入: 10 3 1 Siyu...
  • 学生管理系统: 通过利用xml文件的存储功能来存储学生信息。再用dom4j解析器来对xml文件进行操作,也会用到一点xpath的东西。 二:实现步骤 1.Dom4j工具类 用来简化对xml的操作: import java.io.FileOutputStream; ...
  • 学生档案管理系统asp+sql

    热门讨论 2010-01-26 16:27:07
    《数动学生档案管理系统》 1.引言 自学电脑已经三年了,总希望能派上用处,前段时间看见学校用Excel管理学生档案于是想在网上下载一个档案管理软件,却发现是付费软件,后来咨询档案管理的老师才知道免费的软件功能...
  • 目录 第1章 项目内容和设计要求 3 1.1 项目描述 3 1.2 设计要求 3 第2章 实训项目设计方案 4 2.1 问题分析 4 2.2 概要设计 4 2.3 详细设计 5 第3章 系统实现 12 3.1 涉及知识 12 ...设计并实现一个学生信息管理...
  • 实训目的:综合运用J2SE有关知识开发【学生信息管理系统】。主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。通过本项目的开发,让学生了解系统开发的一般流程,...
  • 不少创业公司的产品经理需要兼顾项目经理的工作,并且全职测试角色...首先,我组织项目组成员总结原有项目管理过程中存在的问题,主要有两:项目进度不可见,产品经理对项目失去掌控,开发每日进度不可见,老板也...
  • 重点介绍了学生成绩管理系统的实现过程:包括系统分析、 系统调查、 数据库设计、功能设计、系统物理配置方案、 系统实现、系统测试以及系统功能简介。 关键词:JSP,J2EE,学生成绩维护系统,MySQL,Hibernate,...
  • 上次做到了测试StudentDaoImpl数据访问接口实现类,虽然遇到了很多问题,但是在老师的帮助下,还是解决了,但其实感觉自己并没有学会自己写代码。能力不够,还有不够细心,有一些特殊的地方,只要打错一个代码就有...
  • 学生管理页面:登录、注册等功能 源码地址: https://github.com/zninger0823/studentweb 先上效果图: 1.导航页 2.首页 3.注册页面 4-0.学生页面 5-0管理员页面 简介: 学生用户管理系统:学生...
  • 随着学生人数的增加,对于学生的实习信息管理也越来越复杂,要求也越来越高,因此需要一个全面、详细的学生实习信息管理系统,以便完成对学生实习信息的管理学生实习信息管理系统,可以用集中的数据库将与人力...
  • 复习简单的数据库增,删,改,查。 本地数据库好像只剩剩下Mongodb,那就用这个吧。 简易表结构:student(库)--student(表), ...测试了下,能完成本次的需求,nice,下次复习对你好,给你加个界面。 ...
  • Java实训项目:GUI学生信息管理系统(2019)【中】

    千次阅读 多人点赞 2019-06-19 10:06:26
    Java实训项目:GUI学生信息管理系统(2019)【中】 本篇目录 四、涉及知识 1、Java基本语法 2、Java流程控制 3、Java数据库编程 4、Java面向对象编程 5、Java核心API 6、MySQL数据库操作 7、MVC模式分层...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 304
精华内容 121
关键字:

学生管理测试点