学生管理系统 联系客服

发布时间 : 星期五 文章学生管理系统更新完毕开始阅读315a9202a8114431b90dd86b

信息科学与技术学院 《数据结构》课程设计报告

题目名称: 专业班级: 学生姓名: 学生学号: 指导教师:

学生管理系统 11级计科2班 陶 鑫 2011508035 郭 理

完成日期:2013-01-09

1 课程设计的目的 ....................................................... 1 1.1 课程设计的目的 ............................................... 1 1.2 课程设计的题目 ............................................... 1 1.3 题目要求 .......................................................... 1 2 概要设计 ................................................................. 2 2.1 存储结构 .......................................................... 2 2.2 基本操作 .......................................................... 3 3 详细设计 ................................................................. 3 3.1 流程图 ............................................................. 3 3.2 源程序 ........................................................... 10 4 测试 ....................................................................... 21 5 课程设计总结 ........................................................ 29 6参考书目: ............................................................... 29

1 课程设计的目的 1.1 课程设计的目的

更好的掌握数据结构这门课程,会用数据结构的基本思想及算法解决实际问题。更好的掌握链表,能进行各种基本的操作,提高编程能力。

1.2 课程设计的题目 《学生管理系统》 1.3 题目要求

使用下面的数据,用C/C++设计一个简单的学籍管理系统,实现出最基本的功能。 学生基本信息文件(A.TXT)及其内容:A.TXT文件不需要编程录入数据,可用文本编辑工具直接生成

学号 姓名 性别 宿舍号码 电话号码 01 张成成 男 501 87732111 02 李成华 女 101 87723112 03 王成凤 女 101 87723112 04 张明明 男 502 87734333 05 陈东 男 501 87732111 06 李果 男 502 87734333 07 张园园 女 102 87756122 ? ?. .. ? ???.. 学生成绩基本信息文件(B.TXT)及其内容:

学号 课程编号 课程名称 学分 平时成绩 实验成绩 卷面成绩 综合成绩 实得学分 01 A01 大学物理 3 66 78 82 02 B03 高等数学 4 78 -1 90 01 B03 高等数学 4 45 -1 88 02 C01 VF 3 65 76 66 … …. ………. .. .. …

(一) 功能要求及说明:

(1) 数据录入功能: 对B.TXT进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算。

综合成绩的计算:如果本课程的实验成绩为-1,则表示无实验,综合成绩=平时成绩*30%+卷面成绩*70%; 如果实验成绩不为-1,表示本课程有实验,综合成绩=平时成绩*15%+实验成绩*.15%+卷面成绩*70% .

1

实得学分的计算: 采用等级学分制.

综合成绩在90-100之间 ,应得学分=学分*100% 综合成绩在80-90之间 ,应得学分=学分*80%

综合成绩在70-80之间 ,应得学分=学分*75% 综合成绩在60-70之间 ,应得学分=学分*60%

综合成绩在60以下 ,应得学分=学分*0%

(2)查询功能:分为学生基本情况查询和成绩查询两种 A:学生基本情况查询:

A1----输入一个学号或姓名(可实现选择),查出此生的基本信息并显示输出。 A2---输入一个宿舍号码,可查询出本室所有的学生的基本信息并显示输出。

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++语言,源程序要有适当的注释,使程序容易阅读 (2) 至少采用文本菜单界面(如果能采用图形菜单界面更好) (3) 学生可自动增加新功能模块(视情况可另外加分) (4)写出课程设计报告,具体要求见相关说明文档

2 概要设计

2.1 存储结构

首先,为了能使自己得到锻炼,存储结构我使用了顺序存储与链式存储,学生基本信息用的数组来存储,对学生成绩基本信息使用链表进行存储。结构体定义如下:

//学生基本信息的结构体定义 typedef struct student {string xuehao; //学号 string name; //姓名 string gender; //性别 string sushe; //宿舍号 string tel;//电话 }student;

2