数据结构之学生成绩管理系统

合集下载

学生数据结构成绩管理系统

学生数据结构成绩管理系统

《数据结构》课程实验报告学院:班级:姓名:学号:实验设备:计算机1台实验日期:2011年7月3日实验项目名称学生数据结构成绩管理系统实验目的考察学生对数据结构的综合应用能力实验要求:(1)学生信息及成绩的录入(2)学生成绩的查询(3)学生成绩的分段统计和排序输出实验内容(包括步骤):(1)学生信息及成绩的录入要求包括的学生信息有:学号,姓名,性别,出生日期,民族及数据结构成绩(具体内容可自行假设,至少录入10名以上学生)。

所录入的学生按学号散列存储(散列函数为学号%5 取整,如 1002%5 =2),采用拉链法解决冲突。

(2)学生成绩的查询要求根据提供的学号完成学生成绩的查询(必须采用散列查找)。

(3)学生成绩的分段统计和排序输出统计出各分数段学生人数(60分以下,60~70,71~80,...)采用堆排序,将学生成绩从高到低排序输出。

调试与结果测试:* * * * 学生成绩管理系统 * * * *1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统* * * * * * * * * * * * * * * * *请输入你要执行的操作:11、建立新的数据系统。

请选择:1请输入第1名学生的学号,学号为0表示结束输入:01请输入第1名学生的姓名:林一请输入第1名学生的性别:男请输入第1名学生的民族:汉请输入第1名学生的语文成绩:77请输入第1名学生的数学成绩:87请输入第1名学生的英语成绩:80请输入第2名学生的学号,没有此学生则输入0表示结束:02 请输入第2名学生的姓名:琳儿请输入第2名学生的性别:女请输入第2名学生的民族:汉请输入第2名学生的语文成绩:80请输入第2名学生的数学成绩:85请输入第2名学生的英语成绩:90请输入第3名学生的学号,没有此学生则输入0表示结束:03 请输入第3名学生的姓名:林珊请输入第3名学生的性别:女请输入第3名学生的民族:汉请输入第3名学生的语文成绩:78请输入第3名学生的数学成绩:83请输入第3名学生的英语成绩:95请输入第4名学生的学号,没有此学生则输入0表示结束:04 请输入第4名学生的姓名:林四请输入第4名学生的性别:男请输入第4名学生的民族:汉请输入第4名学生的语文成绩:75请输入第4名学生的数学成绩:87请输入第4名学生的英语成绩:78请输入第5名学生的学号,没有此学生则输入0表示结束:05 请输入第5名学生的姓名:领悟请输入第5名学生的性别:男请输入第5名学生的民族:汉请输入第5名学生的语文成绩:70请输入第5名学生的数学成绩:90请输入第5名学生的英语成绩:80请输入第6名学生的学号,没有此学生则输入0表示结束:06 请输入第6名学生的姓名:林柳请输入第6名学生的性别:女请输入第6名学生的民族:汉请输入第6名学生的语文成绩:80请输入第6名学生的数学成绩:70请输入第6名学生的英语成绩:86请输入第7名学生的学号,没有此学生则输入0表示结束:07 请输入第7名学生的姓名:林奇请输入第7名学生的性别:男请输入第7名学生的民族:汉请输入第7名学生的语文成绩:78请输入第7名学生的数学成绩:89请输入第7名学生的英语成绩:80请输入第8名学生的学号,没有此学生则输入0表示结束:08 请输入第8名学生的姓名:零八请输入第8名学生的性别:男请输入第8名学生的民族:汉请输入第8名学生的语文成绩:65请输入第8名学生的数学成绩:80请输入第8名学生的英语成绩:70请输入第9名学生的学号,没有此学生则输入0表示结束:09 请输入第9名学生的姓名:零九请输入第9名学生的性别:男请输入第9名学生的民族:汉请输入第9名学生的语文成绩:70请输入第9名学生的数学成绩:80请输入第9名学生的英语成绩:75请输入第10名学生的学号,没有此学生则输入0表示结束:10 请输入第10名学生的姓名:异灵请输入第10名学生的性别:男请输入第10名学生的民族:汉请输入第10名学生的语文成绩:85请输入第10名学生的数学成绩:95请输入第10名学生的英语成绩:87请输入第11名学生的学号,没有此学生则输入0表示结束:0此系统目前共计学生10名:*********************学生成绩统计********************* 学号姓名语文成绩数学成绩英语成绩总分1 林一 77 87 80 2442 琳儿 80 85 90 2553 林珊 78 83 95 2564 林四 75 87 78 2405 领悟 70 90 80 2406 林柳 80 70 86 2367 林奇 78 89 80 2478 零八 65 80 70 2159 零九 70 80 75 22510 异灵 85 95 87 267 ******************************************************* * * * 学生成绩管理系统 * * * *1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统* * * * * * * * * * * * * * * * * 请输入你要执行的操作:6语文数学英语0~60的学生人数是: 0 0 060~70的学生人数是: 1 0 070~80的学生人数是: 6 1 380~90的学生人数是: 3 7 590~100的学生人数是:0 2 2* * * * 学生成绩管理系统 * * * *1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统* * * * * * * * * * * * * * * * * 请输入你要执行的操作:21.按学生学号排序2.按学生总分排序3.按学生语文成绩排序4.按学生数学成绩排序5.按学生英语成绩排序6.显示当前学生成绩0.返回上一级菜单* * * * * * * * * * * * * * * * *请输入你要执行的操作:2排序后的成绩表为:此系统目前共计学生10名:*********************学生成绩统计********************* 学号姓名语文成绩数学成绩英语成绩总分10 异灵 85 95 87 267 3 林珊 78 83 95 256 2 琳儿 80 85 90 255 7 林奇 78 89 80 247 1 林一 77 87 80 2444 林四 75 87 78 2405 领悟 70 90 80 2406 林柳 80 70 86 236 9 零九 70 80 75 225 8 零八 65 80 70 215 ******************************************************1.按学生学号排序2.按学生总分排序3.按学生语文成绩排序4.按学生数学成绩排序5.按学生英语成绩排序6.显示当前学生成绩0.返回上一级菜单* * * * * * * * * * * * * * * * *请输入你要执行的操作:3排序后的成绩表为:此系统目前共计学生10名:*********************学生成绩统计********************* 学号姓名语文成绩数学成绩英语成绩总分10 异灵 85 95 87 267 2 琳儿 80 85 90 2556 林柳 80 70 86 2367 林奇 78 89 80 247 3 林珊 78 83 95 256 1 林一 77 87 80 2444 林四 75 87 78 2405 领悟 70 90 80 240 9 零九 70 80 75 225 8 零八 65 80 70 215 ******************************************************1.按学生学号排序2.按学生总分排序3.按学生语文成绩排序4.按学生数学成绩排序5.按学生英语成绩排序6.显示当前学生成绩0.返回上一级菜单* * * * * * * * * * * * * * * * *请输入你要执行的操作:4排序后的成绩表为:此系统目前共计学生10名:*********************学生成绩统计********************* 学号姓名语文成绩数学成绩英语成绩总分10 异灵 85 95 87 267 5 领悟 70 90 80 240 7 林奇 78 89 80 247 1 林一 77 87 80 244 4 林四 75 87 78 2402 琳儿 80 85 90 2553 林珊 78 83 95 256 9 零九 70 80 75 225 8 零八 65 80 70 215 6 林柳 80 70 86 236 ******************************************************1.按学生学号排序2.按学生总分排序3.按学生语文成绩排序4.按学生数学成绩排序5.按学生英语成绩排序6.显示当前学生成绩0.返回上一级菜单* * * * * * * * * * * * * * * * *请输入你要执行的操作:5排序后的成绩表为:此系统目前共计学生10名:*********************学生成绩统计********************* 学号姓名语文成绩数学成绩英语成绩总分3 林珊 78 83 95 256 2 琳儿 80 85 90 255 10 异灵 85 95 87 267 6 林柳 80 70 86 236 5 领悟 70 90 80 240 7 林奇 78 89 80 247 1 林一 77 87 80 244 4 林四 75 87 78 240 9 零九 70 80 75 225 8 零八 65 80 70 215 ******************************************************* * * * 学生成绩统计排序 * * * *1.按学生学号排序2.按学生总分排序3.按学生语文成绩排序4.按学生数学成绩排序5.按学生英语成绩排序6.显示当前学生成绩0.返回上一级菜单* * * * * * * * * * * * * * * * * 请输入你要执行的操作:0* * * * 学生成绩管理系统 * * * *1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5.显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统* * * * * * * * * * * * * * * * * 请输入你要执行的操作:3请输入您要查询学生的方式:1、按学号查询;2、按姓名查询。

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典

