学生管理系统

上传人:壹****1 文档编号:507607749 上传时间:2024-01-20 格式:DOC 页数:32 大小:1.13MB
返回 下载 相关 举报
学生管理系统_第1页
第1页 / 共32页
学生管理系统_第2页
第2页 / 共32页
学生管理系统_第3页
第3页 / 共32页
学生管理系统_第4页
第4页 / 共32页
学生管理系统_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《学生管理系统》由会员分享,可在线阅读,更多相关《学生管理系统(32页珍藏版)》请在金锄头文库上搜索。

1、信息科学与技术学院数据结构课程设计报告题目名称:学生管理系统专业班级:11级计科2班学生姓名:陶 鑫学生学号:2011508035指导教师:郭 理整理为word格式完成日期:2013-01-091 课程设计的目的11.1 课程设计的目的11.2 课程设计的题目11.3 题目要求12 概要设计22.1 存储结构22.2 基本操作33 详细设计33.1 流程图33.2 源程序104 测试215 课程设计总结296参考书目:29整理为word格式1 课程设计的目的1.1 课程设计的目的更好的掌握数据结构这门课程,会用数据结构的基本思想及算法解决实际问题。更好的掌握链表,能进行各种基本的操作,提高编程

2、能力。1.2 课程设计的题目 学生管理系统1.3 题目要求使用下面的数据,用C/C+设计一个简单的学籍管理系统,实现出最基本的功能。学生基本信息文件(A.TXT)及其内容:A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成学号 姓名 性别 宿舍号码 电话号码01 张成成 男 501 8773211102 李成华 女 101 8772311203 王成凤 女 101 8772311204 张明明 男 502 8773433305 陈东 男 501 8773211106 李果 男 502 8773433307 张园园 女 102 87756122 . . .学生成绩基本信息文件(B.TXT

3、)及其内容:学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 9001 B03 高等数学 4 45 -1 8802 C01 VF 3 65 76 66 . . . . (一) 功能要求及说明:(1) 数据录入功能: 对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算。 综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%; 如果实

4、验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70% . 整理为word格式 实得学分的计算: 采用等级学分制. 综合成绩在90-100之间 ,应得学分=学分*100% 综合成绩在80-90之间 ,应得学分=学分*80%综合成绩在70-80之间 ,应得学分=学分*75% 综合成绩在60-70之间 ,应得学分=学分*60%综合成绩在60以下 ,应得学分=学分*0%(2)查询功能:分为学生基本情况查询和成绩查询两种 A:学生基本情况查询:A1-输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。A2-输入一个宿舍号码,可查询出本室所有的学生

5、的基本信息并显示输出。 B:成绩查询:B1:输入一个学号时,查询出此生的所有课程情况,格式如下:学 号:xx 姓 名:xxxxx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx课程编号:xxx 课程名称:xxxxx 综合成绩:xxxx 实得学分: xx 共修:xx科,实得总学分为: xxx (3)删除功能:当在A.TXT中删除一个学生时,自动地在B.TXT中删除此人所有信息。 (4 ) 排序功能:能实现选择按综合成绩或实得学分升序或降序排序并显示数据。(二)其它要求:(1) 只能使用C/C+

6、语言,源程序要有适当的注释,使程序容易阅读(2) 至少采用文本菜单界面(如果能采用图形菜单界面更好)(3) 学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档2 概要设计2.1 存储结构首先,为了能使自己得到锻炼,存储结构我使用了顺序存储与链式存储,学生基本信息用的数组来存储,对学生成绩基本信息使用链表进行存储。结构体定义如下:/学生基本信息的结构体定义typedef struct studentstring xuehao; /学号 string name; /姓名 string gender; /性别 string sushe; /宿舍号 string

7、 tel;/电话student;整理为word格式/学生成绩信息的结构体定义typedef struct gradestring xuehao;/学号 string courseno; /课程号 string coursename; /课程名称 int xuefen; /学分 int pingshi; /平时成绩 int shiyan; /实验成绩 int juanmian;/卷面成绩 float zonghe;/综合成绩 float shide;/实得学分 grade *next;grade;2.2 基本操作(1)数据录入功能(2)查询功能(3)删除功能(4)排序功能(5)显示所有学生信息(

8、6)保存(7)退出3 详细设计3.1 流程图各个算法的设计如下:1.主函数:int main( );从A.txt中读取存储的学生基本信息到内存,以便进行处理,过程如图1 整理为word格式开始创建存储学生信息的单链表的头结点将学生信息读取到内存调用菜单函数结束 图 12. 菜单函数:void menu(student *stu,grade *head,grade *gra); stu是指向学生基本信息数组的指针,head是指向学生成绩信息链表头结点的指针,gra是指向学生成绩信息链表最后一个结点的指针。 用于进行指示进行各种操作,是与每个函数都相联系的一个函数,功能操作见图2 6保存0退出开始

9、输入i菜单4排序3删除5显示学生信息2查询1数据录入其他有误误结束6保存0退出开始输入i菜单4排序3删除5显示学生信息2查询1数据录入其他有误误 整理为word格式 图23. 数据录入函数:void luru(grade *gra); 其中gra是指向单链表最后一个结点的指针,用于后插法中进行插入。 将学生成绩信息依次输入单链表中,其中单链表边输入边创建,综合成绩和实得学分可由计算机自己计算。流程图见图3判断成绩范围应得学分=学分*100%应得学分=学分*80%应得学分=学分*75%应得学分=学分*60%应得学分=0结束综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70% 输入学生

10、平时成绩输入学生实验成绩输入学生卷面成绩输入学生课程编号输入学生的学号输入学生学分开始gra-shiyan=-1综合成绩=平时成绩*30%+卷面成绩*70%输入学生平时成绩输入学生实验成绩输入学生卷面成绩输入学生课程编号输入学生的学号输入学生学分开始gra-shiyan=-1 Y N综合成绩=平时成绩*30%+卷面成绩*70% 90-100 80-90 70-80 60-70 60以下 整理为word格式 图34.查询功能:void lookfor(student *p,grade *head);P为指向学生基本信息数组的指针,head为指向学生成绩链表的头结点的指针。 有学生基本情况查询和成

11、绩查询两种大功能,基本情况查询又分为按学号或姓名查找单个学生基本信息,也可输入宿舍号查询整个宿舍学生的基本信息。成绩查询只要输入学号便可查询相应学生的成绩信息。见图41.输入一个学号或姓名 2.输入一个宿舍号码 a 按学号查找b 按姓名查找输出一个宿舍学生信息输出相应学生信息输出相应学生所有成绩结束开始输入iA:学生基本情况查询B:成绩查询输入j输入学号 图45. 删除功能:void del(student *stu,grade *head);stu为指向学生基本信息数组的指针,head为指向学生成绩链表的头结点的指针。 执行删除功能时在存储学生基本信息的数组中与存储学生成绩信息的链表中同时删除该学生信息,以便进行下面操作与向文件中存储信息。功能见图5整理为word格式开始输入要删除学生的学号在学生基本信息中删除在学生成绩基本信息中删除结束 图56. 排序功能:void sort(grade *head);head为指向学生成绩链表的头结点的指

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号