- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西北工业大学
数据结构课程设计报告
选题名称 :
学生成绩管理系统
系(院) :
理 学 院
专
业 :
信息与计算科学
班
级 : 班
姓
名 :
。。。。。 学 号: 2010302676
指导教师 :
佘红伟
学年学期 :
2011 ~ 2012 学年 第
2 学期
2012年07月11日
目录
一、 需求分析 3
1,系统需求 3
2,开发环境 4
二、 概要设计 4
三、 详细设计 5
元素类型,结点类型和指针类型 6
主函数和其他函数的伪码算法 7
系统流程图 8
四、 调试分析 9
五、 用户手册 10
六、 测试结果 11
七、 参考文献: 12
一、 需求分析
1,系统需求
( 1)以单链表的结点 p 表示学生,其中 p-num 表示学号, p-name表示姓名,
p-score 表示分数, p-total 表示总分。学生人数没有限制,由用户随意设定。
该系统实现对若干个大学生的学习成绩进行管理。包括以下信息:学号、姓名、科目、成绩,总排名。
2)程序命令执行
1.登记成绩
2.查询成绩
3.插入成绩
4.删除成绩
5.成绩排序
6.输出所有学生成绩
7.退出程序
(3)输入输出的形式
本系统是一个学生成绩管理系统,采用 VC++6.0 编译器作为开发环境,这
个环境是我们在学习 C++的平台。输入数据类型主要是 char、int、 float 等数据
类型,输入内容包括:学号、姓名、复变函数成绩,数据机构成绩,实变函数成
绩,常微分成绩,总分,排名。用户在输入学生数据时要保证输入数据格式的正
确性,系统不会自动检测输入的数据是否正确, 输出形式与输入形式类似, 根据
需要可以选择显示输入的各项内容, 还可以选择显示计算好平均分后并排序后的
记录,显示内容包括:学号、姓名、复变函数成绩,数据机构成绩,实变函数成
绩,常微分成绩,总分。如图:
3
2,开发环境
Visual C++ 不仅仅是是一个 C++ 编译器,而是一个基于 Windows 操作系统的可视化集成
开发环境IDE,这种环境开发出来的软件稳定性好、可移植性强,可以编制各种各样的
Windows 应用程序。
二、 概要设计
为实现上述程序功能, 应以线性链表表示学生。 为此,需要一个抽象数据类型:线性链表。
1. 线链表的抽象数据类型定义为:
抽象数据类型线性表的定义如下:
ADT List {
数据对象:
数据关系:
D={ a i | a R1 = { a
i
∈ i-1 ,
ElemSet, i
a | a
i i-1 ,
=1, 2, ai ∈
? ?, n, n ≥ 0 }
D, i =2, ? ? , n }
基本操作:
InitList (L )
操作结果:构造一个空的线性表 L 。
DestoryList (L)
初始条件:线性表 L 已存在。
操作结果:销毁线性表 L。
ClearList (L)
初始条件:线性表 L 已存在。
操作结果:将 L 重置为空表。
ListEmpty (L)
初始条件:线性表 L 已存在。
操作结果:若 L 为空表,则返回 TRUE,否则返回 FALSE。
ListLength (L)
初始条件:线性表 L 已存在。
操作结果:返回 L 中数据元素个数。
GetElem ( L, i, e )
初始条件:线性表 L 已存在, 1≤i ≤ListLength(L)+1 。
操作结果:用 e 返回 L 中第 i 个数据元素的值。
LocateElem ( L,e, compare() )
初始条件:线性表 L 已存在, compare() 是判定函数。
操作结果:返回 L 中第 1 个与 e 满足关系 compare() 的数据元素的位序。若这样的数据元素不存在,则返回值 0。
PriorElem ( L, cur_e, pre_e )
初始条件:线性表 L 已存在。
操作结果:若 cur_e 是 L 的数据元素且不是第 1 个,则用 pre_e 返回它的前驱,否则操作失败。
NextElem ( L, cur_e, next_e )
初始条件:线性表 L 已存在。
操作结果:若 cur_e 是 L 的数据元素且不是最后一个,则用 next_e 返回它的后继,否则操作失败。
ListInsert ( L, i, e )
初始条件:线性表 L 已存在, 1≤i ≤ListLength(L)+1 。
操作结果:在 L 中第 i 个位置之前插入新的数据元素 e,L 的长度加
1。
ListDelete( L, i, e )
初始条件:线性表 L 已存在且非空, 1≤i ≤ListLength(L) 。
操作结果: 删除 L 的第 i 个
您可能关注的文档
最近下载
- 小学语文一至六年级部编教材快乐读书吧内容及要求一览表.docx
- 六年级语文上学期复习计划.docx
- 构建小学低年级有效的识字教学模式——小学低年级识字教学有效性实践研究-来源:新课程(第2019004期)-山西三晋报刊传媒集团有限责任公司.pdf VIP
- 第8课 增设动画添效果(课件)五年级上册信息技术闽教版.ppt
- 沪教版小学牛津英语五年级第一学期5A-M1U1-习题卷(附答案).docx VIP
- 第三期聚心计划考试.docx
- 部编版三年级语文上册第2单元《语文园地二》课件.pptx VIP
- 冷链物流仓储中心建设项目可行性研究报告.doc
- 大学生职业生涯规划课教案.doc VIP
- 试析有效识字教学.doc VIP
文档评论(0)