学生成绩管理系统数据流程图及数据字典随着教育信息化的发展,学生成绩管理系统在学校中得到了广泛应用。

学生成绩管理系统是一种利用计算机技术对学生成绩进行管理和分析的系统。

本文将介绍学生成绩管理系统的数据流程图及数据字典,以匡助读者更好地理解该系统的数据处理流程和数据结构。

一、数据流程图1.1 学生成绩录入流程- 学生成绩管理员登录系统- 选择录入成绩功能- 输入学生学号和成绩信息- 确认提交1.2 学生成绩查询流程- 学生/教师登录系统- 选择查询成绩功能- 输入学生学号或者姓名- 系统显示学生成绩信息1.3 学生成绩统计流程- 教师登录系统- 选择统计功能- 选择统计范围(班级/科目等)- 系统生成成绩统计报表二、数据字典2.1 学生信息表(Student)- 字段:学号(ID)、姓名(Name)、性别(Gender)、班级(Class)- 主键:学号(ID)2.2 成绩信息表(Score)- 字段:学号(ID)、科目(Subject)、成绩(Grade)- 主键:学号(ID)、科目(Subject)- 外键:学号(ID)参考学生信息表2.3 教师信息表(Teacher)- 字段:工号(ID)、姓名(Name)、科目(Subject)- 主键:工号(ID)三、数据处理流程3.1 学生成绩录入流程- 学生成绩管理员登录系统后,通过录入成绩功能将学生成绩信息存储到成绩信息表中。

