精华内容
下载资源
问答
  • java简单学生成绩管理系统

    千次阅读 2021-02-01 05:54:52
    题目要求:一、 数据结构要求:(5 分)1、定义 ScoreInformation 类,其中包括七个私有变量(stunumber,name, ...各成员的含义如下:变量 stunumber 为字符串类型 String,用于存储学生的学号(有 8 位数字组...

    题目要求:

    一、 数据结构要求:(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 版

    学生考试成绩录入界面

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

    学生学号:20183557

    学生姓名:xxx

    请输入高等数学成绩:XXX

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

    提示用户输入高等数学成绩,用户输入正确的数字;则提示用户输入大学

    英语成绩,依次类推,提示用户录入计算机网络、数据库、软件工程成绩,当

    用户录完所有成绩后,显示如下界面。(1.5 分)

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

    石家庄铁道大学软件工程系学生学籍管理系统 2019 版

    学生考试成绩录入

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

    学生学号:20183557

    学生姓名:xxx

    高等数学成绩:XXX

    大学英语成绩:XXX

    计算机网络成绩:XXX

    数据库成绩:XXX

    软件工程成绩:XXX

    该学生成绩已录入完毕,是否提交(Y/N)

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

    选择“Y”将录入成绩保存到相应的数组中,并返回主界面。选择“N”,

    则忽略上述成绩录入,并返回成绩录入界面。(0.5 分)

    3、成绩修改功能操作流程:(2 分)

    ①在主界面选择成绩修改功能后,进入考试成绩修改界面,如下图所示:

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

    石家庄铁道大学软件工程系学生学籍管理系统 2019 版

    学生考试成绩修改界面

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

    请输入学生学号:XXXXXXXX

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

    提示用户输入八位的学号。(0.5 分)

    ②用户输入学号后,显示用户学号、姓名和全部成绩信息,如下图所示。

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

    石家庄铁道大学软件工程系学生学籍管理系统 2019 版

    学生考试成绩录入

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

    学生学号:20183557

    学生姓名:xxx

    1、高等数学成绩:XXX

    2、大学英语成绩:XXX

    3、计算机网络成绩:XXX

    4、数据库成绩:XXX

    5、软件工程成绩:XXX

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

    如果用户学号不存在或信息错误提示错误信息(该学号不存在),并返回

    成绩修改界面。(0.5 分)

    ③用户选择相应的数字键,切换到如下界面(假如选择数字“5”)。(0.5

    分)

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

    石家庄铁道大学软件工程系学生学籍管理系统 2019 版

    学生考试成绩录入界面

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

    学生学号:20183557

    学生姓名:xxx

    请输入修改后软件工程成绩:XXX

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

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

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

    石家庄铁道大学软件工程系学生学籍管理系统 2019 版

    学生考试成绩录入

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

    学生学号:20183557

    学生姓名:xxx

    1、高等数学成绩:XXX

    2、大学英语成绩:XXX

    3、计算机网络成绩:XXX

    4、数据库成绩:XXX

    5、软件工程成绩:XXX

    该学生成绩已修改完毕,是否提交(Y/N)

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

    选择“Y”将修改后成绩保存到相应的数组中,并返回主界面。选择“N”,

    则忽略上述成绩录入,并返回成绩修改界面。(0.5 分)

    3、计算学生成绩绩点功能操作流程:(2 分)

    ①在主界面选择计算学生成绩绩点功能后,进入计算学生成绩绩点界面,

    如下图所示:

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

    石家庄铁道大学软件工程系学生学籍管理系统 2019 版

    学生考试成绩绩点计算界面

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

    请输入学生学号:XXXXXXXX

    **********************************************************提示用户输入八位的学号。 ②用户输入学号后,显示用户学号、姓名、学分绩点、提示信息。如下图

    所示。(1.5 分)

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

    石家庄铁道大学软件工程系学生学籍管理系统 2019 版

    学生考试成绩绩点计算界面

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

    学生学号:20183557

    学生姓名: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 版

    制作人:考生姓名

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

    java简单学生成绩管理系统思路:

    首先写出ScoreInformation类,定义私有变量:学号,姓名,高数成绩,英语成绩,计算机网络成绩,数据库成绩,软件工程成绩。写出每个变量的设置和读取函数。

    接着写出Scoremanage类,写出录入,修改,绩点计算,退出功能的实现。定义ScoreInformation类的对象,通过该对象调用ScoreInformation类的函数。将四个功能写成四个函数。(录入功能通过ScoreInformation类的对象调用设置和读取函数来实现;修改功能通过输入学号显示之前录入的信息,再通过对象调用设置函数实现)由于主界面和一些功能实现过程中的界面会重复使用,将界面的输出也写成函数。定义ScoreManage类的对象,通过该对象调用功能实现函数,通过swtich语句选择功能。

    源代码:

    ScoreInformation.java

    //信1805-2班 宋鑫爱

    import java.util.*;public classScoreInformation {privateString stunumber;privateString name;private doublemathmaticsscore;private doubleenglishiscore;private doublenetworkscore;private doubledatabasescore;private doublesoftwarescore;//读取,设置

    public voidsetstunumber(String stunumber)

    {this.stunumber=stunumber;

    }publicString getstunumber()

    {returnstunumber;

    }public voidsetname(String name)

    {this.name=name;

    }publicString getname()

    {returnname;

    }public void setmathmaticsscore(doublemathmaticsscore)

    {this.mathmaticsscore=mathmaticsscore;

    }public doublegetmathmaticsscore()

    {returnmathmaticsscore;

    }public void setenglishiscore(doubleenglishiscore)

    {this.englishiscore=englishiscore;

    }public doublegetenglishiscore()

    {returnenglishiscore;

    }public void setnetworkscore(doublenetworkscore)

    {this.networkscore=networkscore;

    }public doublegetnetworkscore()

    {returnnetworkscore;

    }public void setdatabasescore(doubledatabasescore)

    {this.databasescore=databasescore;

    }public doublegetdatabasescore()

    {returndatabasescore;

    }public void setsoftwarescore(doublesoftwarescore)

    {this.softwarescore=softwarescore;

    }public doublegetsoftwarescore()

    {returnsoftwarescore;

    }

    }

    ScoreManage.java

    import java.util.*;public classScoreManage {static ScoreInformation s[]=new ScoreInformation[5];static inta;//主界面

    static voidchoice()

    {

    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("********************************");

    }//成绩录入界面

    static voidfunction1()

    {

    System.out.println("***************************************");

    System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019版");

    System.out.println(" 学生考试成绩录入");

    System.out.println("***************************************");

    }//成绩修改界面

    static voidfunction2()

    {

    System.out.println("***************************************");

    System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019版");

    System.out.println(" 学生考试成绩修改界面");

    System.out.println("***************************************");

    }//绩点计算界面

    static voidfunction3()

    {

    System.out.println("***************************************");

    System.out.println(" 石家庄铁道大学软件工程系学生学籍管理系统2019版");

    System.out.println(" 学生考试成绩绩点计算界面");

    System.out.println("***************************************");

    }//设置学号和姓名初值

    static voidseti()

    {

    s[0]=newScoreInformation();

    s[0].setstunumber("20183792");

    s[0].setname("宋鑫爱");

    s[1]=newScoreInformation();

    s[1].setstunumber("20183793");

    s[1].setname("王");

    s[2]=newScoreInformation();

    s[2].setstunumber("20183794");

    s[2].setname("张");

    s[3]=newScoreInformation();

    s[3].setstunumber("20183795");

    s[3].setname("李");

    s[4]=newScoreInformation();

    s[4].setstunumber("20183796");

    s[4].setname("吴");

    }//实现成绩录入功能

    static voidinput()

    {

    Scanner scan=newScanner(System.in);doublemathmaticsscore,englishiscore,networkscore,databasescore,softwarescore;

    function1();

    System.out.print("请输入学生学号:");

    String number;

    number=scan.next();for(int i=0;i<5;i++)

    {if(number.equals(s[i].getstunumber()))

    {

    a=i;break;

    }if(i==4)

    {

    System.out.println("该学号不存在请重新输入");

    function1();

    }

    }

    function1();

    System.out.print("学生学号:");

    System.out.println(s[a].getstunumber());

    System.out.print("学生姓名:");

    System.out.println(s[a].getname());

    System.out.print("请输入高等数学成绩:");

    mathmaticsscore=scan.nextDouble();

    function1();

    System.out.print("请输入英语成绩");

    englishiscore=scan.nextDouble();

    function1();

    System.out.print("请输入计算机网络成绩");

    networkscore=scan.nextDouble();

    function1();

    System.out.print("请输入数据库成绩");

    databasescore=scan.nextDouble();

    function1();

    System.out.print("请输入软件工程成绩");

    softwarescore=scan.nextDouble();

    function1();

    System.out.println("学生学号:"+s[a].getstunumber());

    System.out.println("学生姓名:"+s[a].getname());

    System.out.println("高等数学成绩:"+mathmaticsscore);

    System.out.println("大学英语成绩:"+englishiscore);

    System.out.println("计算机网络成绩:"+networkscore);

    System.out.println("数据库成绩"+databasescore);

    System.out.println("软件工程成绩:"+softwarescore);

    System.out.println("该学生成绩已录入完毕,是否提交(Y/N");

    System.out.println("**************************************");

    String t;

    t=scan.next();if(t.equals("Y"))

    {

    s[a].setmathmaticsscore(mathmaticsscore);

    s[a].setenglishiscore(englishiscore);

    s[a].setnetworkscore(networkscore);

    s[a].setdatabasescore(databasescore);

    s[a].setsoftwarescore(softwarescore);

    }else{

    function1();

    }

    }//实现成绩修改功能

    static voidchange()

    {

    function2();

    System.out.print("请输入学生学号:");

    Scanner scan=newScanner(System.in);double mathmaticsscore = 0,englishiscore = 0,networkscore=0,databasescore=0,softwarescore=0;

    String t;

    t=scan.next();

    function1();

    System.out.println("学生学号:"+s[a].getstunumber());

    System.out.println("学生姓名:"+s[a].getname());

    System.out.println("高等数学成绩:"+s[a].getmathmaticsscore());

    System.out.println("大学英语成绩:"+s[a].getenglishiscore());

    System.out.println("计算机网络成绩:"+s[a].getnetworkscore());

    System.out.println("数据库成绩"+s[a].getdatabasescore());

    System.out.println("软件工程成绩:"+s[a].getsoftwarescore());intu;

    u=scan.nextInt();switch(u)

    {case 1:

    function1();

    System.out.println("学生学号:"+s[a].getstunumber());

    System.out.println("学生姓名:"+s[a].getname());

    System.out.print("请输入修改后高数成绩:");

    mathmaticsscore=scan.nextDouble();

    s[a].setmathmaticsscore(mathmaticsscore);break;case 2:

    function1();

    System.out.println("学生学号:"+s[a].getstunumber());

    System.out.println("学生姓名:"+s[a].getname());

    System.out.print("请输入修改后英语成绩:");

    englishiscore=scan.nextDouble();

    s[a].setenglishiscore(englishiscore);break;case 3:

    function1();

    System.out.println("学生学号:"+s[a].getstunumber());

    System.out.println("学生姓名:"+s[a].getname());

    System.out.print("请输入修改后计算机网络成绩:");

    networkscore=scan.nextDouble();

    s[a].setnetworkscore(networkscore);break;case 4:

    function1();

    System.out.println("学生学号:"+s[a].getstunumber());

    System.out.println("学生姓名:"+s[a].getname());

    System.out.print("请输入修改后数据库成绩:");

    databasescore=scan.nextDouble();

    s[a].setdatabasescore(databasescore);break;case 5:

    function1();

    System.out.println("学生学号:"+s[a].getstunumber());

    System.out.println("学生姓名:"+s[a].getname());

    System.out.print("请输入修改后软件工程成绩:");

    softwarescore=scan.nextDouble();

    s[a].setsoftwarescore(softwarescore);break;

    }

    function1();

    System.out.println("学生学号:"+s[a].getstunumber());

    System.out.println("学生姓名:"+s[a].getname());

    System.out.println("高等数学成绩:"+s[a].getmathmaticsscore());

    System.out.println("大学英语成绩:"+s[a].getenglishiscore());

    System.out.println("计算机网络成绩:"+s[a].getnetworkscore());

    System.out.println("数据库成绩"+s[a].getdatabasescore());

    System.out.println("软件工程成绩:"+s[a].getsoftwarescore());

    System.out.println("该学生成绩已录入完毕,是否提交(Y/N");

    System.out.println("**************************************");

    String str;

    str=scan.next();if(str.equals("Y"))

    {

    choice();

    }else{

    function2();

    }

    }//实现学分绩点计算功能

    static voidcalculate()

    {

    function3();

    System.out.print("请输入学生学号:");

    Scanner scan=newScanner(System.in);

    String p;

    p=scan.next();double m = 0;if(s[a].getmathmaticsscore()<60)

    m=0;else if(s[a].getmathmaticsscore()>=60&&s[a].getmathmaticsscore()<=63.9)

    m=1.0;else if(s[a].getmathmaticsscore()>=64&&s[a].getmathmaticsscore()<=65.9)

    m=1.5;else if(s[a].getmathmaticsscore()>=66&&s[a].getmathmaticsscore()<=67.9)

    m=1.7;else if(s[a].getmathmaticsscore()>=68&&s[a].getmathmaticsscore()<=71.9)

    m=2.0;else if(s[a].getmathmaticsscore()>=72&&s[a].getmathmaticsscore()<=74.9)

    m=2.3;else if(s[a].getmathmaticsscore()>=75&&s[a].getmathmaticsscore()<=77.9)

    m=2.7;else if(s[a].getmathmaticsscore()>=78&&s[a].getmathmaticsscore()<=81.9)

    m=3.0;else if(s[a].getmathmaticsscore()>=82&&s[a].getmathmaticsscore()<=84.9)

    m=3.3;else if(s[a].getmathmaticsscore()>=85&&s[a].getmathmaticsscore()<=89.9)

    m=3.7;else if(s[a].getmathmaticsscore()>=90)

    m=4.0;double e = 0;if(s[a].getenglishiscore()<60)

    e=0;else if(s[a].getenglishiscore()>=60&&s[a].getenglishiscore()<=63.9)

    e=1.0;else if(s[a].getenglishiscore()>=64&&s[a].getenglishiscore()<=65.9)

    e=1.5;else if(s[a].getenglishiscore()>=66&&s[a].getenglishiscore()<=67.9)

    e=1.7;else if(s[a].getenglishiscore()>=68&&s[a].getenglishiscore()<=71.9)

    e=2.0;else if(s[a].getenglishiscore()>=72&&s[a].getenglishiscore()<=74.9)

    e=2.3;else if(s[a].getenglishiscore()>=75&&s[a].getenglishiscore()<=77.9)

    e=2.7;else if(s[a].getenglishiscore()>=78&&s[a].getenglishiscore()<=81.9)

    e=3.0;else if(s[a].getenglishiscore()>=82&&s[a].getenglishiscore()<=84.9)

    e=3.3;else if(s[a].getenglishiscore()>=85&&s[a].getenglishiscore()<=89.9)

    e=3.7;else if(s[a].getenglishiscore()>=90)

    e=4.0;double n = 0;if(s[a].getnetworkscore()<60)

    n=0;else if(s[a].getnetworkscore()>=60&&s[a].getnetworkscore()<=63.9)

    n=1.0;else if(s[a].getnetworkscore()>=64&&s[a].getnetworkscore()<=65.9)

    n=1.5;else if(s[a].getnetworkscore()>=66&&s[a].getnetworkscore()<=67.9)

    n=1.7;else if(s[a].getnetworkscore()>=68&&s[a].getnetworkscore()<=71.9)

    n=2.0;else if(s[a].getnetworkscore()>=72&&s[a].getnetworkscore()<=74.9)

    n=2.3;else if(s[a].getnetworkscore()>=75&&s[a].getnetworkscore()<=77.9)

    n=2.7;else if(s[a].getnetworkscore()>=78&&s[a].getnetworkscore()<=81.9)

    n=3.0;else if(s[a].getnetworkscore()>=82&&s[a].getnetworkscore()<=84.9)

    n=3.3;else if(s[a].getnetworkscore()>=85&&s[a].getnetworkscore()<=89.9)

    n=3.7;else if(s[a].getnetworkscore()>=90)

    n=4.0;double d = 0;if(s[a].getdatabasescore()<60)

    d=0;else if(s[a].getdatabasescore()>=60&&s[a].getdatabasescore()<=63.9)

    d=1.0;else if(s[a].getdatabasescore()>=64&&s[a].getdatabasescore()<=65.9)

    d=1.5;else if(s[a].getdatabasescore()>=66&&s[a].getdatabasescore()<=67.9)

    d=1.7;else if(s[a].getdatabasescore()>=68&&s[a].getdatabasescore()<=71.9)

    d=2.0;else if(s[a].getdatabasescore()>=72&&s[a].getdatabasescore()<=74.9)

    d=2.3;else if(s[a].getdatabasescore()>=75&&s[a].getdatabasescore()<=77.9)

    d=2.7;else if(s[a].getdatabasescore()>=78&&s[a].getdatabasescore()<=81.9)

    d=3.0;else if(s[a].getdatabasescore()>=82&&s[a].getdatabasescore()<=84.9)

    d=3.3;else if(s[a].getdatabasescore()>=85&&s[a].getdatabasescore()<=89.9)

    d=3.7;else if(s[a].getdatabasescore()>=90)

    d=4.0;double q = 0;if(s[a].getsoftwarescore()<60)

    q=0;else if(s[a].getsoftwarescore()>=60&&s[a].getsoftwarescore()<=63.9)

    q=1.0;else if(s[a].getsoftwarescore()>=64&&s[a].getsoftwarescore()<=65.9)

    q=1.5;else if(s[a].getsoftwarescore()>=66&&s[a].getsoftwarescore()<=67.9)

    q=1.7;else if(s[a].getsoftwarescore()>=68&&s[a].getsoftwarescore()<=71.9)

    q=2.0;else if(s[a].getsoftwarescore()>=72&&s[a].getsoftwarescore()<=74.9)

    q=2.3;else if(s[a].getsoftwarescore()>=75&&s[a].getsoftwarescore()<=77.9)

    q=2.7;else if(s[a].getsoftwarescore()>=78&&s[a].getsoftwarescore()<=81.9)

    q=3.0;else if(s[a].getsoftwarescore()>=82&&s[a].getsoftwarescore()<=84.9)

    q=3.3;else if(s[a].getsoftwarescore()>=85&&s[a].getsoftwarescore()<=89.9)

    q=3.7;else if(s[a].getsoftwarescore()>=90)

    q=4.0;double ave=0;

    ave=(m*4+e*3+n*4+d*3+q*2)/16;

    function3();

    System.out.println("学生学号:"+s[a].getstunumber());

    System.out.println("学生姓名:"+s[a].getname());

    System.out.println("高等数学成绩绩点:"+m);

    System.out.println("大学英语成绩绩点:"+e);

    System.out.println("计算机网络成绩绩点:"+n);

    System.out.println("数据库成绩绩点"+d);

    System.out.println("软件工程成绩绩点:"+q);

    System.out.println("你的平均学分绩点为:"+String.format("%.2f",ave));

    System.out.print("提示信息:");if(ave>=2)

    {

    System.out.println("你的学分绩点已达到毕业要求!");

    }else{

    System.out.println("你的学分绩点不满足毕业要求!");

    }

    System.out.println("是否返回系统主界面:(Y/N)");

    System.out.println("*****************************");

    String str;

    str=scan.next();if(str=="Y")

    {

    choice();

    }

    }//在主类中调用相应函数

    public static voidmain(String[] args) {

    seti();while(true)

    {

    choice();inti;

    Scanner scan=newScanner(System.in);

    i=scan.nextInt();switch(i)

    {case 1:

    input();break;case 2:

    change();break;case 3:

    calculate();break;case 4:

    System.out.println("*********************************");

    System.out.println("谢谢使用石家庄铁道大学软件工程系学生学籍管理系统2019版");

    System.out.println(" 制作人:宋鑫爱");

    System.out.println("*********************************");break;default:

    System.out.println("该选项不存在");

    }

    }

    }

    }

    测试结果:

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

    石家庄铁道大学

    学生学籍管理系统2019版

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

    1、学生考试成绩录入

    2、学生考试成绩修改

    3、计算学生成绩绩点

    4、退出学籍管理系统

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

    1

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    请输入学生学号:20183792

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    学生学号:20183792

    学生姓名:宋鑫爱

    请输入高等数学成绩:89

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    请输入英语成绩90

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    请输入计算机网络成绩78

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    请输入数据库成绩87

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    请输入软件工程成绩98

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    学生学号:20183792

    学生姓名:宋鑫爱

    高等数学成绩:89.0

    大学英语成绩:90.0

    计算机网络成绩:78.0

    数据库成绩87.0

    软件工程成绩:98.0

    该学生成绩已录入完毕,是否提交(Y/N

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

    Y

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

    石家庄铁道大学

    学生学籍管理系统2019版

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

    1、学生考试成绩录入

    2、学生考试成绩修改

    3、计算学生成绩绩点

    4、退出学籍管理系统

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

    2

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩修改界面

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

    请输入学生学号:20183792

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    学生学号:20183792

    学生姓名:宋鑫爱

    高等数学成绩:89.0

    大学英语成绩:90.0

    计算机网络成绩:78.0

    数据库成绩87.0

    软件工程成绩:98.0

    4

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    学生学号:20183792

    学生姓名:宋鑫爱

    请输入修改后数据库成绩:88

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩录入

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

    学生学号:20183792

    学生姓名:宋鑫爱

    高等数学成绩:89.0

    大学英语成绩:90.0

    计算机网络成绩:78.0

    数据库成绩88.0

    软件工程成绩:98.0

    该学生成绩已录入完毕,是否提交(Y/N

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

    Y

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

    石家庄铁道大学

    学生学籍管理系统2019版

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

    1、学生考试成绩录入

    2、学生考试成绩修改

    3、计算学生成绩绩点

    4、退出学籍管理系统

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

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

    石家庄铁道大学

    学生学籍管理系统2019版

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

    1、学生考试成绩录入

    2、学生考试成绩修改

    3、计算学生成绩绩点

    4、退出学籍管理系统

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

    3

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩绩点计算界面

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

    请输入学生学号:20183792

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

    石家庄铁道大学软件工程系学生学籍管理系统2019版

    学生考试成绩绩点计算界面

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

    学生学号:20183792

    学生姓名:宋鑫爱

    高等数学成绩绩点:3.7

    大学英语成绩绩点:4.0

    计算机网络成绩绩点:3.0

    数据库成绩绩点3.7

    软件工程成绩绩点:4.0

    你的平均学分绩点为:3.62

    提示信息:你的学分绩点已达到毕业要求!

    是否返回系统主界面:(Y/N)

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

    Y

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

    石家庄铁道大学

    学生学籍管理系统2019版

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

    1、学生考试成绩录入

    2、学生考试成绩修改

    3、计算学生成绩绩点

    4、退出学籍管理系统

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

    4

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

    谢谢使用石家庄铁道大学软件工程系学生学籍管理系统2019版

    制作人:宋鑫爱

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

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

    石家庄铁道大学

    学生学籍管理系统2019版

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

    1、学生考试成绩录入

    2、学生考试成绩修改

    3、计算学生成绩绩点

    4、退出学籍管理系统

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

    展开全文
  • 《oracle学生成绩管理系统设计》由会员分享,可在线阅读,更多相关《oracle学生成绩管理系统设计(11页珍藏版)》请在人人文库网上搜索。1、阶段1.1成绩管理系统实体关系设计一、实验目的和要求(1)熟练掌握实体关系...

    《oracle学生成绩管理系统设计》由会员分享,可在线阅读,更多相关《oracle学生成绩管理系统设计(11页珍藏版)》请在人人文库网上搜索。

    1、阶段1.1成绩管理系统实体关系设计一、实验目的和要求(1)熟练掌握实体关系设计的方法。(2)通过需求分析结果,掌握E-R图。二、实验内容和原理实体关系设计是在需求分析的一个环节过程,在这一过程中产生E-R图,该图由实体、属性和联系三个要素构成。逻辑结构设计的任务就是把概念设计阶段建立的基本E-R图按照选定的系统软件支持的数据模型,转换成相应的逻辑模型。这种转换要符合关系数据模型的原则。E-R图向关系模型转换时要解决如何将实体和实体间的联系转换为关系,并确定这些关系的属性和码,这种转换一般按下面的原则进行。(1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。(2)一个联。

    2、系也转换为一个关系,联系的属性及联系所连接的实体的码都转换为关系的属性,但关系的码会根据联系的类型变化。三、主要仪器设备计算机一台、Powerdesinger运行环境四、操作方法与实验步骤在成绩管理系统中,需要管理学生、课程和成绩,以及它们之间的联系。因此在该系统的E-R图中,实体分别为学生、老师、课程。为了便于掌握,学生实体的属性分别有学号、姓名、性别;课程实体的属性有课程编号、课程名称、学期、课程学分;教师实体的属性有教师编号、姓名、性别。学生实体与课程实体有选课关系,而且一个学生可以选择多门课程,一门课程也可以被多个学生选择,因此学生和课程之间的联系是m:n联系。教师实体与课程实体有教授。

    3、关系,一名教师可以教多门课程,一门课程也可以被多个教师教授,因此教师和课程之间的联系是m:n联系。学生在选课后会产生成绩,教师授课后会产生授课地点及授课学期。根据上述分析,绘出的E-R图如下图所示。阶段1.2 成绩管理系统结构设计一、实验目的和要求1.了解数据库中列的属性以及各个属性的含义。2.掌握为不同的列选择不同的属性及范围。二、实验内容和原理在管理信息系统中,物理结构设计主要是指如何将通过逻辑结构设计所得的系统逻辑结构型转换为物理模型,并明确地指出系统的物理存储结构。本实验主要是利用CASE工具集PowerDesigner对成绩管理系统进行物理结构的设计。三、主要仪器设备计算机一台、Po。

    4、werdesinger 运行环境、Oracle运行环境四、操作方法与实验步骤在物理结构设计中需要考虑为每列设计合适的数据类型。成绩管理系统中,学生(学号、姓名、性别)关系里,学号采用int来表示就可以了,而姓名设置成varchar2(20),性别只需要设置为char(2)。因为性别不是男就是女,因此只会占用两个字节。所以最终我们可以将其物理表结构设置为:t_student(stuid int,stuname varchar2(20),sex char(2)。依照上述,课程的物理表结构为:t_course(couid int,couname varchar2(20),term char(2),c。

    5、redit number(3,1))。教师的物理存储表结构为:t_teacher(teaid int,teaname varchar2(20),sex char(2)。选课的物理表结构为:t_selcour(sid int,cid int,score number .(4,2))。教课的物理表结构为:t_teacour(tid int,cid int,teaaddr varchar2(30),term char(2))。(1) 通过手动编写SQL语句方式建立数据库后台上述创建了代表学生实体的表t_student,其中stuid设置为主键,唯一标识一个学生。表t_course用来代表课程实体,其。

    6、中采用couid来标识一门课程。当课程名称的长度大于20个字符时,varchar2可以自动扩展。物理实体在物理结构中用t_teacher表来表示,teaid用来唯一标识一位教师,因此其不能空选课表t_selcour中学生编号参考t_student表中的stuid,此时sid为外键,课程编号cid也作为外键参考t_course中的couid(2)通过PowerDesigner建立数据库后台。第四步:到此,系统的概念模型就全部设计好了。接下来单击菜单“工具”“生成物理属性模型”选项,就会弹出“物理数据模型生成选项”对话框,如下图:在“常规”选项卡中选择“生成新的物理模型”单选钮,并选择DBMS为“。

    7、OPACLE Version 10g”,“名称”文本“MyPhysicalDataModel”,并单击“确认”按钮,在弹出得到路径选择对话框中输入你想要放置生成的物理数据模型文件的位置,系统就会自动在指定的路径下生成一个名为“MyPhysicalDataModal.pdm”的文件,并生成系统的物理模型,如下图CONGC从菜单中选择 Database -Generate Database选项。PowerDesigner将会在指定的路径下生成一个名字为*.sql 的文本文件。里面存放可供Oracle 执行的用来建立数据库实体的SQL语句。阶段1.3 成绩管路系统存储过程设计一、实验目的和要求(1)。

    8、了解存储过程的设计目的以及方法。(2)掌握存储过程的创建。二、实验内容和原理存储过程是在数据中定义的程序块,它存放在数据库服务端数据字典里。采用存储过程可以提高过程代码程序的执行速度和代码共享度。具体有以下几个特点。(1)过程存放在服务器端,减少了网络传输的延时,提高了速度。(2)过程在执行一次之后,会驻留内存,后续的执行无需再经编译过程,提高了执行效率。三、主要仪器设备计算机一台,Oracle运行环境四、操作方法与实验步骤1、创建存储过程先向表t_student中插入数据,具体如下所示2、每次向表t_student中插入数据时,只需要运行该过程就可以了。具体如下所示。表t_student中的。

    9、列stuid被设置为主键,因此不可以存在重复值。在第二次运行时,因为输入的第一个参数id与表中已存在的数据相同,所以插入时出现错误。3、继续向表中插入两条记录,其中当参数id不重复时,过程成功完成。4、不仅可以通过存储过程向表中插入数据,也可以通过一般的SQL语句向表中插入数据,如下所示。5、向表中插入数据时,需要注意数据类型以及长度都需要与表中定义的相符,否则会出现错误,具体如下所示。6、t_course表中列term被定义为char且长度为2,因此在插入数据时该列最大长度为2,超过该值会出现错误。课程表中只有已经存在的课程编号才能被插入到选课表中,否则会出错,这样就保证了数据的一致性。7、。

    10、t_selcour表的另外一个外键为第一列sid,在插入时只有当该值存在于学生表中的学生编号时,才能被成功插入,否则也会出现错误,具体如下所示。8、对于向表t_teacour中插入数据时,同样需要满足外键参考主键的约束条件,具体如下所示。9、向表t_teacour中插入一行记录,其中tid存在于表t_teacher的列teaid中,cid存在于表t_course列couid中。如果插入的值不符合外键约束条件,会出现错误,具体如下所示。10、在完成对表插入值后,可以关联表查询记录。比如:查询教师编号为1的教师所带的课程编号、教师姓名、课程名称、课程学分信息,具体如下所示。实现了查询编号为1的老师。

    11、所带的课程编号、课程名称等信息。在查询时,为表命名别名时为了方便,各个表的连接通过主键外键约束来实现。查看t_course及t_selcourse中的值五、实验结果与分析实验结果如上截图所示。六、讨论、心得grant select不支持对表中选定的几列授权,只能将整个表的select权限授权出去。所以实验中先建立了基于选课信息表的视图SelectiveInfo1,视图中包含成绩列,学号列以及班级列(不包含其他的列)再将对视图SelectiveInfo1的select权限授予角色teacher。不同的用户可以创建相同的表格,teacher用户创建了table1,student用户也创建了table1,且这两个表格式完全相同的,那么其他用户需要用这两个表格时,可以用teacher. table1和student. table1加以区分。实验中遇到的问题可以上网百度,网上资源很丰富。

    展开全文
  • 学生成绩管理系统的分析及设计-应用UML建模》由会员分享,可在线阅读,更多相关《学生成绩管理系统的分析及设计-应用UML建模(48页珍藏版)》请在人人文库网上搜索。1、第1章 系统需求学生成绩管理系统的域1描述如下...

    《学生成绩管理系统的分析及设计-应用UML建模》由会员分享,可在线阅读,更多相关《学生成绩管理系统的分析及设计-应用UML建模(48页珍藏版)》请在人人文库网上搜索。

    1、第1章 系统需求学生成绩管理系统的域1描述如下:在学生成绩管理系统中,要为每个学生建立一个帐户,并给学生发放帐户(帐户可以提供帐户号、帐户初始密码),帐户中存储学生的个人信息、选课信息以及课程成绩。持有帐户的学生可以登陆系统,只能查看本人的个人信息、选课信息、个人成绩。在登陆时,需要输入自己的账号和密码,系统验证学生是否有效(在系统中存在帐户),若有效,则登陆系统,否则重新输入,超过三次,则不允许再次输入。老师可以修改学生成绩信息,但仅限于学生选修的那门课程。老师也有自己的个人帐户,权限比学生高,可以浏览学生信息。学生成绩管理系统的管理员,可以编辑、添加、删除、学生信息。对上述学生成绩管理系统。

    2、的域描述进行分析,可以获得如下功能性需求:学生持有帐户 (帐户号和密码)。学生可以登陆系统。学生可以查看系统消息内的信息。学生可以查看个人信息,个人成绩信息和选课情况。在学期结束时,学生可以选课。学生可以给管理员发消息。老师可以修改选修自己课程的学生的成绩信息。老师可以浏览选修自己课程的学生的信息。学生成绩管理员可以创建新的学生帐户。学生成绩管理员可以修改学生的帐户信息。学生成绩管理员可以删除已存在的学生帐户。学生成绩管理员可以在系统中添加学生信息。学生成绩管理员可以编辑学生信息。学生成绩管理员可以删除学生信息。第2章 需求分析采用用例驱动的分析方法分析需求的主要任务是识别出系统中的参与者和用。

    3、例,并建立用例模型。2.1 识别参与者通过对系统需求的分析,可以确定系统中有三个参与者:StudentActor(学生)、TeacherActor(教师)、AdminerActor(管理员)。参与者的描述如下:(1) Student描述:学生可以登陆、选课、查看系统信息、个人信息、提出意见,还可以取消选课。示例:持有帐户的任何人或组织。(2) Teacher描述:可以修改学生部分信息,浏览学生信息。示例:持有帐户的任何人和组织。(3) Adminer描述:学生成绩管理员维护系统,可以创建、修改、删除学生的信息,可以添加、编辑、删除学生信息,即维护目录。示例:学生成绩管理员。2.2 识别用例前面。

    4、已经识别出了参与者,通过对需求的进一步分析,可以确定系统中有如下用例存在:(1) Reserve course(选课)本用例提供了选课的功能。(2)Cancel course(取消选课)本用例提供了取消选课的功能。(3)input score(输入成绩)本用例提供了教师上传学生成绩功能。(4)update score(更改成绩)本用例提供了修改成绩的功能。(5)Maintain student Info (维护学生信息)本用例提供了创建、修改以及取消学生帐户的功能。(6)Maintain teacher Info (维护教师信息)本用例提供了添加、修改、以及删除教师帐户的功能。(7)Maint。

    5、ain system Info (维护系统信息)本用例提供了添加、修改以及删除系统信息的功能。(8)Log In (登录)本用例描述了用户如何登录进入软件系统。在识别出参与者3和用例后,要想建立用例图,还需要识别出他们之间的关系。“Reserve course”(选课)“Cancel course” (取消选课) 这些动作是由“Student”执行的,“input score” (输入成绩)、“update score” (更、改成绩)是由“teacher”执行的,但是对于软件系统来说,这些操作是由“Adminer”通过系统赋予给他们的,也即以上操作实际上是操作者在允许条件下与系统的交互。“S。

    6、tudent”“teacher ”和参与者“Adminer”之间存在着依赖关系,即“Student”借助“Adminer”完成这些工作。用例“Maintain student Info” (维护学生信息)、“Maintain teacher Info” (维护教师信息)、“Maintain system Info”(维护物系统信息)也是与参与者“Adminer”交互。为了系统的安全性,系统还需要提供进行身份验证的功能,以确保只有具有权限的“Adminer”才可以使用系统的功能,所以“Adminer”必须与用例“登录”交互,也即“Adminer”在使用系统前,要使用用户名和密码进行登录,系统验证。

    7、用户的密码正确后,用户才可以执行进一步的操作。系统的用例图如下图所示:图2.1 系统用例图2.3 用例的事件流描述用例的事件流4是对完成用例行为所需的事件的描述。它描述系统应该做什么,而不是描述系统应该怎样做。开始,只是对执行用例的常规流所需的步骤的简单描述。随着分析的进行,通过添入更多的详细信息,步骤不断细化。最后,将例外流添加到用例的事件流描述中。学生成绩管理系统的用例事件流描述如下:2.3.1 选课在这个用例开始前,student必须登录到系统中。如果这个用例成功,在系统中建立并存储选课记录,否则,系统的状态没有变化。当学生选课时,用例启动。学生打开系统的选课系统,出现选课界面,支流S-。

    8、1:开课目录。支流S-2:选课情况。S-1:选课目录 (1) 提供学期分类。(2) 检索课程类别(kind) (E-1)(3) 检索要选课程名(coursename) (E-2), (4) 创建选课记录。(5) 存储选课记录。S-2: 选课情况(1) 提供是否要书。(2) 是否加权分。(3) 是否撤销。(4) 查看选课记录。E-1: 大方向总体分类。E-2: 具体课程名。2.3.2 取消选课在这个用例开始前,student必须登录到选课系统中。如果这个用例成功,系统删除该选课记录。否则,系统的状态没有变化。当学生取消选课时,用例启动。(1) 检索选课程名(E-1)。(2) 删除选课记录。E-1。

    9、: 若选课记录不存在,系统显示提示信息,用例终止。2.3.3 输入成绩在这个用例开始前,teacher必须登录到系统中。如果这个用例成功,系统建立输入成绩记录。否则,系统的状态没有变化。当teacher输入成绩时,用例启动。(1) 检索学生。(E-1)(2) 输入成绩。(3) 将选课成绩存储在系统中。E-1: 该学生不存在,系统显示提示信息,用例终止。E-2: 系统中不存在该学生,系统显示提示信息,用例终止。2.3.4 更改成绩在这个用例开始前,teacher必须登录到系统中。如果这个用例成功,系统修改选课成绩。否则,系统的状态没有变化。(1) 检索学生 (E-1)。(2) 修改成绩记录 。(。

    10、3) 将修改记录存入系统E-1: 该学生不存在,系统显示提示信息,用例终止。2.3.5 维护学生信息 在这个用例开始前,Adminer必须登录到系统中。如果这个用例成功,系统添加、修改或删除学生信息。否则,系统的状态没有变化。当Adminer想维护学生信息时,用例启动。系统要求Adminer选择所想执行的活动(添加学生、删除学生、修改学生)。如果所选的活动是“添加学生”,则执行分支流S-1:添加学生。如果所选的活动是“删除学生”,则执行分支流S-2:删除学生。如果所选的活动是“修改学生”,则执行分支流 S-3:修改学生。S-1: 添加学生(1) 提供学生的信息,如姓名、学号等。(2) 系统存储。

    11、学生信息 (E-1)。S-2: 删除学生(1) 提供学生的信息。(2) 查询学生 (E-2)。(3) 查询学生的记录 (E-3)。(4) 从系统中删除学生的信息,以及学生的选课记录。S-3:更改学生(1) 提供学生的信息。(2) 查询并显示学生的信息 (E-2),修改相应的信息。(3) 更新系统中学生的信息。E-1: 若学生已存在,系统显示提示信息,用例终止。E-2: 若查询不到学生,系统显示提示信息,用例终止。E-3: 若无记录,系统显示提示信息,用例终止。2.3.6 维护教师信息 在这个用例开始前,Adminer必须登录到系统中。如果这个用例成功,系统添加、修改或删除教师信息。否则,系统的。

    12、状态没有变化。当Adminer想维护教师信息时,用例启动。系统要求Adminer选择所想执行的活动(添加教师、删除教师、修改教师)如果所选的活动是“添加教师”,则执行分支流S-1:添加教师信息。如果所选的活动是“删除教师”,则执行分支流S-2:删除教师信息。如果所选的活动是“修改教师”,则执行分支流S-3:修改教师信息。S-1: 添加教师信息(1) 提供教师名字、所教课程名等信息。(2) 在系统中添加该教师信息 (E-1)。S-2: 删除教师生信息(1) 提供所要删除的教师信息。(2) 查询所要删除的教师 (E-2)。(3) 删除该教师的记录 (E-3)。(4) 从系统中删除教师信息,以及相关。

    13、的记录。S-3:更改教师信息(1) 提供教师信息。(2) 查询并显示教师信息 (E-2),并做相应修改。(3) 更新系统中的学生信息。E-1: 若教师信息已存在,系统显示提示信息,用例终止。E-2: 若查询不到该书老师,系统显示提示信息,用例终止。E-3:若无记录,系统显示提示信息,用例终止。2.3.7 维护系统信息在这个用例开始前,Adminer必须登录到系统中。如果这个用例成功,系统添加、修改或删除系统信息。否则,系统的状态没有变化。当Adminer想维护系统信息时,用例启动。系统要求Adminer选择所想执行的活动(添加信息、删除信息、修改信息)。如果所选的活动是“添加系统消息”,则执行。

    14、分支流S-1:添加系统信息。如果所选的活动是“删除系统信息”,则执行分支流S-2:删除系统信息。如果所选的活动是“修改系统信息”,则执行分支流S-3:修改系统信息。S-1: 添加系统信息(1) 提供添加信息种类。(2) 查询信息种类(kind),确定系统中已存在该书刊种类 (E-1)。(3) 创建信息名。(4) 将系统信息存储到系统中。S-2: 删除系统信息(1) 提供系统信息种类。(2) 查询信息名(newname) (E-2)。(3) 删除系统信息。(4) 从系统中删除系统信息后,并更新相关信息。S-3:修改物理学生信息(1) 提供系统信息种类。(2) 查询系统信息种类(kind)(E-1。

    15、)。(3) 查询并显示该系统信息的所有消息。(4) 选择信息名修改其信息。(5) 更新系统中系统信息的信息。E-1: 若系统中不存在该信息种类,添加该书刊种类信息E-2:若存在该信息,则删除。2.3.8 登录如果用例成功,参与者可以启动系统并使用系统所提供的功能。反之,系统的状态不变。当用户希望登录到系统中时,用例启动。(1) 系统提示用户输入用户名和密码。(2) 用户输入用户名和密码。(3) 系统验证输入的用户名和密码,若正确(E-1),则用户登录到系统中。E-1: 如果用户输入无效的用户名和/或密码,系统显示错误信息。用户可以选择返回基流6的起始点,重新输入正确的用户名和/或密码;或者取消。

    16、登录,用例结束。第3章 静态结构模型进一步分析系统需求,发现类以及类之间的关系,确定它们的静态结构和动态行为,是面向对象7分析的基本任务。系统的静态结构模型主要用类图和对象图描述。3.1 定义系统对象系统对象的识别可以通过寻找系统域8描述和需求描述中的名词来进行。从前述的系统需求描述中可以找到的名词有:学生(student)、教师(teacher)管理员(adminer),这些都是对象图中的候选对象。判断是否应该为这些候选对象创建类的方法是:是否有与该对象相关的身份和行为?(1) 学生(student)学生是有身份的,具有相同名字和不同账号的两个人也是不同的。在这个系统中,学生有相关的行为,学。

    17、生可以选课、取消选课,所以学生应该成为系统中的一个对象。(2) 教师(teacher)教师也有身份,具有相同名字和不同账号的两个人也是不同的。在这个系统中,教师有相关的行为,教师可以上传成绩、修改成绩,所以教师应该成为系统中的一个对象。(3) 选课记录(course load)选课记录也有身份,选课记录可以被彼此区别,不会被搞混。例如,同一个人关于不同课程的选课记录是不同的,同一门课程被不同学生的选课记录也是不同的。(4)成绩记录(score load)成绩记录也有身份的,成绩记录可以被彼此区别,不会被搞混。例如,同一个人关于不同课程的成绩记录是不同的,同一门课程被不同学生的成绩记录也是不同的。

    18、。上述4个类都是实体类,都是持久性的,需要存储在数据库中。本系统采用面向对象数据库9模型,为了便于从数据库文件中引用和检索对象,需要一个描述对象ID的类。另外,由于上述4个类都是持久性类,因此还可以抽象出一个代表持久性的父类,该类实现了面向对象数据库文件的读、写、存储、检索、删除、更新等操作。综上所述,系统中还应该有两个与数据库有关的类:对象ID(OID)和持久类(Persistent)(5)类Persistent类Persistent是类student、teacher、course load的父类。类Persistent为商业对象的持久存储提供了支持,它的子类必须实现从数据库文件中读、写对象。

    19、属性的操作。(6) 类OID实现了对象ID。类OID的对象可用来引用系统中的持久10对象,使得从数据库文件中引用和检索对象变得容易。抽象出系统中的类后,需要确定这些对象的属性和行为。可以根据前述的系统需求分析、用例图、用例的事件流描述和描述脚本的交互作用图,来确定并细化系统中的类、类的操作和属性。下面对系统中的类、类的属性及操作逐一进行描述。(未标注返回值类型的方法使用缺省返回类型void)。类student属性、方法见下图3.1类teacher属性、方法见下图3.2类course load属性、方法见下图3.3Score load属性、方法见下图3.4类Persistent属性、方法见下图3。

    20、.5类OID属性、方法见下图3.6图3.1、3.2、3.3类ScoreloadName :stringID:integerCID:integerTID:integerRead()Getscore()图36 类OID图3.5类Persistent在定义类、类的方法和属性时,建立动态模型的时序图是很有帮助的,类图和时序图的建立是相辅相成的,因为时序图中出现的消息基本上都会成为类中的方法,因此在设计阶段绘制系统的时序图时,要尽量使用类的已识别出的方法来描述消息11,若出现无法用类的已识别出的方法来描述的消息,就要考虑消息是否是类的一个待识别的方法,若是,就要将这个方法及时添加到类的操作类表中,并用这。

    21、个新方法来描述消息。3.2 定义用户界面类通过对系统的不断分析和细化,可识别出下述界面类、类的操作和属性。(1) 类MainWindowMainWindow是系统的主界面,不同的用户登陆界面不一样。系统的主界面具有菜单和菜单项,当选择不同的菜单项时,用户可以执行不同的操作。当程序退出时,主界面窗口关闭。(2) 类studentDialog界面类studentDialog是进行操作“添加学生”、“修改学生”或“删除学生”时所需的对话框。当选择主窗口中的菜单项“添加学生”时,对话框弹出,学生成绩管理员输入学生信息,然后单击按钮“添加”,系统创建学生账户并将之存储在系统中。当选择菜单项“修改学生”或。

    22、“删除学生”时,对话框FindSDialog弹出,学生成绩管理员输入要修改或删除的学生的studentID,单击按钮“OK”提交。系统查询数据库检索到学生信息后弹出对话框studentDialog,显示学生的详细信息,如若是“修改学生”,学生成绩管理员编辑修改学生的有关信息,然后单击按钮“更新”,更新系统中存储的学生信息;如若是“删除学生”,学生成绩管理员则单击按钮“删除”,系统删除所存储的该学生信息,当然,与该学生有关的其他信息业也一并删除。(3) 类FindSDialog界面类FindSDialog是用来根据学生ID号查找学生的对话框。当主窗口中的菜单项“删除学生”或“修改学生”被选择时,。

    23、该对话框弹出,学生成绩管理员输入学生ID,单击按钮“OK”,系统查询数据库中具有指定ID号的学生信息。(4) 类teacherDialog界面类teacherDialog是进行操作“添加教师”、“修改教师”或“删除教师”时所需的对话框。当选择主窗口中的菜单项“添加教师”时,对话框弹出,学生成绩管理员输入教师信息,然后单击按钮“添加”,系统创建教师帐户并将之存储在系统中。当选择菜单项“修改教师”或“删除教师”时,对话框FindTDialog弹出,学生成绩管理员输入要修改或删除的教师,单击按钮“OK”提交。系统查询数据库获取教师信息后弹出对话框teacherDialog,显示教师的详细信息,如若是。

    24、“修改书种”,学生成绩管理员编辑修改教师的有关信息,然后单击按钮“更新”,更新系统中存储的教师信息;如若是“删除教师”,学生成绩管理员则单击按钮“删除”,该教师信息从系统中删除,与该教师有关的其他信息也一并删除。(5) 类FindTDialog界面类FindTDialog是用来根据教师ID查找教师的对话框。当主窗口中的菜单项“删除教师”或“修改教师”被选择时,该对话框弹出,学生成绩管理员输入教师ID,单击按钮“OK”,系统查询数据库中具有指定ID号的教师信息。(6) 类InpUDialog界面类InpUDialog是进行输入成绩操作或更改成绩操作时所需的对话框。当主窗口中的菜单项“输入”被选择。

    25、时,该对话框弹出,教师输入分数,然后单击按钮“OK”,输入动作被确认,系统创建并保存成绩记录。当选择菜单项“更改成绩”时,也弹出该对话框,教师输入学号,修改相应信息,然后单击按钮“更改”,系统中的更新记录。(7) 类ResCDialog界面类ResCDialog是进行操作“选课”或“取消选课”时所需的对话框。当主窗口中的菜单项“选课”被选择时,该对话框弹出,学生输入要选课的信息,然后单击按钮“选课”,选课动作被确认,系统创建并保存选课记录。当选择菜单项“取消选课”时,也弹出该对话框,学生输入课程名及信息,然后单击按钮“取消选课”,系统中的选课记录被删除。(8) 类MessageWindow信息。

    26、窗口类LoginDialog是用来显示提示信息的对话框。(9) 类LoginDialog界面类LoginDialog是用来输入用户名和密码的对话框。类MainWindow属性及方法见下图3.8类StudentDialog属性及方法见下图3.9类FindSDialog属性及方法见下图3.10图3.10类FindBwrDialog图3.9类BorrowerDialog图3.8类MainWindow类TeacherDialog属性及方法见下图3.11类FindTDialog属性及方法见下图3.12类InpUDialog属性及方法见下图3.13类ResCDialog属性及方法见下图3.14类Messa。

    27、geWindow属性及方法见下图3.15类LoginDialog属性及方法见下图3.16图3.12类FindTDialog图3.11类TitleDialog图3.14类ResCDialog图3.13类InpUDialog图3.16类LoginDialog3.15类MessageWindow3.3 建立类图识别出了系统中的类后,还要识别出类间的关系,然后就可以建立类图了。可将系统中的类分为3个包:GUI包、adminer包和DB包。包GUI由界面类组成,包Adminer由实体类组成,包DB由与数据库有关的类组成。包GUI依赖于包Adminer和包DB,包Adminer依赖于包DB。图3.18 系。

    28、统包图3.3.1 包GUI中的界面类关系窗口MessageWindow和对话框studentDialog、FindSDialog、FindTDialog、teacherDialog、InpUDialog、ResCDialog是主窗口MainWindow的一部分。它们之间存在组合关系。类LoginDialog与类MainWindow之间存在“一对一”的关联关系。类FindSDialog与类studentDialog之间是“一对一”的关联关系。类FindTDialog与类teacherDialog之间的关系也是“一对一”的关联关系。3.3.2 包adminer中的实体类关系类student、类te。

    29、acher、类courseload、coreload都是永久类,它们都是包DB中的类Persistent的子类。类teacher与类student之间存在“多对多”的关联关系,每个teacher对象至少有一个student对象,每个student对象至少对应于一个teacher对象。类teacher与类courseload之间存在“一对多的关系,tudent与类courseload之间存在“一对多”的关联关系,每个student对象可以没有或可有多个courseload(选课),每个courseload(选课)可由多个student选课,学生与成绩之间是一对多的关系,一个学生可以有多门课的成绩。

    30、。3.3.3 类ResCDialog和其他类关系3.3.4 InpUDialog和其他类的关系图第4章 动态行为模型系统的动态行为模型由交互作用图(时序图和协作图)、状态图、活动图描述。4.1 建立交互作用图描述系统用例的主要场景的交互作用图如下所示。4.1.1 添加学生“添加学生”的过程是:学生成绩管理员选择菜单项“添加学生”,对话框弹出,学生成绩管理员输入学生信息,提交,系统根据学生ID号查询数据库,看数据库中是否已存在学生,若不存在,创建学生帐户,并存储学生信息。“添加学生”的时序图如图4.1所示,学生成绩管理员选择菜单项“添加学生”,类MainWindow的方法addstudent()。

    31、被调用,然后通过调用类studentDialog的方法createDialog()创建对话框,学生成绩管理员输入学生信息后,提交信息,类studentDialog的方法addstudentr()被调用,通过调用类student的findBorrower()方法来确定该学生的帐户是否已存在,若不存在,则调用类student的方法newstudent()为学生创建帐户,并调用类student的方法store()存储学生信息。图4.1 添加学生时序图4.1.2 删除学生“删除学生”的过程是:学生成绩管理员选择菜单项“删除学生”,查询对话框弹出,学生成绩管理员输入学生ID号,系统查询数据库,显示学生信。

    32、息(若学生信息不存在,显示提示信息,结束删除动作),按下删除按钮,系统确定是否存在与该学生相关的信息记录,若有,给出提示信息,结束删除动作;若没有,查询是否存在与该学生相关的选课记录,若有,删除选课记录。然后从系统中删除学生。“删除学生”的时序图如图4.2所示,学生成绩管理员选择菜单项“删除学生”,类MainWindow的方法delstudent()被调用,然后通过调用类FindSDialog的方法createDialog()创建对话框。学生成绩管理员输入学生ID号后,提交信息,类FindSDialog的findstudent()方法被调用,通过调用类student的方法findstudent。

    33、(id:String)来确定该学生的帐户是否存在,若存在,返回student对象的OID,然后调用类studentDialog的方法createDialog(OID)显示学生信息,在该方法执行期间,发送消息getstudent(OID)给类student获得学生信息。学生成绩管理员单击确认按钮删除(若学生记录非空,则该学生不能被删除),实现方法如下。类studentDialog的delstudent()方法被调用,发送消息getnewsLoans()判断学生是否有与他有关的记录信息。如果有,则显示提示信息,终止“删除学生”的活动(这个替代流未在图中示出);如果没有,类student的方法get。

    34、newsResC()被调用,返回学生的选课记录的数目,如果返回值等于0,则跳过下述循环,如果返回值非零对每个选课记录都要执行如下操作(也就是说此处是一个循环次数为选课记录数的循环,图4.2所示描述的是选课记录数为1的情况)。调用方法getcourseload()获得制定索引的选课记录,然后调用类Reservecourse的方法getkind()获得所选课的课程类kind对象,再调用类kind的方法delReserve course()删除“选课记录”,调用类Reserve course的方法delete()删除“选课记录”对象。最后调用类student的方法delete()删除学生信息。图4.。

    35、2 删除学生时序图4.1.3 添加教师“添加教师”的过程是:学生成绩管理员选择菜单项“添加教师”,对话框弹出,学生成绩管理员输入教师信息,提交,系统根据教师ID号查询数据库,看数据库中是否已存在该教师,若不存在,创建教师帐户,并存储教师信息。“添加教师”的时序图如图4.1所示,学生成绩管理员选择菜单项“添加教师”,类MainWindow的方法addteacher()被调用,然后通过调用类teacherDialog的方法createDialog()创建对话框,学生成绩管理员输入学生信息后,提交信息,类teacherDialog的方法addteacher()被调用,通过调用类teacher的fin。

    36、dteacher()方法来确定该教师的帐户是否已存在,若不存在,则调用类student的方法newteacher()为学生创建帐户,并调用类teacher的方法store()存储教师信息。4.1.4 删除教师“删除教师”的过程如下。“删除教师”的过程是:学生成绩管理员选择菜单项“删除教师”,查询对话框弹出,学生成绩管理员输入教师ID号,系统查询数据库,显示教师信息(若教师信息不存在,显示提示信息,结束删除动作),按下删除按钮,系统确定是否存在与该教师相关的信息记录,若有,给出提示信息,结束删除动作;若没有,查询是否存在与该教师相关的授课记录,若有,删除授课记录。然后从系统中删除学生。“删除教师。

    37、”的时序图如图4.2所示,学生成绩管理员选择菜单项“删除教师”,类MainWindow的方法delteacher()被调用,然后通过调用类FindTDialog的方法createDialog()创建对话框。学生成绩管理员输入教师ID号后,提交信息,类FindTDialog的findteacher()方法被调用,通过调用类teacher的方法findteacher(id:String)来确定该教师的帐户是否存在,若存在,返回教师对象的OID,然后调用类teacherDialog的方法createDialog(OID)显示教师信息,在该方法执行期间,发送消息getteacher(OID)给类tea。

    38、cher获得教师信息。学生成绩管理员单击确认按钮删除(若教师记录非空,则该教师不能被删除),实现方法如下。类教师Dialog的delteachert()方法被调用,发送消息getnewsLoans()判断教师是否有与他有关的记录信息。如果有,则显示提示信息,终止“删除教师”的活动(这个替代流未在图中示出);如果没有,类teacher的方法getnewsResC()被调用,返回教师的授课记录的数目,如果返回值等于0,则跳过下述循环,如果返回值非零对每个选课记录都要执行如下操作(也就是说此处是一个循环次数为授课记录数的循环,图4.2所示描述的是授课记录数为1的情况)。调用方法getcourselo。

    39、ad()获得制定索引的授课记录,然后调用类Reservecourse的方法getkind()获得所选课的课程类kind对象,再调用类kind的方法delReserve course()删除“授课记录”,调用类Reserve course的方法delete()删除“授课记录”对象。最后调用类teacher的方法delete()删除教师信息。图4.4 删除教师4.1.5 选课“选课”的过程是:学生选择菜单项“选课”,对话框弹出,学生输入要选课程名,提交。系统查询数据库,确定该课程否存在。若存在,查询学生信息,确定学生是否能选,若能,创建并存储选课记录,并将选课记录添加到学生信息中,若不能,提示信息。

    40、;若不存在,则显示提示信息,学生重新输入选课课程名或中止选课操作。“选课”的时序图如图4.7所示。学生选择菜单项“选课”,类MainWindow的reserve course()方法被调用,然后通过调用类ResDialog的方法reserve course()被调用,发送消息findcourse()、findstudent()给类courseload和student查询指定的课程信息和学生信息,返回满足条件的student对象的OID,接着调用方法getstudent()返回对应OID的student对象。发送消息给Reserve course,创建courseload对象,调用类Reserv。

    41、e course的方法store()将选课记录存储到数据库中。发送消息addcourse()给student,将选课记录添加到学生信息中,然后调用类student的方法update()更新数据库中的student对象。并存储更改信息。图如下:图4.7 预定书刊4.1.6 取消选课“取消选课”的过程是:学生选择菜单项“取消选课”,对话框弹出,学生输入要取消选课的课程名,提交。系统查询数据库,确定该课程否存在。若不存在,退出系统。查询与之相关的信息,若存在相关信息,弹出提示信息,删除相关信息或终止删除,退出系统。 学生选择菜单项“取消选课”,类MainWindow的cancel course()方。

    42、法被调用,然后通过调用类CanCDialog的方法cancel course()被调用,发送消息findcourse()和findstudent()给类courseload和student查询指定的课程信息和与之相关的学生信息,返回满足条件的student对象的OID,接着调用方法getstudent()返回对应OID的student对象。发送消息给cancel course,调用类cancel course的cancelNews()的方法删除相关信息,再调用cancel course的方法store()将删除记录存储到数据库中。然后调用类student的方法update()更新数据库中的st。

    43、udent对象。并存储更改信息。4.1.7输入成绩“输入成绩”的过程是:教师选择菜单项“输入成绩”,对话框弹出,教师输入要写成绩的学生名,提交。系统查询数据库,确定该学生是否存在。存在,输入成绩,更改相应信息,并将输入记录添加到学生信息中。若不存在,弹出提示信息。教师重新输入选课课程名或中止选课操作。“输入成绩”的时序图如下图所示。教师选择菜单项“输入成绩”,类MainWindow的inputscore()方法被调用,然后通过调用类InpUscore的方法inputscore()被调用,发送消息findstudent()给类student查询指定的学生信息,返回满足条件的student对象的O。

    44、ID,接着调用方法getstudent()返回对应OID的student对象。发送消息给inputscore(),创建scoreload对象,调用类inputscore的方法store()将选课记录存储到数据库中。发送消息addscore()给student,将成绩记录添加到学生信息中,然后调用类student的方法update()更新数据库中的student对象。并存储更改信息。4.1.8更新成绩“更改成绩”的过程是:教师选择菜单项“更改成绩”,对话框弹出,教师输入要更改成绩的学生名,提交。系统查询数据库,确定该学生是否存在。若不存在,退出系统。若存在,并查询与之相关的信息,若存在相关信息,。

    45、弹出提示信息,删除相关信息并更改信息或终止删除,退出系统。 教师选择菜单项“更改成绩”,类MainWindow的updata score()方法被调用,然后通过调用类InpUDialog的方法Updata score()被调用,发送消息findstudent()给类student查询指定学生的信息,返回满足条件的student对象的OID,接着调用方法getstudent()返回对应OID的student对象。发送消息给Updata score(),调用类updata score的方法store()将更改成绩记录存储到数据库中。然后调用类student的方法update()更新数据库中的stu。

    46、dent对象。并存储更改信并存储更改信息。4.1.9 登录“登录”的时序图如图4.11所示,管理员,教师和学生登陆系统的方式相同,只是所拥有的权限不同,所以,本登陆系统以管理员登陆为例说明。学生成绩管理员运行系统,类LoginDialog的方法createDialog()被调用,创建对话框。学生成绩管理员键入用户名和密码,提交,类LoginDialog的方法validate()被调用,验证用户名和密码是否正确,如若正确,发送消息createWindow()给类MainWindow,启动系统,显示系统主界面。4.2 建立状态图4.2.1 对象score的状态图对象score有两个状态:“exis。

    47、tence”(有成绩)状态和“Unexistence”(无成绩)状态。对象score开始处于“Unexistence”状态,当事件“input score()”(输入成绩)发生时,对象跃迁到“Loaned”状态,同时执行动作store()将成绩存储到数据库中。如果对象处于“Loaned”状态,事件“updata()”(更改)发生,同时执行动作store()将成绩存储到数据库中。4.2.2 对象course的状态图对象course有两个状态:“Reserved”(选中)和“Unreserved”(未选课)状态。对象开始处于“Unreserved”状态,事件“Reserved()”发生,对象跃迁到。

    48、“Reserved”状态,同时执行动作store()将选课记录存储到数据库中。当对象处于“Reserved”状态时,若有新的选课事件发生,自跃迁发生,同时执行动作store()将选课记录存储到数据库中;若有取消选课事件“delReservation()”发生,如果护卫条件NumofRsv(选课数)大于1成立,则发生自跃迁,同时执行动作reservatilon.delete()从数据库中删除选课记录,反之,如果护卫条件NumofRsv等于1成立,则跃迁到状态“unreserved”,同时执行动作reservation.delete()从数据库中删除最后一个选课记录。图4.13 course状态图。

    49、第5章 物理模型本系统是一个基于局域网和数据库的应用系统。配置图如下图所示,有4个节点:“Adminer Server”(学生成绩管理系统服务器)、“DB Server”(数据库服务器)、“PC”(学生成绩管理系统客户端PC)、“Printer”(打印机)。“Adminer Server”为学生提供了选课、取消选课、查看成绩和浏览系统信息的服务,为教师提供了输入成绩、修改成绩、浏览学生信息和系统信的服务;为学生成绩管理员提供了维护学生帐户、教师帐户和系统信息的服务。“DB Server”保存系统中的所有持久数据,它是一个旧系统,因此原型为,“DB Server”与“Adminer Server。

    50、”通过学校局域网连接。学生成绩管理员通过“PC”进行系统中的各种操作,并维护学生、教师帐户系统信息,“PC”也通过校园局域网与“Adminer Server” 连接。“Printer”用来学生成绩、选课等信息,它与“Adminer Server”也是通过校园局域网连接。Dr3uhd3uhd3u断喉弩好多年课代表卡不都快递吧4坤角儿4进而34就可4蛕?D脙#軟媁?vo滂焜?蔣 鳄N-P-觞?F瀢?鷲2SXWJ扱;$E锴?咼?wb,O?hW芀嚙C八?迎q?&锃?.楧D峘?wB賛装 綄?衈瞹?嘁?尥?b袦20?箻yF邴?詑攗檢锟袥匏=憌?&丹?鐘w鲽毨G艟*鍚揝?剾貀窴*権?K猞i?僗野x.?=萙S。

    51、?穊堺e崖?*g繍Y犡cn*唇?竟瘡缀頎y?挤lo睈y軩%q1?r?.鍼t滜?jMR=cZ?X?Pox邦漺癬c荵挜FQ?yF邴?詑攗檢锟袥匏=憌?&丹?鐘w鲽毨G艟*鍚揝?剾貀窴*権?K猞i?僗野x.?=萙S?穊堺e崖?*g繍Y犡cn*唇?竟瘡缀頎y?挤lo睈y軩%q1?r?.鍼t滜?jMR=cZ?X?Pox邦漺癬c荵挜FQ?yF邴?詑攗檢锟袥匏=憌?&丹?鐘w鲽毨G艟*鍚揝?剾貀窴*権?K猞i?僗野x.?=萙S?穊堺e崖?*g繍Y犡cn唇?竟瘡缀頎y?挤lo睈y軩%q1?r?.鍼t滜?jMR=cZ?X?Pox邦漺癬c荵挜FQ?*鍚揝?剾貀窴*権?K猞i?僗野x.?=萙S?穊堺e崖?*g繍Y犡。

    52、cn唇?竟瘡缀頎y?挤lo睈y軩%q1?r?.鍼t滜?jMR=cZ?X?Pox邦漺癬c荵挜FQ?yF邴?詑攗檢锟袥匏=憌?&丹?鐘w鲽毨G艟熋H?&鰢Z?L?&?;.z刧绗鰀畬拃Szl4-榌m Y朗k?儤v?+犢Hmu鏸tn褛 埈蕛癤當? m%犔?QVP?0蜈_?绹?爔豴t纴餚?鉙?hte候R?D檘堑?乒h齊?砱蜮陾巁?g?硃?硘敍橼Z?G贒?IJw谆揚?+u醸?羛?;H?豋H(r8v?崂)y|?铰=吮野m擪楋?岠?8.呫諜S啿jgy圕蜽褘0s燅?晳r?羀矤?厎?v?;騴捃?鶁R?脅一痯譊噼?阜z?;O?婗妸_兼譫烴H树畲门V?深奨劇,臕!?鮥?!荳|呜?b踱4b羾?右檉骽曜RbY?梯魏%鳊;?D?蘞V咉M?.?U噎丂fZJY竖莈;6q蝚 q?f谵僉聒涒鏼(3?輋uUEmScc俚F?哘拒頤僛?捚?薲爐e箍x 滟|嶦?绯?+担擷擾卯?懕aQ捠挧e嘞腕%锂?啰h?.逌uE廇.W9衢o踺隗?峥抙e?4囪W壶%俒資? Y胘Wje樽碜3鈊Q?L?搓#4袂刍窖?A畔/7q?誐棏誄斛Z?X喗Ks轠揋?剬W駒?p鹺j惯?堒j飮鰌?胆?烲?:什听揯t瑽坂:?閕粸?pWd;=vM?z衡$z謘澢辑x鞫獐昃O獳?n瘾h餰蜰z73|庽鮵擶ow:缀e?材儍杊咁舰ep?m)?沟。

    展开全文
  • 学生成绩管理系统MySQL

    千次阅读 2021-01-26 18:05:46
    学生成绩管理系统数据库Create table StuDataconnect to StuData新建表create Table tbl_ClassInfo(classno char(3)not null,classname varchar(10)not null)插入语句insert into tbl_ClassInfo values('001', '...

    学生成绩管理系统数据库

    Create table StuData

    connect to StuData

    新建表

    create Table tbl_ClassInfo(classno char(3)not null,classname varchar(10)not null)

    插入语句

    insert into tbl_ClassInfo values('001', '计算机');

    insert into tbl_ClassInfo values('002', '日语');

    insert into tbl_ClassInfo values('003', '英语');

    新建表

    create Table tbl_ScoreInfo(stuno char(5)not null, classno varchar(3)not null, score decimal);

    插入语句

    insert into tbl_ScoreInfo values('05001','001',95);

    insert into tbl_ScoreInfo values('05001','002',90);

    insert into tbl_ScoreInfo values('05001','003',88);

    insert into tbl_ScoreInfo values('05002','001',91);

    insert into tbl_ScoreInfo values('05002','002',93);

    insert into tbl_ScoreInfo values('05002','003',88);

    insert into tbl_ScoreInfo values('05003','001',95);

    insert into tbl_ScoreInfo values('05003','002',73);

    insert into tbl_ScoreInfo values('05003','003',58);

    insert into tbl_ScoreInfo values('05004','001',47);

    insert into tbl_ScoreInfo values('05004','003',61);

    insert into tbl_ScoreInfo values('05005','002',59);

    insert into tbl_ScoreInfo values('05005','003',47);

    新建表

    create Table tbl_StudentInfo(stuno char(5)not null, stuname varchar(20) not null,stubirth date,stusex decimal,stuaddr varchar(200),stutel varchar(11));

    插入语句

    insert into tbl_StudentInfo values('05001','张三', '1988-12-12',0, '江苏南京', '12345');

    insert into tbl_StudentInfo values('05002','李四', '1987-06-05',1, '上海', '12346');

    insert into tbl_StudentInfo values('05003','王五', '1987-12-01',0, '北京', '12347');

    insert into tbl_StudentInfo values('05004','赵六', '1986-02-23',1, '广东深圳', '12348');

    insert into tbl_StudentInfo values('05005','张三', '1988-04-01',0, '重庆', '12349');

    insert into tbl_StudentInfo values('05006','孙七', '1988-07-03',0, '湖北武汉', ' ');

    查询表

    select * from tbl_ClassInfo;

    展开全文
  • 【简答题】[说明] 某高校欲开发一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩,其主要功能描述如下。 (1)每门课程都由3~6个单元构成... (3)在记录学生成绩之前,系统需要验证这些成绩是否有...
  • 《(最新整理)学生成绩管理系统数据库设计》由会员分享,可在线阅读,更多相关《(最新整理)学生成绩管理系统数据库设计(18页珍藏版)》请在人人文库网上搜索。1、完整)学生成绩管理系统数据库设计(完整)学生成绩管理...
  • 本次毕业设计根据学生在校的基本情况,分析现状各个学校的基本需求情况,进行设计的一款学生成绩管理系统,通过本系统可以方便的管理学校的基本情况,包括院系管理,考试成绩管理等等,基本情况的管理。本次设计包括...
  • [课程设计] 学生成绩管理系统

    千次阅读 2021-10-13 17:32:35
    学生成绩管理系统是各类程序设计课程的一个常见课程设计项目,包括了学生成绩信息的增删改查和排序功能。虽然学生成绩管理系统互联网上随处可见,但是大多数代码命名不规范、随意性大,而且代码质量较为糟糕,尤其是...
  • 一份C语言学生成绩管理系统设计报告,分享给大家一、课程设计题目《学生成绩管理系统设计》二、实训目的(1)掌握结构化程序设计的基本方法,基本掌握面向对象程序设计的基本思路和方法。(2)掌握C++的基本概念和基础...
  • 其中学生可以查看自己的成绩及挂科情况,导员可以查看自己所带的班级的成绩及挂科情况,老师可以管理自己任课的班级成绩,进行基本的增删改查。 技术框架 本项目采用前后端分离模式,前端使用Vuejs + Element-ui...
  • 学生成绩管理系统报告》由会员分享,可在线阅读,更多相关《学生成绩管理系统报告(25页珍藏版)》请在人人文库网上搜索。1、课程设计报告科 目: 数据库课程设计 设计题目: 学生成绩管理系统 学生姓名: 李文富 ...
  • 学生成绩管理系统源代码》由会员分享,可在线阅读,更多相关《学生成绩管理系统源代码(25页珍藏版)》请在人人文库网上搜索。1、一、课程设计(论文)题目学生成绩管理系统二、本次课程设计(论文)应达到的目的通过...
  • 管 理 系 统系部名称:电子信息与工程系专业名称:电子科学与技术班 级:科技0701班内序号:30学生姓名:杨 超指导教师:黄 茹时间:2008年6月10实验题目:学生成绩管理系统实验目的熟悉c语言的编译连接和运行过程。...
  • 数据库课程设计报告-学生成绩管理系统引 言在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越快。因此对教育行业的多元信息进行有效的管理工作,也成为教育行业中的重中之重。目前,学校工作繁杂...
  • 《C语言学生成绩管理系统设计.doc》由会员分享,可免费在线阅读全文,更多与《C语言学生成绩管理系统设计》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。1、GE\nquot);rintf(quot\t%ld\tquot,stu[i...
  • C++编写学生成绩管理系统

    千次阅读 2021-12-04 16:26:12
    本人是大一本科在读学生,也是一名刚接触代码不久的新手程序员。在学完结构体部分内容后,老师布置了一个综合实验...本文章主要是向大家分享我所编写的学生成绩管理系统代码以及我在编程过程中的感受和遇到的一些问题。
  • 学生成绩管理系统数据库精选郑州大学西亚斯国际学院数据库设计论文题 目 学生成绩管理系统数据库 指导老师学生姓名学号4专 业计算机科学与技术班 级 计科1班院系电子信息工程学院目录第一章学生成绩管理系统数据库...
  • 使用数据库的两张表,user_info用户信息表和stu_info学生成绩信息表。提供登录服务:分为管理员登录和学生登录,若登录时输入数据库中没有的账号 和密码的时候系统会自动注册,即将新账号信息写入user_info中去。...
  • 沈阳航空航天大学课程设计报大作业名称:C语言课程设计大作业题目:学生成绩管理系统设计院(系):计算机学院专业:计算机科学与技术班 级:学 号:姓 名: 指导教师:完成日期:2016年12月24日目录TOC \o "1-5" \h \...
  • 数据库学生成绩管理系统课程设计报告 数据库课程设计报告1.功能需求 本报告主要介绍学生成绩管理系统的数据库设计,从需求分析到数据库的运行与维护都 进行详细的叙述。该系统是利用 SQL 开发出来的。通过 SQL 建立...
  • 君一里终需三发表于:2020-11-26 16:34 阅读: 120次这篇文章详细介绍了C语言基于单链表得学生成绩管理系统,对大家的学习和工作有很好的参考价值,现在赶紧来跟我一起学习一下吧!传说中讲课通俗而不庸俗,说话风流...
  • 最近在问答上帮提问者回答问题,有...一 题目简单实现一个学生成绩系统,一个学生包含学号,姓名,年龄,数学成绩,计算机成绩,总成绩六项信息,学号唯一,姓名可以重名。数据格式如下:学号姓名年龄数学计算机总分...
  • 摘要:对于各类学校,每年都有大量的学生成绩信息需要及时更新和管理....因此根据各类学校的普遍特点和面对的实际情况,需要开发一个具有一定通用性的学生成绩管理系统来辅助学校进行管理. 本文探究了学生成绩...
  • 准备工作就是建立数据库可以参考之前的博客:python mysql学生成绩管理系统 1 首先我写了一个登陆界面类 login: 这个界面就是实现用户的登录,以及登陆后软件界面的显示以及本界面的关闭,难的就是布局的问题,我也...
  • 这个是我大三上学期的时候刚开始学习数据库课程的时候做的一个很稀烂的课程设计的源代码,当时刚刚开始学习Java和Oracle,而且当时就花了今年元旦3天假,做的这个C/S程序中没有加入触发器和存储过程等高级PL/SQL编程...
  • 与今天要介绍的Java版本学生成绩管理系统很相似,但是用c语言编写程序有它自己的弊端。c语言是面向过程的设计语言,而Java是面向对象的设计语言,代码量要比c简单些。但这并不是主要的区别,用面向过程与面向对象所...
  • 1.系统需求分析学生成绩管理系统记录了学生大一的各科成绩及每门课程的成绩,它包括:学期、姓名、班级(汉字)、学号、科目、学分、分数,试设计学生成绩管理系统,使之能提供以下功能:录入、修改学生的各科的成绩...
  • 学生成绩管理系统数据库模板1计算机系综合性实验《数据库课程设计》设计报告设计题目实验学期 至 学年第 学期学生所在系部年级 专业班级学生姓名 学号任课教师实验成绩计算机系制一、需求分析阶段1.信息需求高校学生...
  • 下面设计基于CSDN博主若如初见kk 学生成绩管理系统数据库设计 目录 学生成绩管理系统数据库设计... 1 1. 概述... 1 1.1 项目背景... 1 1.2 需求分析... 1 需求分析... 2 概念结构设计... 2 逻辑结构设计... 2 物理...
  • 一、团队介绍名字负责任务界面层GUI和登录功能的实现业务逻辑层基本功能的实现随机生成十万学生数据信息和学生成绩的可视化分析(柱状图)(可点击姓名进入个人博客)二、系统功能1. 登录界面实现验证码验证2. 添加学生...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,539
精华内容 16,615
关键字:

学生成绩管理过程