(完整版)学生成绩信息管理系统
学生成绩管理系统报告(完整版)

目录摘要 (1)第1章需求分析 (2)1.1 引言 (2)1.2 用户需求 (2)第2章概念设计 (8)2.1 实体E-R图如下: (8)第3章详细设计 (10)第4章编码和实现阶段 (12)4.1 公共类 (12)4.2 主程序设计 (12)第5章运行维护阶段 (20)第6章总结 (21)学生成绩管理系统设计与实现摘要学生成绩管理系统是学校不可或缺的一个组成部分,随着计算机技术的逐渐发展,计算机在教育系统中的应用得到了巨大的发展。
教务管理正在逐步迈向管理信息现代化。
但是我国的教务管理信息化水平还处在初级阶段,主要表现在对学生的成绩管理、学生的课程管理还是采用原有的人工管理方式。
学校的规模不断扩大,学生数量急剧增加,有关学生的各种数据也成倍增长。
面对庞大的信息量,这时的人工管理几乎无法实现,在这种情况下用数据库进行管理变的尤为必要,这可以发挥计算机的优势,就需要有教务管理系统来提高学生成绩管理工作的效率.通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量和减少人为的错误。
本次我们组选的就是学生成绩管理系统,要实现对学生成绩、课程的相关管理。
关键字:学生成绩管理系统;Visual Studio 2005 ;Access数据库第1章需求分析1.1 引言进行数据库设计首先必须准确了解也分析用户需求(包括数据和处理)。
目的是为学生成绩管理数据库系统的设计打下牢牢的基础,是数据库开发的重要文件依据,主要为数据库设计人员使用,是用户和系统分析员的项目依据文件。
作为“地基”的需求分析是否做得充分与准确,它决定了在其上构建数据库大厦的速度和质量。
需求分析做得不好,甚至会导致整个数据库设计返工重做。
1.2 用户需求本系统是针对高等院校的学生学籍管理,因此此系统的用户包括系统管理员和学生。
主要涉及系部信息、班级信息、学生信息、课程信息和成绩等多种数据信息。
经走访调查得出教务员有以下要求:(1)管理员、教师和学生登录后可以改自己的密码。
学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典引言概述:学生成绩管理系统是一种用于管理学生各科成绩的软件系统。
通过数据流程图和数据字典,可以清晰地了解学生成绩管理系统的工作流程和数据定义。
本文将详细介绍学生成绩管理系统的数据流程图和数据字典,以便更好地理解该系统的功能和数据结构。
一、数据流程图1.1 学生信息录入流程1.2 成绩录入流程1.3 成绩查询流程1.1 学生信息录入流程学生信息录入是学生成绩管理系统的第一步,其流程如下:1.1.1 教师登录系统1.1.2 选择学生信息录入功能1.1.3 输入学生基本信息,如学号、姓名、性别、班级等1.1.4 系统保存学生信息1.2 成绩录入流程成绩录入是学生成绩管理系统的核心功能,其流程如下:1.2.1 教师登录系统1.2.2 选择成绩录入功能1.2.3 选择要录入成绩的科目和班级1.2.4 输入学生学号和对应科目的成绩1.2.5 系统保存成绩信息1.3 成绩查询流程成绩查询是学生成绩管理系统的常用功能,其流程如下:1.3.1 教师登录系统1.3.2 选择成绩查询功能1.3.3 输入要查询的学生学号或姓名1.3.4 系统显示该学生的各科成绩信息二、数据字典2.1 学生信息数据字典2.1.1 学号:学生的唯一标识符,通常由系统自动生成2.1.2 姓名:学生的姓名,由教师或管理员输入2.1.3 性别:学生的性别,可选项为男或女2.1.4 班级:学生所在的班级,由教师或管理员输入2.2 成绩信息数据字典2.2.1 学号:学生的唯一标识符,用于关联学生信息2.2.2 科目:学生所修科目的名称,如数学、语文、英语等2.2.3 成绩:学生在对应科目的成绩,由教师输入2.2.4 班级:学生所在的班级,用于关联班级信息2.3 教师信息数据字典2.3.1 教师编号:教师的唯一标识符,通常由系统自动生成2.3.2 姓名:教师的姓名,由管理员输入2.3.3 职称:教师的职称,如讲师、副教授、教授等2.3.4 所在学院:教师所在的学院,由管理员输入三、系统功能说明3.1 学生信息管理功能3.1.1 学生信息录入:教师或管理员可以录入学生的基本信息3.1.2 学生信息查询:教师或管理员可以查询学生的基本信息3.2 成绩管理功能3.2.1 成绩录入:教师可以录入学生的各科成绩3.2.2 成绩查询:教师或学生可以查询学生的各科成绩3.3 教师信息管理功能3.3.1 教师信息录入:管理员可以录入教师的基本信息3.3.2 教师信息查询:管理员可以查询教师的基本信息四、系统数据流说明4.1 输入流4.1.1 学生基本信息:由教师或管理员输入4.1.2 成绩信息:由教师输入4.2 输出流4.2.1 学生基本信息:显示学生的基本信息4.2.2 成绩信息:显示学生的各科成绩信息五、数据存储说明5.1 学生信息存储:包含学生的学号、姓名、性别、班级等信息5.2 成绩信息存储:包含学生的学号、科目、成绩、班级等信息5.3 教师信息存储:包含教师的教师编号、姓名、职称、所在学院等信息通过以上的数据流程图和数据字典,我们可以清晰地了解学生成绩管理系统的工作流程和数据结构。
学生成绩信息管理系统(20210212024921)