- 系统会进行数据验证,确保输入的学号和科目存在且成绩符合规定范围。

- 成绩信息成功录入后,系统会生成相应的操作日志记录。

3.2 学生成绩查询流程- 学生/教师登录系统后,通过查询成绩功能可以根据学号或者姓名查看学生成绩信息。

- 系统会根据输入的条件在成绩信息表中进行查询,并将查询结果显示给用户。

- 查询结果包括学号、姓名、科目、成绩等信息,方便用户了解学生成绩情况。

3.3 学生成绩统计流程- 教师登录系统后,通过统计功能可以选择不同的统计范围进行成绩统计。

学生数据结构成绩管理系统

学生数据结构成绩管理系统

(14) int DelList(struct StuMessage stu[], int i);
函数功能: 如果数组中存在下标为 i 的记录,删除该记录并返回 1,否则返回
0。
4、小组成员分工
组员 1
main(); SystemInfo(); MenuOfMain(); Quit();
组员 2
PrintHead(); ListOne(); ListAll(); Apend();
printf("请输入第%d 名学生的概率统计成绩:",n);
scanf("%d",&p1->score[1]);
printf("请输入第%d 名学生的线性代数成绩:",n);
scanf("%d",&p1->score[2]);
p1->sum=p1->score[0]+p1->score[1]+p1->score[2];
很好的辨认和解决,小组成员在一起更加的团结,更注重合作。在一
起解救问题的时候,经过很多的争辩也让我们更加的默契。
程序源代码: #include <stdio.h> #include <stdlib.h> #include <malloc.h>//动态内存分配的 #include <winsock2.h> /*socket 通信,系统头文件*/
数据结构课外实践报告
项 目 名 称: 学生数据结构成绩管理系统 所 在 班 级: 2012 级软件工程 小 组 成 员: 指 导 教 师: 起 止 时 间:
安阳师范学院
项目基本信息

