2013数据结构 学生信息管理系统-大二
数据结构课程设计学生信息管理系统

数据结构课程设计学生信息管理系统学生信息管理系统是一种用于管理学生信息的软件系统。
它主要用于学校、教育机构或者其他组织中的学生信息管理工作。
该系统可以匡助学校或者教育机构高效地采集、存储和管理学生的个人信息、学籍信息、成绩信息等。
一、系统架构学生信息管理系统通常由前端界面、后端数据库和服务器组成。
1. 前端界面:提供给用户使用的界面,包括学生信息录入、查询、修改和删除等功能。
界面设计应简洁、直观,方便用户操作。
2. 后端数据库:用于存储学生信息的数据库,可以使用关系型数据库如MySQL或者非关系型数据库如MongoDB。
数据库应具备高效的读写能力和良好的数据结构设计,以提高系统的性能和稳定性。
3. 服务器:用于承载学生信息管理系统的运行,包括前端界面的展示和与后端数据库的交互。
服务器应具备高并发处理能力,以应对大量用户同时访问的情况。
二、功能需求学生信息管理系统应具备以下功能:1. 学生信息录入:提供学生信息的录入界面,包括学生姓名、性别、出生日期、联系方式等基本信息的录入。
2. 学生信息查询:提供学生信息的查询功能,可以根据学生姓名、学号、班级等条件进行查询,并展示查询结果。
3. 学生信息修改:提供学生信息的修改功能,可以根据学生学号或者其他惟一标识符进行信息的修改。
4. 学生信息删除:提供学生信息的删除功能,可以根据学生学号或者其他惟一标识符进行信息的删除。
5. 学生成绩管理:提供学生成绩的录入、查询、修改和删除功能,可以根据学生学号或者其他惟一标识符进行成绩信息的管理。
6. 学生信息统计:提供学生信息的统计功能,可以统计学生的人数、男女比例、年龄分布等信息,并以图表形式展示。
7. 用户权限管理:提供不同用户角色的权限管理功能,如管理员、教师和学生等角色,不同角色具有不同的系统访问权限。
三、数据结构设计为了高效地存储和管理学生信息,需要设计合适的数据结构。
1. 学生信息表:用于存储学生的基本信息,包括学生学号、姓名、性别、出生日期、联系方式等字段。
(完整版)学生信息管理系统数据流图

管理学生模块据流图:管理老师模块数据流图:选课管理与成绩管理模块数据流图:数据字典数据流描述:数据流名:查询条件数据来源:学生登录处理数据去向:学生信息表说明:通过合适的查询条件,输出学生的信息数据组成:学号+姓名数据流量:早晨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别名:描述:反应学分基本信息定义:总学分=序号+课程名+学分+类别+考核方式+成绩+辅修标记位置::总学分信息录入总学分的查询总学分信息修改。
数据结构源代码(学生信息管理系统)