1 问题描述学生成绩管理系统学生成绩管理系统学生信息包括学期、学号、班级、姓名,和语文、数学、英语、计算机四门课成绩。
并按班级、学期查询学生成绩,并能录入、修改,求学生平均成绩和总成绩,输出不及格科目,按班级输出成绩单,按班级对学生成绩进行排序。
2 系统分析问题定义学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)。
主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分,设计并输出统计报表(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单(5)能按班级,按课程,对学生成绩进行排序。
要求:使用二进制文件方式存储数据,系统以菜单方式工作开发工具VC++数据结构typedef struct studentMark{int term;int classes;char name[10];int number;char sex[7];float chinese;float math;float english;float computer; struct studentMark *next;} MARK; 这是定义一个结构体,主要包括学期,班级,姓名,学号,性别,语文成绩,数学成绩,英语成绩,计算机成绩, 以及包括一个结构体指针。
另外还用了 typedef 这个关键字。
因此,在程序的后面也可以用 MARK 来定义结构体变量或结构体指 针变量。
定义学期,学期只能是第一学期或者第二学期。
例如 int 1 ;则表示第一学期。
定义班级,班级只能是一班或者二班。
例如 int 2 ;则是表示定义为二班。
定义姓名,在数组中存放字符串。
例如 char name[]= “ yang ”;则该学生的姓名为 yang 定义学号,例如 int 1 ;则该学生学号为 1 号。
定义姓别,其性别最大长度为 7.例如 char sex[]= “man ”;说明该学生为男生。
(完整版)学生信息管理系统数据流图

管理学生模块据流图:管理老师模块数据流图:选课管理与成绩管理模块数据流图:数据字典数据流描述:数据流名:查询条件数据来源:学生登录处理数据去向:学生信息表说明:通过合适的查询条件,输出学生的信息数据组成:学号+姓名数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:课程安排信息数据来源:管理员制定的课程管理信息数据去向:学生课程安排信息说明:用于管理学生的课程安排信息数据组成:课程号代+课程名+代课老师+学分+时间数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:录入成绩数据来源:老师对课程的考核方式数据去向:学生成绩管理说明:录入学生的选课的成绩信息数据组成:学号+姓名+课程名+成绩+学分数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:录入课程数据来源:管理员制定的课程信息数据去向:学生选课管理说明:录入学生选择的课程数据组成:课程代号+课程名+出版社数据流量:早晨9点到中午12点,下午14点到17点数据流量小数据流名:学生基本信息数据来源:管理员对学生的信息的管理数据去向:学生与老师及管理员得到学生的基本信息说明:查询学生的基本信息数据组成:学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:选课信息数据来源:老师输入到选课管理中的课程信息数据去向:学生的选课信息与成绩管理说明:查询学生的选课信息数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:学生的成绩及学分数据来源:选课管理与成绩管理数据去向:学生的成绩与学分信息说明:查询学生的成绩与学分数据组成:序号+课程名+学分+类别+考核方式+成绩+辅修标记数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:老师信息数据来源:管理老师数据去向:老师查询自身的信息说明:查询老师的基本信息数据组成:老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话数据流量:早晨9点到中午12点,下午14点到17点数据流量小数据流名:课程信息数据来源:管理员课程管理数据去向:学生的课程安排说明:管理员对课程信息的管理数据组成:课程代号+课程名+出版社+作者+专业+系别+年级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:管理员信息数据来源:管理员信息管理数据去向:管理员对自身的信息查询说明:管理员的基本信息数据组成:姓名+性别+民族+出生年月+籍贯+电话+职称数据流量:早晨9点到中午12点,下午14点到17点数据流量小数据流名:学生课程安排信息数据来源:管理课程对课程信息的录入数据去向:学生的选课信息说明:学生的课程安排数据组成:课程号代+课程名+代课老师+学分+时间数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:学生成绩信息数据来源:老师对课程考核方式数据去向:学生对成绩信息的查询说明:学生对选中课程的成绩查询数据组成:序号+课程名+学分+类别+考核方式+成绩+辅修标记数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:学生选课信息数据来源:管理员对课程的制定数据去向:学生选课管理说明:学生查询选中的课程信息数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:选课统计数据来源:选课管理数据去向:成绩管理说明:对选中课程的学生做出统计数据组成:课程代号+课程名+任课老师+人数+班级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:选课查询数据来源:管理元制定的课程数据去向:学生选课管理说明:学生查询选中的课程信息数据组成:课程代号+课程名+学分+类别+任课老师+人数+班级数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:成绩查询数据来源:老师对选课的考核方式数据去向:学生成绩管理说明:学生查询选中课程成绩信息数据组成:序号+课程名+学分+类别+考核方式+成绩+辅修标记数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据流名:成绩信息数据来源:老师对选课的考核方式数据去向:学生成绩管理说明:学生查询选中课程成绩信息数据组成:序号+课程名+学分+类别+考核方式+成绩+辅修标记数据流量:早晨9点到中午12点,下午14点到17点数据流量大数据元素词条描述:学生信息表:属性名字段名称数据类型长度备注学号Xs_xh Char 6 主键姓名Xs_xm char 8 不空性别Xs_xb bit 2 不空民族Xs_mz char 4 不空出生日期Xs_csrq smalldatetime 20 不空系别Xs_xib char 4 不空专业Xs_zy char 8 不空年级Xs_nj char 8 不空籍贯Xs_jg char 50 不空名称:学生信息表别名:描述:反应学生基本信息情况定义:学生信息表=学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯位置:学生信息的录入学生信息的查询学生信息的修改课程信息表:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:课程信息表别名:描述:反应课程基本信息定义:课程信息表=课程代号+课程编号+课程类型+学分+学时位置:课程信息的录入课程信息的查询课程信息的修改成绩信息表:属性名字段名称数据类型长度备注序号Cj_xh int 2 不空课程号Cj_kch char 6 主键学分Cj_xf int 2 不空类型Cj_lx char 6 不空考核方式Cj_khfs char 8 不空成绩Cj_cj int 2 不空辅修标记Cj_bj char 6 不空名称:成绩信息表别名:描述:反应成绩基本信息定义:成绩信息表=序号+课程名+学分+类别+考核方式+成绩+辅修标记位置:成绩信息录入成信息的查询成绩信息修改选课信息表:属性名字段名称数据类型长度备注课程代号Xk_dh char 6 主键课程名Xk_kcm char 8 不空学分Xk_xf int 2 不空类别Xk_lb char 6 不空任课老师Xk_dkls char 6 不空人数Xk_rs int 2 不空班级Xk_bj char 6 不空名称:选课信息表别名:描述:反应选课基本信息定义:选课信息表=课程代号+课程名+学分+类别+任课老师+人数+班级位置:选课信息录入选课息的查询选课信息修改老师信息表:属性名字段名称数据类型长度备注老师编号Ls_bh char 6 主键姓名Ls_xm char 6 不空性别Ls_xb bit 2 不空出生日期Ls_csrq smalldatetime 20 不空职称Ls_zc char 8 不空院系Ls_yx char 6 不空籍贯Ls_jg char 50 不空电话Ls_dh char 12 不空名称:老师信息表别名:描述:反应老师基本信息定义:老师信息表=老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话位置:老师信息录入老师信息查询老师信息修改课程安排信息表:属性名字段名称数据类型长度备注年级Kcap_zy char 6 不空专业Kcap_nj char 8 不空班级Kcap_bj char 6 不空院系Kcap_yx char 6 不空周数Kcap_zs int 2 不空内容Kcap_nr char 12 不空名称:课程安排信息表别名:描述:反应课程安排基本信息定义:课程安排信息表=年级+专业+班级+院系+周数+内容位置:课程安排信息录入课程安排信息查询课程安排信息修改管理员信息表:属性名字段名称数据类型长度备注姓名Gl_xm char 6 不空性别Gl_xb bit 2 不空职称Gl_zc char 6 不空民族Gl_mz char 4 不空出生日期Gl_csrq smalldatetime 20 不空电话Gl_dh char 12 不空籍贯Gl_jg char 50 不空名称:管理员信息表别名:描述:反应管理员基本信息定义:管理员信息表=姓名+性别+民族+出生年月+籍贯+电话+职称位置:管理员信息录入管理员信息查询管理员信息修改管理学生:属性名字段名称数据类型长度备注学号Xs_xh Char 6 主键姓名Xs_xm char 8 不空性别Xs_xb bit 2 不空民族Xs_mz char 4 不空出生日期Xs_csrq smalldatetime 20 不空系别Xs_xib char 4 不空专业Xs_zy char 8 不空年级Xs_nj char 8 不空籍贯Xs_jg char 50 不空名称:学生信息表别名:描述:反应学生基本信息情况定义:管理学生=学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯位置:学生信息的录入学生信息的查询学生信息的修改管理老师:属性名字段名称数据类型长度备注老师编号Ls_bh char 6 主键姓名Ls_xm char 6 不空性别Ls_xb bit 2 不空出生日期Ls_csrq smalldatetime 20 不空职称Ls_zc char 8 不空院系Ls_yx char 6 不空籍贯Ls_jg char 50 不空电话Ls_dh char 12 不空名称:管理老师别名:描述:反应老师基本信息定义:管理老师=老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话位置:老师信息录入老师信息查询老师信息修改管理员信息:属性名字段名称数据类型长度备注姓名Gl_xm char 6 不空性别Gl_xb bit 2 不空职称Gl_zc char 6 不空民族Gl_mz char 4 不空出生日期Gl_csrq smalldatetime 20 不空电话Gl_dh char 12 不空籍贯Gl_jg char 50 不空名称:管理员信息别名:描述:反应管理员基本信息定义:管理员信息=姓名+性别+民族+出生年月+籍贯+电话+职称位置:管理员信息录入管理员信息查询管理员信息修改管理课程:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:管理课程别名:描述:反应课程基本信息定义:管理课程=课程代号+课程编号+课程类型+学分+学时位置:课程信息的录入课程信息的查询课程信息的修改选课管理:属性名字段名称数据类型长度备注课程代号Xk_dh char 6 主键课程名Xk_kcm char 8 不空学分Xk_xf int 2 不空类别Xk_lb char 6 不空任课老师Xk_dkls char 6 不空人数Xk_rs int 2 不空班级Xk_bj char 6 不空名称:选课管理别名:描述:反应选课基本信息定义:选课管理=课程代号+课程名+学分+类别+任课老师+人数+班级位置:选课信息录入选课息的查询选课信息修改成绩管理:属性名字段名称数据类型长度备注序号Cj_xh int 2 不空课程号Cj_kch char 6 主键学分Cj_xf int 2 不空类型Cj_lx char 6 不空考核方式Cj_khfs char 8 不空成绩Cj_cj int 2 不空辅修标记Cj_bj char 6 不空名称:成绩管理别名:描述:反应成绩基本信息定义:成绩管理=序号+课程名+学分+类别+考核方式+成绩+辅修标记位置:成绩信息录入成信息的查询成绩信息修改课程安排管理:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:课程安排管理别名:描述:反应课程基本信息定义:课程安排管理=课程代号+课程编号+课程类型+学分+学时位置:课程安排信息的录入课程安排信息的查询课程安排信息的修改增加学生:属性名字段名称数据类型长度备注学号Xs_xh Char 6 主键姓名Xs_xm char 8 不空性别Xs_xb bit 2 不空民族Xs_mz char 4 不空出生日期Xs_csrq smalldatetime 20 不空系别Xs_xib char 4 不空专业Xs_zy char 8 不空年级Xs_nj char 8 不空籍贯Xs_jg char 50 不空名称:增加学生编号:1.1别名:描述:反应学入生基本信息情况定义:增加学生=学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯位置:新增学生信息的录入新增学生信息的查询新增学生信息的修改删除学生属性名字段名称数据类型长度备注学号Xs_xh Char 6 主键姓名Xs_xm char 8 不空性别Xs_xb bit 2 不空民族Xs_mz char 4 不空出生日期Xs_csrq smalldatetime 20 不空系别Xs_xib char 4 不空专业Xs_zy char 8 不空年级Xs_nj char 8 不空籍贯Xs_jg char 50 不空名称:删除学生编号:1.2别名:描述:反应毕业学生基本信息情况定义:删除学生=学号+姓名+性别+民族+出生日期+系别+专业+年级+籍贯位置:毕业学生信息的修改毕业学生信息的查询增加老师:属性名字段名称数据类型长度备注老师编号Ls_bh char 6 主键姓名Ls_xm char 6 不空性别Ls_xb bit 2 不空出生日期Ls_csrq smalldatetime 20 不空职称Ls_zc char 8 不空院系Ls_yx char 6 不空籍贯Ls_jg char 50 不空电话Ls_dh char 12 不空名称:增加老师编号:2.1别名:描述:反应新增老师基本信息定义:增加老师=老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话位置:新增老师信息录入新增老师信息查询新增老师信息修改删除老师:属性名字段名称数据类型长度备注老师编号Ls_bh char 6 主键姓名Ls_xm char 6 不空性别Ls_xb bit 2 不空出生日期Ls_csrq smalldatetime 20 不空职称Ls_zc char 8 不空院系Ls_yx char 6 不空籍贯Ls_jg char 50 不空电话Ls_dh char 12 不空名称:删除老师编号:2.2别名:描述:反应离职老师基本信息定义:删除老师=老师编号+姓名+性别+职称+出生日期+院系+籍贯+电话位置:离职老师信息查询离职老师信息修改选中课程:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:选中课程编号:3.1别名:描述:反应选中课程基本信息定义:选中课程=课程代号+课程编号+课程类型+学分+学时位置:选中课程信息的录入选中课程信息的查询选中课程信息的修改退选课程:属性名字段名称数据类型长度备注课程代号Kc_dh char 6 主键课程编号Kc_bh char 6 不空课程类型Kc_lx char 8 不空学分Kc_xf int 2 不空学时Kc_xs int 2 不空名称:退选课程编号:3.2别名:描述:反应退选课程基本信息定义:退选课程=课程代号+课程编号+课程类型+学分+学时位置:退选课程信息的修改退选课程信息的查询总成绩:属性名字段名称数据类型长度备注序号Cj_xh int 2 不空课程号Cj_kch char 6 主键学分Cj_xf int 2 不空类型Cj_lx char 6 不空考核方式Cj_khfs char 8 不空成绩Cj_cj int 2 不空辅修标记Cj_bj char 6 不空名称:总成绩编号:4.1别名:描述:反应成绩基本信息定义:总成绩=序号+课程名+学分+类别+考核方式+成绩+辅修标记位置:总成绩信息录入总成信息的查询总成绩信息修改总学分:属性名字段名称数据类型长度备注序号Cj_xh int 2 不空课程号Cj_kch char 6 主键学分Cj_xf int 2 不空类型Cj_lx char 6 不空考核方式Cj_khfs char 8 不空成绩Cj_cj int 2 不空辅修标记Cj_bj char 6 不空名称:总学分编号:4.2别名:描述:反应学分基本信息定义:总学分=序号+课程名+学分+类别+考核方式+成绩+辅修标记位置::总学分信息录入总学分的查询总学分信息修改。
学生成绩管理信息系统

学生成绩管理信息系统一、需求分析1、分析整个系统需要的数据:学号、姓名、性别和相关课程的成绩等数据;2、分析系统应具备的功能:浏览、输入、修改、删除、查询、统计等功能。
二、系统设计1、数据库设计系统所用数据库为:mydb.mdb,该数据库共包含三张表:学生、课程和成绩,其结构如下表1-表3所示:表1 “学生”表结构表2 “课程”表结构表3 “成绩”表结构2、建立数据库使用可视化数据管理器建立的数据库是Access数据库(类型名为.mdb),可以被Access直接打开和操作。
(1)在VB环境下,执行“外接程序”菜单中的“可视化数据管理器”命令,即可打开如图1所示的“可视化数据管理器”窗口。
图1 “可视化数据管理器”窗口(2)在“可视化数据管理器”窗口中执行“文件”菜单中的“新建”→“Microsoft Access (M)”→“Version 7.0 MD B(7)”,弹出如图2所示对话框。
图2 输入数据库文件名(3)在对话框中选择数据库文件保存的位置,并输入文件名后(保存类型只能是MDB),单击“保存”按钮,打开如图3所示的建立数据表窗口。
图3 建立数据表窗口(4)右键单击数据库窗口,在弹出的菜单中选择“新建表”命令,打开如图4所示的“表结构”对话框。
图4 “表”结构对话框(5)在“表结构”对话框中输入表名Studeng后,单击“添加字段”按钮,在弹出的如图产5所示的“添加字段”对话框中输入字段名,选择字段类型(Text 类型字段还需输入字段大小),重复此过程直至添加完所有字段后,单击“关闭”按钮。
图4 “添加字段”对话框(6)单击“表结构”对话框的“生成表”按钮,至此数据表建立完毕。
(7)单击“表结构”中的“添加索引”(见图5),在弹出的如图6所示的对话框中输入索引名称,选择索引字段后,单击“确定”即完成索引的建立过程。
图5 “表结构”对话框图6 “添加索引”对话框(8)重复步骤(4)-(7)完成Course表和Score表的建立。
(完整版)学生信息成绩管理系统毕业论文

学生信息成绩管理系统毕业论文学院名称:班级:姓名:指导教师姓名:指导教师职称:yyyy年 M 月中文摘要学生信息成绩管理系统是高校学生管理信息系统中的重要组成部分。
学生信息成绩管理,将对学校的教务起到一个很大的作用,对学生的资料信息,成绩信息进行规范的管理。
本文结合了当前大学生的实际情况,以大学生综合素质测评为核心,以学生为主体进行科学分析,结合社会需求,构建出一套符合时代要求的综合评价体系,设计并实现了学生信息成绩管理系统。
本系统采用SQL Server2008为后台数据库,Visual Studio 2010 C#的开发平台设计并制作而成。
同时采用了B/S(浏览器 / 服务器)的模式,管理员、辅导员和学生都可以在任意客户端通过网络访问本系统,并进行修改、添加或查询等工作,为学校管理人员提供了一个合理的信息化管理平台,推进了学校素质教育工作的全面开展。
关键词 : 学生信息成绩管理,功能设计,Visual Studio 2010 C#,SQL Server2008AbstractStudents information management system is an important part of university students' management information system. Studentsinformation management, will be a big impact on the school educational administration, to student's information, the management of the specification of the performance information.In this paper, in combination with the practical situation of thecurrent college students, college students' comprehensive qualityevaluation as the core, take the student as the main body of scientific analysis, combined with the social needs, build a comprehensive evaluation system, conform to the requirements of the era of students information management system was designed and implemented. This system USESthe SQL Server2008 as the background database, Visual Studio 2010 c # development platform design and production. And adopted B/S(browser/server) mode, administrators, counselors, and students can bein any client .Keywords: Students information management, functional design,Visual Studio 2010 C# ,SQL Server2008目录中文摘要 ......................................................................................................................... Abstract......................................................................................................................... 第一章绪论 ....................................................................................................................1.1 选题背景 ...................................................................................................................1.2 课题研究的现实意义 ................................................................................................ 1.3 课题研究的目的 ....................................................................................................... 1.4 课题的主要内容 .......................................................................................................第二章系统开发的方法以及技术 ..................................................................................2.1 系统开发法简介 ........................................................................................................ 2.1.1 结构化系统的开发法 .............................................................................................. 2.1.2 快速原型法 ............................................................................................................. 2.1.3 面向对象的开发法 .................................................................................................. 2.2 比较各类开发法 .......................................................................................................2.3 相关技术的简介 (1)2.3.1. Visual C#2010的相关介绍 (1)2.3.2 SQL SERVER 2008与 SQL语言的介绍与特点 (1)第三章学生信息成绩管理系统的系统分析 (1)3.1 系统原则及目标 (1)3.2 工作流程图 (1)3.2.1“选课管理”工作流程 (1)3.2.2“成绩管理”工作流程 (1)3.3 业务流程分析 (1)3.3.1 业务流程图图例 (1)3.3.2 主要业务流程图 (1)第四章学生信息成绩管理系统的系统设计 (3)4. 1 学生信息成绩管理系统的模块设计 (3)4.1.1 结构化设计方法 (3)4.1.2 系统的构成 (3)4. 2 学生信息成绩管理系统的数据库设计 (3)4.2.1 数据库概念结构设计 (3)4.2.2 数据库逻辑结构设计 (3)4.2.3 系统主要数据信息表 (3)4.2.4 数据库物理设计 (3)第五章系统主要模块的设计与实现 (4)5.1 用户登录 (4)5.2 管理员使用界面及操作 (4)5.2.1 基础信息管理 (4)5.2.2 教师管理 (5)5.2.3 学生管理 (5)5.2.4 课程管理 (5)5.2.5 成绩管理 (5)5.2.9 系统管理 (5)5.3 教师管理使用界面及操作 (6)5.4 学生管理使用界面及操作 (6)5.4.1 学生管理 (6)5.4.2 选课管理 (6)5.4.3 成绩管理 (6)5.5 系统的改进 (6)6 第六章总结与展望 .......................................................................................................第一章绪论1.1 选题背景随着科学的进步,计算机技术方面也迅猛发展,比如计算机网络技术与数据库技术方面,这些方面的进步改变了人们生活工作的方式。
学生成绩信息管理系统

学绩信息管理系统学绩信息管理系统文档1. 系统简介1.1 目的和背景1.2 功能概述2. 用户需求分析2.1 学生用户需求- 查看个人成绩记录及排名情况。
- 提交作业、报告等课程相关文件。
- 查询选修课程信息并进行选课操作。
2.2 教师用户需求- 录入学绩,并计算平均分与班级排名。
- 发布作业、考试安排以及其他通知事项给学生。
3.系统设计与架构3.1数据库设计-设计数据库表结构,包括:学生表、教师表、科目表等。
3-2功能模块划分-划定各个子模块职责范围,如登录认证模块, 成绩录入/查询模块, 文件模块等。
4.详细功能描述4-1登陆注册–实现不同角色(管理员/老师/學生)登錄註冊功能,包含用戶驗證與權限控制部分。
4-2成績查詢–允许學生根据条件查询个人成绩,并显示排名情况。
4-3成績录入–允许教师输入学绩,系统自动计算平均分与班级排名,并提供相应的错误提示功能。
4-4 文件- 学生可以提交作业、报告等文件;老师可发布课程资料给学生。
5. 系统测试5.1 单元测试- 对每个模块进行单元测试以验证其正确性和稳定性。
6.部署与运行环境6-1硬件需求-列出服务器及客户端所需要的硬件配置要求。
6-2软件需求-列出操作系統, 数据库管理系统和其他必须安装在服务器上的软体需求。
7.附件8.法律名词及注释:- GDPR(General Data Protection Regulation):欧洲通用数据保护条例,是为了加强对于公民隐私权利和信息处理规范而制定的一项监管政策。
- COPPA (Children's Online Privacy Protection Act):儿童在线隐私保护法案,在美国旨在增强对13岁以下孩子们网络活动中收集到他们身份信息使用者责任意识方面做了规定。
- FERPA (Family Educational Rights and Privacy Act):家庭教育权利和隐私法案,是美国一项旨在保护学生个人信息的联邦法律。
(完整word版)学生成绩信息管理系统

学生成绩信息管理系统1 引言............................................................................................. 11.1 设计目的与要求 ................................................................... 11。
2设计内容.............................................................................. 12系统需求与功能分析..................................................................... 12。
1 系统需求分析 .................................................................... 22。
2系统功能分析 ..................................................................... 23总体结构设计................................................................................. 33.1系统的结构设计 .................................................................... 33。
2系统管理流程图................................................................. 34 系统详细设计和系统实现........................................................... 45 系统测试 ........................................................................................ 96 结束语......................................................................................... 13参考文献......................................................................................... 13附录1:链表结构化设计源程序清单........................................... 14附录2:顺序表结构化设计源程序清单。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安文理学院信息工程学院软件编程课程设计报告设计题目:学生成绩管理系统课程设计学生学号: 020******* 专业班级:物联网工程一班学生姓名:张旺阳学生成绩:指导教师(职称):课题工作时间: 2015-11-25 至 2015-12-9 信息工程学院软件编程课程设计任务书指导教师:日期:2015年11月25日成绩评定表学生姓名:张旺阳学号: 020******* 专业/班级:物联网工程一班目录1. 概述 (1)1.1课题背景 (1)1.2系统功能 (3)1.3设计要求 (4)2. 概要设计 (5)2.1系统功能模块 (5)2.2各模块流程图 (6)3. 详细设计 (8)3.1 程序中使用的数据结构 (8)3.2 函数列表 (10)4. 设计结果与分析 (12)5. 总结与体会 (15)参考文献 (X)附录主要程序代码 (X)1.1课题背景随着计算机的普及,计算机在生活中得到越来越多的应用,其中在计算机上运行的各种软件在解决生活中的实际问题中起到重大的作用,而目前在编写应用程序时,c++以其高效及灵活性成为大多数程序设计者的首选,其次对于普通用户者,利用c++语言设计出适用的小型软件对解决生活中的繁琐问题有很大的作用。
在学校或班级,教师经常会对某次考试中的所有学生的成绩进行统计和管理,由于学生数目经常繁多,所以在处理统计学生总成绩和平均成绩时工作会相对繁琐,所以针对这种情况,同时我分析了成绩管理所需要的功能,在利用C++语言及VC++6.0程序运行平台之下,设计一种小型的学生成绩管理系统。
1.2系统功能1.录入2.修改3.求总分4.求平均分5.查询6.排序1.3设计要求学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)。
主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分,设计并输出统计报表(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单(5)能按班级,按课程,对学生成绩进行排序。
要求:使用二进制文件方式存储数据,系统以菜单方式工作第二章概要设计2.1系统功能模块(1)创建主菜单(2)实现学生成绩信息录入(3)实现学生成绩信息查询(4)实现学生成绩信息修改(一)修改某个学生的成绩(a)按学期查询学生的成绩(b)按班级查询学生的成绩(c)按学号查询学生的成绩(二)查询不及格的科目和学生名单(5)实现学生成绩统计(a)按班级统计学生的总分。
(b)按班级统计学生的平均分。
(6)实现学生成绩信息输出(7)保存学生的成绩信息于文件2.2系统功能流程图第三章详细设计3.1主要数据结构typedef struct studentMark{int term;int classes;char name[10];int number;char sex[7];float chinese;float math;float english;float computer;struct studentMark *next;} MARK;这是定义一个结构体,主要包括学期,班级,姓名,学号,性别,语文成绩,数学成绩,英语成绩,计算机成绩,以及包括一个结构体指针。
另外还用了typedef这个关键字。
因此,在程序的后面也可以用MARK来定义结构体变量或结构体指针变量。
int term; 定义学期,学期只能是第一学期或者第二学期。
例如int 1;则表示第一学期。
int classes; 定义班级,班级只能是一班或者二班。
例如 int 2;则是表示定义为二班。
char name[10]; 定义姓名,在数组中存放字符串。
例如 char name[]=“yang”;则该学生的姓名为yang int number; 定义学号,例如int 1;则该学生学号为1号。
char sex[7]; 定义姓别,其性别最大长度为7.例如 char sex[]=“man”;说明该学生为男生。
同样可以这样定义女生。
float chinese; 定义语文成绩。
float math; 定义数学成绩。
float english; 定义英语成绩。
float computer; 定义计算机成绩。
struct studentMark *next; 定义一个结构体指针。
3.1.1 主函数int main();主函数,程序的入口。
void m(MARK *head);主菜单的函数原型,在函数m(head)中主要有选择创建学生成绩信息,查询学生成绩信息,修改学生成绩信息,统计学生成绩信息,输出学生成绩信息,存储学生成绩信息于文件,以及退出体统等选项可供用户选择。
MARK *creat(void );创建函数的函数原型,在函数creat()中用户可以输入初始的学生信息:其中包括学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息。
3.1.2 查询函数void searchMark(MARK *head);查询菜单的函数原型,在函数searchMark(head)中用户可以自由选择是查询某一个学生的成绩还是查询不及格学生的成绩。
而这通过调用函数searchMarkStusentone(head)和函数searchMarkFail(head)完成操作。
void searchMarkStusentone(MARK *head);查询某个学生成绩的函数原型,在函数searchMarkStusentone(head)中用户可以按学号或班级或者是按学期来查找某个学生的成绩。
通过函数searchnumber(head)和函数 searchclasses(head)以及函数searchterm(head)完成操作。
void searchnumber(MARK *head) 按学号查找学生的函数原型,;void searchclasses(MARK *head); 按班级查找学生的函数原型,void searchterm(MARK *head); 按学期查找学生的函数原型,void searchMarkFail(MARK *head);查询没有及格的学生的函数原型,通过这个函数可以查找学生不及格科目及学生名单。
3.1.3 修改函数MARK *changeMark(MARK *head);修改学生成绩信息的函数原型,可以修改学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息。
3.1.4 统计函数void conuntMark(MARK *head);统计学生成绩的函数原型,在函数conuntMark(head)中用户可以统计学生的总成绩以及平均成绩,通过调用函数totalMark(head)和函数aveMark (head)完成操作。
3.1.5 输出函数void totalMark(MARK *head); 统计学生总成绩的函数原型,void aveMark(MARK *head); 统计学生平均成绩的函数原型,void printClassMark(MARK *head);输出学生成绩信息的函数原型,通过此函数可以输出学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息到屏幕上。
void saveFileMark(MARK *head);存储学生成绩信息于文件的函数原型,通过此函数可以输出学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息与文件中。
第四章设计结果及分析4.1程序设计结果4.1.1源程序如下:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#define MAR (struct studentMark *)malloc(sizeof(struct studentMark))typedef struct studentMark{int term;int classes;char name[10];int number;char sex[7];float chinese;float math;float english;float computer;struct studentMark *next;} MARK;void m(MARK *head);MARK *creat(void );void searchMark(MARK *head);void searchMarkStusentone(MARK *head);void searchnumber(MARK *head);void searchclasses(MARK *head);void searchterm(MARK *head);void searchMarkFail(MARK *head);MARK *changeMark(MARK *head);void conuntMark(MARK *head);void totalMark(MARK *head);void aveMark(MARK *head);void printClassMark(MARK *head);void saveFileMark(MARK *head);int main(void){MARK *head=NULL;printf("**********************************************\n");printf(" ## 欢迎进入学生成绩信息管理系统##\n");printf("**********************************************\n");printf("\n");head=creat();m(head);return(0);}void m(MARK *head ){int choose;while(1){printf("************************************\n");printf(" 学生成绩信息管理\n");printf("************************************\n");printf(" 1创建成绩信息\n");printf(" 2查询成绩信息\n");printf(" 3修改成绩信息\n");printf(" 4统计成绩信息\n");printf(" 5按班级输出学生信息\n");printf(" 6保存成绩信息于文件\n");printf(" 7退出系统\n");printf("************************************\n");fflush(stdin);printf("请选择:");scanf("%d",&choose);if(1==choose)head=creat();else if(2==choose)searchMark(head);else if(3==choose)head=changeMark(head);else if(4==choose)conuntMark(head);else if(5==choose)printClassMark(head);else if(6==choose)saveFileMark(head);elseprintf("退出系统");break;}}//创建一个学生成绩信息系统MARK *creat(){MARK *head=NULL,*p1=NULL,*p2=NULL;char ch;fflush(stdin);printf("请问是否输入信息?(y 或n)\n");scanf("%c",&ch);head=p1=p2=MAR;while(p1!=NULL && ch=='y'){p1=MAR;printf("请输入要录入学生信息的学期(学期只能为 1 或 2 ):");fflush(stdin);scanf("%d",&p1->term);while(p1->term!=1 && p1->term!=2){getchar();printf("输入错误!请重新输入:");scanf("%d",&p1->term);}printf("请输入要录入学生成绩信息的班级:");fflush(stdin);scanf("%d",&p1->classes);while(p1->classes!=1 && p1->classes!=2){getchar();printf("输入错误!请重新输入:");scanf("%d",&p1->classes);}printf("请输入该班的学生信息!\n");printf("请输入学生学号:");fflush(stdin);scanf("%d",&p1->number);printf("请输入学生姓名:");fflush(stdin);scanf("%s",p1->name);printf("请输入学生姓别:");fflush(stdin);scanf("%s",p1->sex);fflush(stdin);printf("请输入语文成绩(0-100):");scanf("%f",&p1->chinese);fflush(stdin);printf("请输入数学成绩(0-100):");scanf("%f",&p1->math);fflush(stdin);printf("请输入英语成绩(0-100):");scanf("%f",&p1->english);fflush(stdin);printf("请输入计算机成绩(0-100):");scanf("%f",&p1->computer);p2->next=p1;p2=p1;printf("是否还要输入信息(y/n):");fflush(stdin);scanf("%c",&ch);}p2->next = NULL; //链表结尾return(head);}//查找学生成绩信息void searchMark(MARK *head){int choose1;while(1){printf("************************************\n");printf(" 查询学生成绩信息\n");printf(" 1查询某个学生成绩\n");printf(" 2查询不及格学生成绩\n");printf(" 3返回主菜单\n");printf("*************************************\n");fflush(stdin);printf("请选择:");scanf("%d",&choose1);if(1==choose1)searchMarkStusentone(head);else if(2==choose1)searchMarkFail(head);elseprintf("返回主菜单");break;}}//修改学生成绩信息(按学期或按学号修改)MARK *changeMark(MARK *head){int choose2;MARK *p=head->next;char name[10];char ch;int number;printf("************************************\n");printf(" 你所需要修改的\n");printf(" 1修改学号\n");printf(" 2修改姓名\n");printf(" 3修改班级\n");printf(" 4修改性别\n");printf(" 5修改成绩\n");printf("*************************************\n");fflush(stdin);printf("请选择:");scanf("%d",&choose2);while(1){while(p!=NULL){if(1==choose2){printf("你要修改的信息是:学号!\n"); //按姓名修改学号fflush(stdin);printf("请输入你要修改的学生姓名:");scanf("%s",name);if (strcmp(name,p->name)==0){fflush(stdin);printf("请输入该学生新的学号:"); //输入新学号scanf("%d",&p->number);printf("修改学生的学号后:\n");printf("%s学生的新学号是%d\n",p->name,p->number);break;}}else if(2==choose2){printf("你要修改的信息是:姓名!\n");fflush(stdin);printf("请输入你要修改的学生的学号:");scanf("%d",&number);if(number==p->number)//输入学号,判断条件{fflush(stdin);printf("请输入该学生的姓名:");scanf("%s",p->name);//输入要做修改的学生姓名printf("修改学生的姓名后:\n");printf("%s是该学生的新姓名\n",p->name);break;}}else if(3==choose2){printf("你要修改的信息是:班级!\n"); //按学号修改班级fflush(stdin);printf("请输入你要修改的学生的学号:");scanf("%d",&number);if(number==p->number){fflush(stdin);printf("请输入该学生的班级:"); //输入要做修改的班级scanf("%d",&p->classes);printf("修改班级后\n");printf("该学生的新班级为:%d\n",p->classes);break;}}else if(4==choose2){printf("你要修改的信息是:性别!\n"); //按学号修改性别fflush(stdin);printf("请输入你要修改的学生的学号:");scanf("%d",&number);if(number==p->number){fflush(stdin);printf("请输入该学生的性别:"); //输入要做修改的性别scanf("%s",p->sex);printf("修改该学生的性别后\n");printf("该学生的新性别为:%s\n",p->sex);break;}}else if(5==choose2){printf("你要修改的信息是:成绩!\n");//按学号修改成绩fflush(stdin);printf("请输入你要修改的学生的学号:");scanf("%d",&number);if(number==p->number) //输入学号{fflush(stdin);printf("请输入该学生新的语文成绩:\n");scanf("%f",&p->chinese);fflush(stdin);printf("请输入该学生新的数学成绩:\n");scanf("%f",&p->math);//输入新的四门成绩fflush(stdin);printf("请输入该学生新的英语成绩:\n");scanf("%f",&p->english);fflush(stdin);printf("请输入该学生新的计算机成绩:\n");scanf("%f",&p->computer);printf("修改后的成绩\n");printf("该学生新的语文成绩:%f\n",p->chinese);printf("该学生新的数学成绩:%f\n",p->math);printf("请该学生新的英语成绩:%f\n",p->english);printf("该学生新的计算机成绩:%f\n",p->computer);break;}}elsep=p->next;}printf("是否还要继续修改信息(y/n):\n"); //判断,是否还要修改信息,跳出循环fflush(stdin);if((ch=getchar())=='n')break;}return(head);}//统计学生成绩总分和平均分void conuntMark(MARK *head){MARK *p=head->next;int classes;char ch1,ch2;fflush(stdin);printf("请输入要统计成绩的班级(1或2):"); scanf("%d",&classes);printf("正在统计该班级学生的总分,请稍侯\n");while(1){totalMark(p);printf("是否还要继续统计其他学生的成绩(y/n):");fflush(stdin);if((ch1=getchar())=='n')break;}printf("是否统计该班级学生平均分?(y/n):");fflush(stdin);if((ch2=getchar()!='n')){printf("正在统计该班学生平均分进行统计,请稍侯\n");aveMark(p); //调用平均分函数printf("\n");}}//按班级输出学生信息void printClassMark(MARK *head){MARK *p;p=head->next;printf("***********************************************************************\n");printf("学期\t学号\t班别\t姓名\t性别\t语文\t\t数学\t\t英语\t\t计算机\t\t\n");printf("***********************************************************************\n");while(p!=NULL){printf("%d\t",p->term);printf("%d\t",p->number);printf("%d\t",p->classes);printf("%s\t",p->name);printf("%s\t",p->sex);printf("%f\t",p->chinese);printf("%1f\t",p->math);printf("%1f\t",p->english);printf("%1f\t",p->computer);p=p->next;printf("\n");printf("**************************************************************************\n");}}//保存学生成绩信息于文件void saveFileMark(MARK *head){char *fileName;FILE *stu;MARK *p=head->next;if(p==NULL){printf("没有任何信息,请先存入信息!\n");printf("请按任意键返回主菜单!\n");getchar();}else{fileName=(char *)malloc(sizeof(char));fflush(stdin);printf("请输入你要保存的文件名!\n");gets(fileName);fileName=strcat(fileName,".txt");stu=fopen(fileName,"wb+");while(p!=NULL){fprintf(stu,"%d %d",p->term ,p->classes );fprintf(stu,"%s %d",p->name,p->number);fprintf(stu,"%s",p->sex );fprintf(stu,"%f %f %f %f",p->chinese ,p->math ,p->english ,p->comp uter );p=p->next ;}fclose(stu);printf("已经保存文件在%s中!\n",fileName);printf("请按任意键返回主菜单!\n");getchar();}}//查找某个学生的成绩void searchMarkStusentone(MARK *head){char ch1,ch2;MARK *p=head->next;if(p==NULL){printf("没有任何信息,请先存入信息!\n");printf("请按任意键返回主菜单!\n");getchar();}elsewhile(1){printf(" 你要选择何种方式查询成绩!\n");printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");printf(" a、学号: \n");printf(" b、班级: \n");printf(" c、学期: \n");printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");fflush(stdin);scanf("%c",&ch1);switch(ch1){case 'a':searchnumber(head);break;case 'b':searchclasses(head);break;case 'c':searchterm(head);break;}printf("\n");printf("是否还要继续查询学生的信息(y/n):");fflush(stdin);if((ch2=getchar())=='n')break;}}//查询不及格学生void searchMarkFail(MARK *head){MARK *p=head->next ;char name[10];int number,flag=0;int choose5;do{fflush(stdin);printf("请输入!(1按姓名查询 2按学号查询 3 返回)\n");scanf("%d",&choose5);switch(choose5){case 1 :fflush(stdin);printf("请输入要查找的名字\n");gets(name);while(p!=NULL){if(!strcmp(name,p->name)){printf("姓名学号\n");printf("%s %d\n",p->name ,p->number );if(p->chinese <60)printf("%s 的语文成绩不及格\n",p->name );if(p->math <60)printf("%s 的数学成绩不及格\n",p->name );if(p->english <60)printf("%s 的英语成绩不及格\n",p->name );if(p->computer <60)printf("%s 的计算机成绩不及格\n",p->name );flag++;}printf("\n");p=p->next;}if(flag==0)printf("没有你要找的信息!\n");break;case 2 :fflush(stdin);printf("请输入你想要查找的学号:\n");scanf("%d",&number);while(p!=NULL){if(number==p->number){printf("姓名学号\n");printf("%s %d\n",p->name ,p->number );if(p->chinese <60)printf("%s 的语文成绩不及格\n",p->name );if(p->math <60)printf("%s 的数学成绩不及格\n",p->name );if(p->english <60)printf("%s 的英语成绩不及格\n",p->name );if(p->computer <60)printf("%s 的计算机成绩不及格\n",p->name );flag++;}printf("\n");p=p->next;}if(flag==0)printf("没有你要找的信息!\n");break;case 3:printf("请按任意键返回!\n");getchar();break;default:printf("你输入的有误!!请重新选择\n");break;}}while(choose5!=1 && choose5!=2 && choose5!=3);printf("按任意键返回!\n");getchar();}//按学号查询void searchnumber(MARK *head){MARK *p=head->next;int number,i=0;printf("请输入你要查询的学生学号:\n");scanf("%d",&number);while(p!=NULL){if(number==p->number){printf("-------------------------------------------------------------------------\n");printf("\t学期\t学号\t班别\t姓名\t性别\t语文\t数学\t英语\t计算机\t\n");printf("-------------------------------------------------------------------------\n");printf("%d\t",p->term);printf("%d\t",p->number);printf("%d\t",p->classes);printf("%s\t",p->name);printf("%s\t",p->sex);printf("%1f\t",p->chinese);printf("%1f\t",p->math);printf("%1f\t",p->english);printf("%1f\t",p->computer);i=2;}p=p->next;}if(i==0)printf("没找到该学生的信息!");}//按班级查询成绩void searchclasses(MARK *head){int classes,i=0;MARK *p=head->next;printf("请输入你要查询成绩的班级:");scanf("%d",&classes);printf("请输出%d班所有同学的成绩:\n",classes);printf("------------------------------------------------------------------------\n");printf("\t学期\t学号\t班别\t姓名\t性别\t语文\t数学\t英语\t计算机\t\n");printf("-------------------------------------------------------------------------\n");while(p!=NULL) {if(classes==p->classes){printf("%d\t",p->term);printf("%d\t",p->number);printf("%d\t",p->classes);printf("%s\t",p->name);printf("%s\t",p->sex);printf("%1f\t",p->chinese);printf("%1f\t",p->math);printf("%1f\t",p->english);printf("%1f\t",p->computer);printf("\n");printf("\n");i=2;}p=p->next;if(i==0)printf("没找到学生信息!\n");}//按学期查询void searchterm(MARK *head){int term,i=0;MARK *p=head->next;printf("请输入你要查询成绩的学期:");scanf("%d",&term);printf("请输出第%d学期所有班级的信息:\n");printf("------------------------------------------------------------------------\n");printf("\t学期\t学号\t班别\t姓名\t性别\t语文\t数学\t英语\t计算机\t\n");printf("-------------------------------------------------------------------------\n");while(p!=NULL) {if(term==p->term)printf("%d\t",p->term);printf("%d\t",p->number);printf("%d\t",p->classes);printf("%s\t",p->name);printf("%s\t",p->sex);printf("%1f\t",p->chinese);printf("%1f\t",p->math);printf("%1f\t",p->english);printf("%1f\t",p->computer);printf("\n");printf("\n");i=2;}p=p->next;}if(i==0)printf("没找到学生信息!\n");}//学生总分void totalMark(MARK *head){float total=0;int i=0;MARK *p=head->next;while(p!=NULL){total=p->chinese+p->math+p->english+p->computer;printf("第%d个学生的总分为:%1f!\n",i+1,total);printf("\n");printf("已经统计了第%d个学生的总成绩!\n",i+1);printf("\n");printf("\n");i++;p=p->next;}}//学生平均分void aveMark(MARK *head){float total=0,ave=0;int i=0;MARK *p=head->next;while(p!=NULL){total=p->chinese+p->math+p->english+p->computer;ave=total/4;printf("第%d个学生的平均分:%1f!\n",i+1,ave);printf("\n");printf("已经统计了第%d个学生的平均成绩!\n",i+1);printf("\n");printf("\n");i++;p=p->next;}}4.1.2运行结果如下:(a)创建学生成绩信息(b)查找学生成绩信息第五章总结与体会5.1个人总结心得在做这学生成绩管理系统时,自我感觉还好,在大的方面能够较为准确的把握,只是在一些小的细节不能做的很好,这一点是值得思考的地方。