学生成绩管理系统c++课程设计

学生成绩管理系统c++课程设计

学生成绩管理系统c++课程设计学生成绩管理系统是一种用于记录和管理学生课程成绩的软件系统。

它能够帮助学校、教师和学生实时监控和分析学生的学业表现,为教育管理者提供决策支持,为学生提供个性化的学习建议。

在C++课程设计中,学生成绩管理系统可以实现以下功能:1. 学生信息管理:包括学生的基本信息(如姓名、性别、年龄、班级等),以及学生的学号、联系方式等。

系统可以提供添加、修改、删除和查询学生信息的功能。

2. 课程管理:包括课程名称、学分、授课教师等信息。

系统可以对课程进行添加、修改、删除和查询操作。

3. 成绩管理:系统可以记录学生的每门课程的成绩,并计算学生的综合成绩。

可以输入或导入成绩数据,支持对成绩进行修改、删除和查询操作。

系统还可以生成成绩报表和统计分析,帮助教师和学校了解班级或全校学生的成绩分布和趋势。

4. 学生选课管理:学生可以根据自己的兴趣或专业要求选择课程。

系统可以提供学生选课、退课的功能,并根据学生的选课情况进行课程调整和排课。

5. 教师管理:包括教师的基本信息、授课情况和成绩评定等。

系统可以对教师信息进行管理,支持教师信息的添加、修改、删除和查询操作。

6. 用户权限管理:系统可以对不同用户设置不同的权限,例如管理员可以对系统进行设置和管理,教师可以录入和修改成绩,学生可以查询自己的成绩等。

通过学生成绩管理系统,学校和教师可以更方便地管理学生的成绩,及时发现和解决学生学习中的问题。

学生可以方便地查询自己的成绩,了解自己的学业表现,及时调整学习策略。

同时,学生成绩管理系统也为教育管理者提供了数据支持,可以通过统计和分析成绩数据来评估教学效果,并为学校的教学改进提供参考依据。

在C++课程设计中,可以通过使用面向对象的编程思想,设计合适的类和数据结构来实现学生成绩管理系统的各项功能。

同时,还可以通过使用文件读写技术,将学生、课程和成绩等信息保存到文件中,实现数据的持久化存储。

在用户界面设计上,可以使用C++图形库或者命令行界面来实现用户与系统的交互。

数据结构——学生数据结构成绩管理系统

数据结构——学生数据结构成绩管理系统

《数据结构》实验报告院系光电与信息工程学院专业电子信息工程姓名学号电话2011级2班2013年7月6日一.实验题目数据结构——期末综合实验11.5—-学生数据结构成绩管理系统二.实验要求(1)学生信息及成绩的录入(2)学生成绩的查询(3)学生成绩的分段统计和排序输出三.实验内容[基本要求](1)学生信息及成绩的录入要求包括的学生信息有:学号、姓名、班级及数据结构等成绩(具体内容可自行假设,至少录入10名以上学生)所录入的学生按学号散列存储(散列函数为学号%5 取整,如 1002%5 =2),采用拉链法解决冲突。

(2)学生成绩的查询要求根据提供的学号完成学生成绩的查询(必须采用散列查找)。

(3)学生成绩的分段统计和排序输出统计出各分数段学生人数(60分以下,60~70,71~80,...)采用堆排序,将学生成绩从高到低排序输出四.调试与结果测试* * * * 学生成绩管理系统* * **1.学生数据键盘录入2.学生成绩统计排序3.查询学生数据4.插入学生数据5。