printf("手机号: ");
scanf("%s", s->tel);
printf("电子邮箱: ");
scanf("%s", s->mail);
while(p->next!=NULL)
{
p=p->next;
}
if(p->next==NULL)
{
p->next=s;
{
if(!strcmp(a,q->sex))
{
printf("|*********************查询结果*******************************|\n");
printf("编号------姓名------性别--------手机号--------电子邮箱\n");
printf(" \n %3d,%8s,%8s,%8s,%8s\n ",q->num,q->name,q->sex,q->tel,q->mail);
p=p->next;
break;
}
return h;
}
Status Insert(node *head) /*插入信息*/
{
node *p,*s; /*p、s为临时结点*/
p=head;
s=(node *)malloc(sizeof(node)); /*生成新结点*/
printf("请输入信息:");
printf("|***********************************************************|\n");
学生信息管理系统数据流图汇总

学生信息管理系统数据流图汇总Revised at 16:25 am on June 10, 2019目录图0学生信息管理系统数据流图第0层图1学生信息管理系统数据流图第1层图2学生基本信息管理数据流图第2层图基本信息录入管理数据流图第3层图3学生异动信息管理数据流图第2层图异动信息插入管理数据流图第3层图4学生考勤管理数据流图第2层图考勤信息录入管理数据流图第3层图5学生公寓管理数据流图第2层图学生住宿管理数据流图第3层图5.1.1学生入住管理数据流图第4层图5.1.1.1入住学生信息录入管理数据流图第5层图5.1.2卫生管理数据流图第4层图5.1.2.1卫生信息录入管理数据流图第5层图5.1.3纪律管理数据流图第4层图5.1.3.1纪律信息录入管理数据流图第5层图5.1.4维修管理数据流图第4层图5.1.4.1维修信息录入管理数据流图第5层图5.1.5退宿管理数据流图第4层图5.1.5.1退宿信息录入管理数据流图第5层图5.1.6走读管理数据流图第4层图5.1.6.1走读信息申报管理数据流图第5层图5.1.6.走读信息录入管理数据流图第6层图5.1.7住宿调整管理数据流图第4层图5.1.7.1住宿调整信息录入管理数据流图第5层图房源资料库管理数据流图第3层图5.2.1房源信息录入管理数据流图第4层信息维护图宿舍工作人员管理数据流图第3层图5.3.1宿舍工作人员信息录入管理数据流图第4层图6学生处分管理数据流图第2层图学生处分信息录入管理数据流图第3层图7学生资助管理数据流图第2层图奖学金管理数据流图第3层图7.1.1奖学金信息申报管理数据流图第4层图7.1.1.1奖学金信息录入管理数据流图第5层图助学金管理数据流图第3层图7.2.1助学金信息申报管理数据流图第4层图7.2.1.1助学金信息录入管理数据流图第5层图助学贷款管理数据流图第3层图7.3.1助学贷款信息申报管理数据流图第4层图7.3.1.1助学贷款信息录入管理数据流图第5层图勤工助学管理数据流图第3层图7.4.1勤工助学信息申报管理数据流图第4层图7.4.1.1勤工助学信息录入管理数据流图第5层图缓交学杂费管理数据流图第3层图7.5.1缓交学杂费信息申报管理数据流图第4层图7.5.1.1缓交学杂费信息录入管理数据流图第5层。
数据结构之学生成绩管理系统

学生成绩管理系统一、试验目旳1. 通过本次课程设计中学生成绩管理系统旳题目,掌握链表等数据构造旳基本操作方面旳知识,并能灵活旳处理某些基本旳问题,加深对其性质及各项操作旳理解;2. 将所学数据构造方面旳知识与一门详细旳语言——C语言来进行实现, 感受数据构造旳强大作用, 加深理解。
二、试验规定(1)管理系统中有五个规定: 输入查找修改插入删除存储(2)输入规定: 可以通过键盘输入和文献输入两种(3)查找规定:可以根据学生号查找单个学生旳信息, 也可以遍历所有学生信息(4)修改规定: 可以根据学生号修改单个学生所有信息(5)插入规定: 可以实现头插和尾插(6)删除规定: 可以根据学生号删除单个学生信息三、存储规定: 通过链表存储所有信息四、算法旳思想与算法实现环节1. 基本思想通过链表数据类型进行基本操作, 重要有三个模块: 分别是主函数模块、重要操作函数及基本操作函数。
其中, 主函数负责其他子函数旳调用实现以及基本界面旳操作重要函数包括:void StuInput(Student *); //学生成绩管理系统旳输入函数, 由主函数调用void StuSelect(Student *); //学生成绩管理系统旳查找函数, 由主函数调用void StuAlter(Student *); //学生成绩管理系统旳修改函数, 由主函数调用void StuInsert(Student *); //学生成绩管理系统旳插入函数, 由主函数调用void StuDelect(Student *); //学生成绩管理系统旳删除函数, 由主函数调用void StuSave(Student *); //学生成绩管理系统旳存储函数, 由主函数调用基本操作函数:void StuOutput(Student *p); //输出函数int StuImport(Student *head,Student *p); //输入函数void StuInputHand(Student *head); //学生成绩管理系统旳手动输入函数, 由输入函数调用void StuInputFile(Student *head); //学生成绩管理系统旳文献输入函数, 由输入函数调用void StuSelectErg(Student *head); //学生成绩管理系统旳遍历函数, 由查找函数调用void StuSelectNumFind(Student *head); //学生成绩管理系统旳按学号查找函数, 由查找函数调用void StuSelectSubFind(Student *head); //学生成绩管理系统旳按科目查找函数, 由查找函数调用2. 实现环节首先, 分析题目规定划分实现模块, 定义基本数据类型, 诸如构造体、链表等;另一方面, 针对上述旳基本操作实现详细需要进行旳操作, 详细实现每个环节需要进行旳基本操作, 即详细编写每个小函数实现功能;最终, 编写主函数对每个实现进行按需调用, 实现操作。
学生信息管理系统实验报告

面向对象程序设计大作业------学生信息管理系统学院名称信息科学与工程学院专业班级数学大类2011级2班学生姓名魏仿学号 201101051324指导教师孙红梅完成时间:2013年 5 月29 日ﻬ学生信息管理系统1、编程目的为方便学生信息的管理,特编写这个程序方便操作学生信息管理系统。
实现对学生姓名、学号、性别、成绩等信息的管理,可以实现学生的增加、删、查等多种功能的操作。
2、系统简介本系统实现学生信息的管理,以动态链表、结构体数据类型来实现数据的存储与加工,利用链表来实现学生信息的插入、删除、查找功能。
主要分7个模块:模块一:结构体的定义,定义struct student{};structdate{};结构体struct student{};数据成员包括:intstudentId; char name[20]; char sex[5];struct date birthday; int score; struct student *next; 其中 stru ct date birthday;又借用struct date{};结构体的成员:int year; int month; int day;以此来实现学生学号、姓名、性别、出生日期、成绩等信息的存储于处理。
模块二:ListCreate函数,函数类型为:struct student 形参:struct student *head struct student *p 返回值:head指针。
实现链表的建立功能。
模块三:ListInsert函数,函数类型为:struct student 形参:struct student *head structstudent *p返回值:head指针。
实现链表节点的插入功能。
模块四:ListDelete函数, 函数类型为:struct student 形参:struct student*head struct student *p 返回值:head指针。
学生管理信息系统功能结构图

郑州华信学院学生信息管理系统课程名称:信息系统分析与设计项目名称:学生信息管理系统报告名称:功能结构图指导老师:王国君老师专业班级: 08计算机科学与技术小组编号:第6组系统功能结构1.结构设计根据对系统进行的需求分析,本系统将分为4个模块:1>学生管理管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。
2>课程管理管理课程的基本信息,包括课程信息的添加、修改和删除。
3>成绩管理管理学生选课的成绩信息,包括成绩的登记与修改。
4>信息查询查询已经登记的信息,包括学生的基本信息、课程的基本信息成绩信息。
2.功能结构图2.1系统功能结构如图所示:2.2功能流程及工作流描述1>增加学生信息系统操作人员打开学生信息增加界面,输入相关信息(姓名、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。
2>修改学生信息根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。
3>删除学生信息根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。
4>学生选课根据学生学号与需要选择的课程,确认无误后保存,数据库中将自动添加新的选课记录。
5>增加课程信息系统操作人员根据打开的课程信息增加界面,输入相关信息(课程名称、授课教师、上课时间、上课地点和课程类型等),在数据库中添加相关数据。
6>修改课程信息根据课程号查询出课程的相关信息,修改相关条目后保存在数据库中。
7>删除课程信息根据课程号查询出该课程的相关信息,确定删除后,在数据库中删除该信息。
8>登记成绩根据学号以及该学生所选择的课程,进行成绩登记,未选课的学生无法进行登记9>修改成绩对已登记的成绩进行修改。
10>学生查询可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生信息进行查询,所有符合条件的学生信息都将会被显示出来。
数据结构课程设计

数据结构课程设计(学生信息管理系统)(总17页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--1需求分析设计任务要求通讯录系统主要包含以下要求:(1)设计一个学生通讯录管理系统,每个学生数据信息包括:姓名、电话号码、qq、邮编和地址;(2)创建学生数据类型为结构体并以磁盘文件保存;(3)能读取磁盘文件并显示输出学生的相关信息;(4)能按姓名或电话等多种方式进行学生信息查询;(5)能查询、添加、修改和删除学生通讯录。
系统功能需求分析系统主要包含以下主要功能:(1)查询通讯录记录;(2)添加通讯录记录;(3)修改通讯录记录;(4)删除通讯录记录;(5)关闭通讯录。
2 概要设计数据类型本系统中所有变量都定义为字符串型,学生通讯录数据类型定义为结构体类型。
然而为了更加方便,添加了抽象数据类型类book,再私有继承了以结构体存储的学生数据。
主程序及各程序层次关系以下是系统功能模块关系图,主要包含查询、添加、修改、删除联系人和关闭系统等功能。
另外还提供了键盘式选择菜单实现功能选择。
图系统功能模块关系图查询联系人:可以选择用姓名和电话两种方式查询添加联系人:可以添加通讯录记录,依次输入姓名、电话、qq、邮编和地址修改联系人:输入欲修改联系人姓名后,再依次输入修改姓名、电话、qq、邮编和地址即可完成修改删除联系人:输入欲删除联系人的姓名后,会自动删除该联系人的记录内容关闭系统:选择相关操作进行系统正常关闭,保存有效数据记录3 详细设计实现数据类型(1)以字符串类型定义通讯录中学生数据信息变量:string name;程序的调试过程中遇上了文件存储数据的正确读取错误,但经过不断查问和查阅相关书籍后,根据调试提示错误,解决了所有错误。
通过文件存储学生数据信息,使得读取信息操作更加方便、省事;2.在执行操作时,是根据文件搜索算法,去获取学生数据信息。
使得在时间和空间上读取数据都要更加快捷、省事。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》课程设计说明书题目学生信息管理系统学号**********姓名王绪指导教师周李涌日期2013年12月31日内蒙古科技大学课程设计任务书目录第1章需求分析........................................................................................................................... - 4 - 第2章总体设计........................................................................................................................... - 6 -3.1 SeqList抽象数据类型的设计 .......................................................................................... - 7 - 第4章详细设计........................................................................................................................... - 9 -4.1 工程视图........................................................................................................................... - 9 -4.2 类图视图........................................................................................................................... - 9 -4.3 函数的调用关系..............................................................................................................- 11 -4.4 主程序流程图................................................................................................................. - 12 - 第5章测试................................................................................................................................. - 17 - 第6章总结................................................................................................................................. - 23 - 附录:程序代码........................................................................................................................... - 25 -第1章需求分析随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。
而随着校园信息化、多媒体化的建设。
教育资源的种类已经远远的超出了以往我们所认知的范畴。
各种多媒体教学设施的运用;各色师资力量的介入教育资源是教育系统中最重要,最被关注的组成部分。
教育资源的优劣,直接关系着教育效益的产出。
教育资源管理的好坏将直接影响着学校的建设和发展。
作为一个循环的,可持续性强的学校,很有必要实行资产经营,力求在教育方向上能取到跟高的升学率和较低的资产营运成本。
在新的形势下,学校也要树立科学发展观,自觉地按照市场经济的内在规律办事,以实现学校产业价值最大化为目标,注重价值形态经营管理,实现教育资源、资产的最大化利用,以及争取取得最大的效益产出。
教育资源管理系统是指综合运用地理信息系统(GIS)、多媒体及虚拟现实等现代信息技术实现对学校校舍、课桌、教学用具等硬件设施和师资力量等软件设施的信息的采集、集成和管理。
它的建设将为教育部门对教育资源的管理起到很重要的监督和管理作用。
并能够作为一项新兴的部门管理方法。
学生信息档案的管理对于学校的管理者来说至关重要,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。
但其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依*人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,所以利用计算机实现学生信息档案管理成为必然的趋势。
本系统针对学校学生信息的特点以及管理中实际需要而设计,能够有效地实现学生信息管理的信息化,减轻管理人员的工作负担,高效率、规范化地管理大量的学生信息,并避免人为操作的错误和不规范行为。
我的学生信息管理系统包括基于管理员的操作和基于学生的操作。
管理员的操作应包括录入学生信息,查询信息,修改信息,删除信息等;学生的操作只有查询信息。
以顺序表SeqList存储集合,在此基础上完成对集合的操作。
类包括俩个一个为student类:其中包括学生的学号,姓名,年龄,以及各科的成绩,总成绩及平均成绩等。
第二个类为SeqList:其中包括一个student类的数组和一个数组大小的size;以及对顺序表的插入和删除操作。
管理员账号为:boss管理员密码为:10086第2章总体设计系统的功能结构,用文字描述系统要完成的功能,用结构框图表示各个功能之间的关系。
第3章3.1SeqList抽象数据类型的设计ADT SeqList{数据对象D:D是具有数值的常量C和没有数值的变量V;数据关系:R={<(V或者C)P(V或者C)>|V,C∈D, <(V或者C)P(V或者C)>表示由运算符P结合起来的表达式E}基本操作:Void chang(int n)初始条件:list类型的数组存在;操作结果:修改list中的数据void del(int n)初始条件:list类型的数组存在;操作结果:删除一个list数组中的元素。
Void erfeng(datatype a[],int key,int n)初始条件:list类型的数组存在;操作结果:对datatype类型的数组进行排序。
void Find(datatype& item)初始条件:list类型的数组存在;操作结果:将datatype类型的数组显示在显示器上。
void kecheng(int n)初始条件:list类型的数组存在;操作结果:对list类型的数组查找其课程数据项。
void luru(int n)初始条件:list类型的数组存在;操作结果:将数据写入list类型的数组void paixu1(datatype array[],int k,int length)。
初始条件:list类型的数组存在;操作结果:datatype类型的数组array中的数据进行排序。
void xianshi(int n)初始条件:list类型的数组存在;操作结果:将liste类型的数组中的数据进行显示。
}ADT第4章详细设计4.1工程视图只有一个工程如图4.1图4.14.2类图视图共有俩个类,一个为SeqList如图4.2.1;另一个为student,如图4.2.2图4.2.1图6.2.2class student{private:int num; //学号int grade[5]; //成绩数组float sum; //总成绩float ping; //平均成绩char name[20]; //姓名int age; //年龄public:student(){}void setnum(int nu){num=nu;} 建立学号int getnum(){int n;n=num;return n;} 得到学号void setgrade(int a,int b){grade[b]=a;} 建立成绩int getgrade(int n){int a;a=grade[n];return a;} 得到成绩void setname(char *na){strcpy(name,na);} 建立姓名char *getname(){char *na;na=name;return na;} 得到姓名void setage(int a){age=a;} 建立年龄int getage(){int a;a=age;return a;} 得到年龄friend class SeqList;float getping(); 获得平均成绩int getsum(); 获得总成绩student (student &s);};4.3 函数的调用关系4.4主程序流程图删除函数模块设计void SeqList::del(int n){system("cls");int i,j;int c;printf("\n输入你要删除的学生学号:\n");printf("num:");cin>>c;for(i=0;i<list.size;i++)if(list.data[i].getnum()==c) break;for(j=i;j<list.size;j++)list.data[j]=list.data[j+1];printf("\t\t你已经删除%d的信息\n",c);list.size--;duoyu2();}输入模块设计void SeqList::luru(int n) //luru函数{system("cls");int j,num,age,grade[5],k=0; //输入5科成绩char ch[20];do{ k=0;system("cls");printf("\n输入学生信息:\n");printf("\n学号: ");scanf("%d",&num);for(int i=0;i<=list.size;i++)if(list.data[i].getnum()==num)k=1;if(k==0){list.data[size].setnum(num);printf("\n姓名: ");cin>>ch;list.data[size].setname(ch);printf("\n年龄: ");cin>>age;list.data[size].setage(age);printf("注:(成绩1为数学,成绩2为计算机,成绩3为英语,成绩4为语文,成绩5为思修\n");for(j=0;j<5;j++) //输出5科成绩{printf("\n成绩%d: ",j+1);cin>>grade[j];list.data[size].setgrade(grade[j],j);}list.size++;}else if(k==1)printf("此学号已存在,请查实后再输入!!");printf("\n如要继续输入学生信息,请选择(y/n): ");scanf("%s",ch); //判断是否要继续}while(strcmp(ch,"y")==0||strcmp(ch,"Y")==0);paixun(list.data,list.size);guanliyuan(n);}修改函数模块设计void SeqList::change(int a){int n,i,j;int k=0;int num,grade[5];char name[20],ch[5];printf("请输入要修改的学生学号:");cin>>n;for(i=0;i<list.size;i++){if(list.data[i].getnum()==n){printf("\n你确定要修改学号吗?(y/n): ");scanf("%s",ch);if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) //判断是否要继续{printf("\n学号:");cin>>num;list.data[i].setnum(num);k=1;}printf("\n你确定要修改学生姓名吗?(y/n): ");cin>>ch;if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) //判断是否要继续{printf("\n名字:");cin>>name;list.data[i].setname(name);k=1;}printf("\n你确定要修改学生成绩吗?(y/n): ");scanf("%s",ch);printf("\n");if(strcmp(ch,"y")==0||strcmp(ch,"Y")==0) //判断是否要继续{printf("注:(成绩1为数学,成绩2为计算机,成绩3为英语,成绩4为语文,成绩5为思修\n");for(j=0;j<5;j++){printf("成绩%d:",j+1);cin>>grade[j];list.data[size].setgrade(grade[j],j); printf("\n");k=1;}}}}第5章测试主函数图5.1输入账号密码图5.2管理员操作页面图5.3 录入信息页面(管理员)图5.4查询信息页面(管理员,学生)图5.5 查询全班信息页面图5.6 查询个人信息页面图5.7按姓名查找图5.8 按学号查找图5.9 按成绩查找页面图5.1.修改信息页面图5.11 学生查询页面图5.12第6章总结通过该课程设计,收获颇多。