显示当前成绩表6.统计各分数段学生人数0.退出成绩管理系统* * * * * * * * * * * * * * * **请输入你要执行的操作:11、建立新的数据系统.请选择:1请输入第1名学生的姓名:林一请输入第1名学生的性别:男请输入第1名学生的民族:汉请输入第1名学生的数据结构成绩:77请输入第1名学生的英语成绩:87请输入第1名学生的高数成绩:80请输入第2名学生的学号,没有此学生则输入0表示结束:02请输入第2名学生的姓名:林二请输入第2名学生的性别:女请输入第2名学生的民族:汉请输入第2名学生的数据结构成绩:80请输入第2名学生的英语成绩:85请输入第2名学生的高数成绩:90请输入第3名学生的学号,没有此学生则输入0表示结束:03请输入第3名学生的姓名:林三请输入第3名学生的性别:女请输入第3名学生的民族:汉请输入第3名学生的数据结构成绩:78请输入第3名学生的英语成绩:83请输入第3名学生的高数成绩:95请输入第4名学生的学号,没有此学生则输入0表示结束:0此系统目前共计学生3名:*********************学生成绩统计*********************学号姓名数构成绩英语成绩高数成绩总分1 林一 77 87 80 2442 林二 80 85 90 2553 林三 78 83 95 256****************************************************** * * * * 学生成绩管理系统* * * *1.学生数据键盘录入3.查询学生数据4。

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告一、引言:成绩管理系统是一种可以有效管理学生课程成绩的工具。

通过该系统,教师可以方便地录入、修改和查询学生的成绩,而学生和家长也可以方便地查看自己的成绩情况。

本次课程设计旨在设计一个基于C语言的成绩管理系统,实现对学生课程成绩的录入、修改和查询等功能。

二、系统设计:1. 数据结构设计:为了实现成绩管理系统的各项功能,需要设计相关的数据结构。

对于学生信息,可以设计一个结构体,包含学号、姓名、性别等字段;对于课程成绩,可以设计一个结构体,包含学号、课程名称、成绩等字段。

2. 功能设计:(1) 学生信息录入功能: 教师可以通过输入学生的学号、姓名、性别等信息,将学生信息录入系统中。

(2) 成绩录入功能: 教师可以通过输入学生的学号和课程名称,将学生的课程成绩录入系统中。

(3) 成绩修改功能: 教师可以根据学生的学号和课程名称,修改学生的课程成绩。

(4) 成绩查询功能: 学生和家长可以通过输入学生的学号,查询学生的课程成绩。

三、系统实现:1. 用户界面设计:使用C语言中的控制台窗口,通过菜单的方式显示系统功能选项,用户可以通过键盘输入选择对应的功能。

2. 数据存储设计:使用文件存储学生信息和课程成绩。

通过读取和写入文件的方式,实现数据的持久化存储。

3. 功能实现:(1) 学生信息录入功能的实现: 用户输入学生的学号、姓名、性别等信息后,将学生信息写入文件。

(2) 成绩录入功能的实现: 用户输入学生的学号、课程名称和成绩后,将成绩信息写入文件。

(3) 成绩修改功能的实现: 用户输入学生的学号、课程名称和新的成绩后,根据学号和课程名称找到对应的成绩信息并修改。

(4) 成绩查询功能的实现: 用户输入学生的学号后,根据学号在文件中查找对应的成绩信息并显示在控制台窗口。

四、系统测试:对于每一个功能,设计相应的测试用例,验证系统的正确性和稳定性。

例如,录入一个学生信息后,查询该学生的信息是否正确;录入一门课程成绩后,修改该成绩并查询是否修改成功等。

学生成绩管理系统的分层DFD图

学生成绩管理系统的分层DFD
图数据词典
共分为三层; 第一个顶层图第二个第0层图第三个第一层图
数据词典:
数据结构: admin
描述:管理员的基本信息表
定义:admin=admin名字+密码+年龄+性别+工作+照片
名字={限3个字符以内}
密码={限10个字符以内}
数据结构:课程
描述:学校课程信息表
定义:课程=分数+教师姓名+学生姓名+课程编号+学年
学年={整数型}
分数={整数型}
数据结构:学生
描述:学生基本信息表
定义:学生=学生姓名+密码+年龄+性别+入学时间+学习课程+学院名称+照片
学生姓名={限9个字符以内}
数据流名:忘记密码
来源:判断校对
去向:用户信息表
组成={用户名+用户类型+用户信息+新密码}
备注:当用户忘记密码时可以同过验证信息修改密码
数据流名:成绩单
来源:教师
去向:学生
组成={学号+教师号+课程号+分数+学年}
备注:教师录入成绩或成绩单学生查询
数据存储:学生成绩情况
说明:存放的是每个学生的成绩情况输入数据流:各门功课的成绩情况
流出数据流:学生成绩单
数据量:由学生人数决定
存储方式:按学号生成顺序排列。

C语言课程设计报告(学生成绩管理系统)

C语言课程设计报告:学生成绩管理系统系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计算机等等相关信息,并且通过cin函数来进行给当前学生输入初始信息。

二、学生成绩查询: 输入一个学号,在文件中查找此学生, 若找到则输出此学生的全部信息和成绩;若找不到则输出查找失败的信息。

同时也可以全部把各科的平均成绩,最高和最低分输出.三、新生插入:通过给该生的学号来和原班上的学生的学号比较大小,若大就在后,若小则靠前排,将此生的信息保存下来.四、输出全部学生信息和全部学生成绩。

五、退出系统.六、附加说明:系统将来完善的功能有:可以通过性别来模糊查询,也可以通过姓名的姓来先进行模糊查询,以便后面精确查找。

总体设计一、仔细阅读系统要求,首先将此系统化分为如下模块(即如下函数)1、输入初始的学生信息:其中包括学生的姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息;可用函数cin(stu *p1)来实现此操作。

2、查询模块:可用stu *lookdata(stu *p1)来实现。

找到就输出此学生全部信息包括学生的语文、数学、英语和计算机等的成绩。

3、插入模块:可用insert( )函数来实现。

其中通过学号的大小来比较的,并且以此来排序.4、输出学生的信息以及成绩:通过学生的姓名来查看学生的语文、数学、英语和计算机等相关成绩,同时也可以分别通过caverage()、maverage()、eaverage() 和comaverage() 来输出语文、数学、英语和计算机等成绩的平均分数、最高和最低分数。

5、退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。

二、系统主模块结构图:详细设计一、界面设计此系统界面采用图形和数字化菜单设计。

主界面设计如下:学生成绩管理系统请选择相应的数字执行相应的功能:1:是否输入其他数据2:查看数据3:插入数据4:查找数据5:更新数据6:保留数据7:显示或打印数据8:语文成绩状况9:数学成绩状况10:英语成绩状况11:计算机成绩状况12:?13:退出系统二、数据结构设计:程序设计中用到的结构体类型:学生信息结构体类型:typedef struct student{char name[MAX];int num[MAX];char sex[MAX];int chinese;int mathematic;int english;int computer;struct student *next;}程序代码://原始密码是123456#include"stdio.h”#include"stddef.h"#include"stddef。

学生成绩管理系统

摘要学生成绩管理系统是为了实现学校对学生成绩管理的系统化、规范化和自动化,从而提高学校管理效率而设计的。

它完全取代了原来一直用人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成学生成绩管理提供了强有力的工具和管理手段。

学生成绩管理系统应该是一个中小型数据库管理系统,它界面美观、操作简单、安全性高,基本满足了学生成绩管理的要求。

本文中只是运用结构化方法学对这一系统的简单分析与建模,没有具体的实现过程,通过这阶段的学习与思考,能够对软件开发过程进行简单分析和判断。

关键字:成绩管理系统建模目录摘要 (1)目录 (1)1绪论 (1)1.1 设计任务 (1)1.1.1 需求说明 (1)1.1.2系统设计目标 (1)1.2 设计内容 (2)2 需求分析 (2)2.1 系统功能需求 (2)2.2 系统的性能需求 (2)2.3 系统数据要求 (3)2.4 系统业务流程分析 (3)2.4.1 班级管理业务流程图: (4)2.4.2学籍管理业务流程图: (4)2.4.3成绩管理业务流程图: (5)2.4.4课程管理业务流程图: (5)2.5数据模型的实体——联系图表示 (5)2.6 功能模型的数据流图表示 (7)2.7本章小结 (7)3 概要设计 (8)3.1 系统功能设计 (8)3.2系统模块具体划分 (9)4 详细设计 (11)5体会 (14)6参考文献 (15)1绪论1.1 设计任务1.1.1 需求说明学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改,打印等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。

学生信息管理系统在管理学生中占有重要的地位,它关系着学生信息的基本信息,其中包括学生信息,班级信息、课程信息等。

对于学校来讲,学生信息管理系统是不可缺少的组成部分,它有效地管理学生档案,对学校学生的变动和统计起着重要的管理作用。

学生成绩管理系统说明书

唐山学院数据结构课程设计题目学生成绩管理系统设计与实现系(部) 计算机科学与技术系班级11计本1班姓名尹云学号4112006102指导教师张小松2013 年1 月 4 日至 1 月11 日共 2 周2013 年1 月11 日数据结构课程设计任务书课程设计成绩评定表1引言学生成绩管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。

为了提高学校管理员和学生管理和查询学生成绩的效率,需要建立一个学生成绩管理系统,使我们可以在众多的学生信息中查找自己的成绩信息,面对学院大量的学生信息,学生只要登录本系统就可以查找到自己的成绩信息,而管理员也方便去管理每学期的学生的成绩信息。

学生成绩管理系统,使学生成绩信息管理工作规范化、系统化、程序化,避免学生管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改学生信息。

学生成绩管理系统有效地管理学生成绩相关信息,包括学生成绩的查询、录入、排序、统计等功能。

该系统为用户提供了一个简单的人机界面,用户可以根据提示信息进行各种操作。

本次设计使用的编程语言是C语言。

2问题分析根据设计题目要求分析如下:(1)本题目主要涉及顺序表的基本操作。

(2)在学生成绩管理系统中,录入学生信息时通常按录入顺序的先后,因此选用线性表。

在查找学生信息时,是在大量无序的学生信息中,通过比较所给关键字与对应信息项,找到所要查找的学生信息。

修改学生信息是在查找的基础上完成的,首先要找到需要修改的信息项,用输入的新数据覆盖原来的老数据,达到修改的目的。

删除学生信息也是在查找的基础上完成的,先找到要删除的学生信息,从要删除的那个信息项开始,用后一个信息项覆盖它,一直循环到最后,即可完成删除。

在查询不及格的学生信息时,只要把符合不及格的学生信息输出即可做到查询。

在统计不同等级的学生人数时,是想要根据划分的不同等级,将所有学生信息分成符合条件的几个部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

. 可编辑范本 学生成绩管理系统

一、 实验目的 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. 实现步骤 首先,分析题目要求划分实现模块,定义基本数据类型,诸如结构体、链表等; . 可编辑范本 其次,针对上述的基本操作实现具体需要进行的操作,具体实现每个环节需要进行的基本操作,即具体编写每个小函数实现功能; 最后,编写主函数对每个实现进行按需调用,实现操作。 3.流程图

四.代码: #include #include #include struct Student { char name[10]; char subject[10]; int num; int grade; Student *next; };

void StuMain(); //学生成绩管理系统的主函数,由main函数调用 void StuInput(Student *); //学生成绩管理系统的输入函数,由主函数调用 void StuSelect(Student *); //学生成绩管理系统的查找函数,由主函数调用 void StuAlter(Student *); //学生成绩管理系统的修改函数,由主函数调用 void StuInsert(Student *); //学生成绩管理系统的插入函数,由主函数调用

StuMain StuInput StuSelect StuAlter StuInsert StuDelect StuSave StuInputHand StuInputFile StuSelectErg StuSelectNumFind StuSelectSubFind

main .

可编辑范本 void StuDelect(Student *); //学生成绩管理系统的删除函数,由主函数调用 void StuSave(Student *); //学生成绩管理系统的存储函数,由主函数调用

void StuOutput(Student *p); //输出函数 int StuImport(Student *head,Student *p); //输入函数

void StuOutput(Student *p) //打印函数,将链表的该节点信息输出 { printf("学生姓名:"); printf("%s ",p->name); printf("学生号:"); printf("%d ",p->num); printf("科目: "); printf("%s ",p->subject); printf("学生成绩:"); printf("%d \n",p->grade); } int StuImport(Student *head,Student *p) { Student *Opinion=(Student *)malloc(sizeof(Student)); //用来判断输入节点中学生号是否有重复 Opinion=head->next; printf("学生姓名:\n"); scanf("%s",p->name); printf("学生号:\n"); scanf("%d",&p->num); printf("科目:\n"); scanf("%s",p->subject); if(Opinion!=NULL) { if(Opinion->num==p->num&&!strcmp(Opinion->subject,p->subject)) { printf("该学生这门科目已有成绩,请重新输入\n"); return 1; } Opinion=Opinion->next; } printf("学生成绩:\n"); scanf("%d",&p->grade); return 0; } void main() . 可编辑范本 { StuMain(); }

void StuMain() { char decide='y'; //定义while变量,函数是否继续进行 int num=1; //定义switch变量,函数跳转到哪个子函数 Student *head; //定义链表的头指针 head=(Student *)malloc(sizeof(Student)); //给头指针开辟空间 head->next=NULL; //初始化头指针 while(decide!='n') { printf(" ***************************************************\n"); printf(" ********** 1 输入 2 查找 3 修改 4 插入 ********\n"); printf(" ********** 5 删除 6 存储 7 退出 ********\n"); printf(" ***************************************************\n"); scanf("%d",&num); switch(num) { case 1: StuInput(head); break; case 2: StuSelect(head); break; case 3: StuAlter(head); break; case 4: StuInsert(head); break; case 5: StuDelect(head); break; case 6: StuSave(head); break; default: decide='n'; break; } . 可编辑范本 }; }

void StuInputHand(Student *head); //学生成绩管理系统的手动输入函数,由输入函数调用 void StuInputFile(Student *head); //学生成绩管理系统的文件输入函数,由输入函数调用

void StuInput(Student *head) //学生成绩管理系统的输入函数,由主函数调用 { char decide='y'; //定义while变量,函数是否继续进行 int num; //定义switch变量,函数跳转到哪个子函数 while(decide!='n') { printf(" ***************************************************\n"); printf(" ** 1 手动输入 2 文件输入 3 退出 **\n"); printf(" ***************************************************\n"); scanf("%d",&num); switch(num) { case 1: StuInputHand(head); break; case 2: StuInputFile(head); default: decide='n'; break; } } }

void StuInputHand(Student *head) //学生成绩管理系统的手动输入函数,由输入函数调用 { if(head->next==NULL) { Student *point=(Student *)malloc(sizeof(Student)); //链表中最后一个节点,只在该函数中存在 point->next=NULL; int decide=1; while(decide!=0) { Student *p=(Student *)malloc(sizeof(Student)); p->next=NULL;

相关文档
最新文档