- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语言及数据结构与算法课程设计
题 目 : 学生信息管理系统
专 业:
姓 名:
学 号:
同组其他学生 ( 学号 ) :
2013 年 月 日
. . .
目 录
一、需求分析 . 3
二、总体设计 . 4
三、详细设计 . 5
四、调试与测试 . 6
五、测试结果 . 7
六、用户手册 . 9
七、附录 . 9
. . .
一、需求分析
每年九月份都有大量新生来到学校报道,使学校管理学生工作量增大,为
此我们设计一学生信息管理系统,学生信息包括:学号, ,年龄,性别,出生年
月,地址,, E-mail 等。使之能提供以下功能:
(1)系统以菜单方式工作
(2)学生信息录入功能 --- 输入
(3)学生信息浏览功能 --- 输出
(4)查询、排序功能 --- 算法按学号查询、按查询、学生信息的删除与修
改(可选项)
二、总体设计
组成框图
主菜单 欢迎界面 录入
按姓名
删除 主函数 查询
按学号
浏览 退出 修改
. . .
流程图 开始
密码是否正确
Y
主菜单
1 录入学生信息
2 浏览学生信息
3----查询学生信息
删除 4----删除学生信息
5----修改学生信息
0----退出系统
浏览 修改
退出
结束
录入
开始
申请新空间
输入各项数据
显示数据
结束
N
重新输入
Y
密码是否正确
录入
查询
浏览
开始
指针 p 指向头结点
输出指针的数据 P=p->next
N
P==NULL?
Y
结束
. . .
查询 修改 &删除
输入姓名或学号
输入要删除或修
改的学号
P 指针的学号与
P=p->next
姓名是否与输
N
P 指针的学号
N
入的相同?
与输入的是否
相同
Y
Y
输出数据
修改 p 的各项数据或将
p=p->next
结束 结束
三、详细设计
主函数通过在 while 循环结构中嵌入 switch 分支结构实现操作选择功能。
1) Record 录入函数
建立一个包含学生全部信息的结构体,申请空间,其指针为 p0,存入学生各项对应的数据。
2) Insert 插入函数 :
按输入的数据存储在一个 stu 类型的指针里, 若原来链表里没有元素, 则将此作为第一个元素; 若原来的链表里有元素, 则将指向头结点指针存储的学号与头指针下一个的学号大小进行比较, 小的在前大的在后, 之后指向头结点处的指正后
. . .
移,进行比较,直到尾结点为止。
在进行比较的 while 函数,每比较一次,计算总人数的 TOTAL_NUM自加。
3) Display 浏览函数:
将传给 Display 函数的指针 P 所指向的结构体的各项数据输出以便核对信息。
4) DisplayAll 浏览函数:
指针指向链表头结点, 在 if 语句中嵌套 do-while 语句将学生信息按学号从大到小进行逐一输出。
5) Query 查询函数:
首先使用 switch 语句生成菜单,实现操作选择功能。分三个部分按学号查询、
按查询和取消返回上一层。按学号查询时调用 while 语句对学号检索,再调用
if 语句进行判断,最后输出想要查询的信息。按查询的方法跟按学号查询的一
样。
( 6) Del 删除函数:
使用 while 语句进行检索,直接删除学生信息。
7) Change修改函数:
建立 devise 函数,生成菜单, 用 switch 语句进行分叉选择功能, 选择项目进行相应的信息输入。在 Change 函数中使用 while 语句进行检索后再调用 devise 函数修改信息。实现学生信息修改。
四、调试与测试
1、进行多次运行, 发现那栏的一打长就会显示一样的数字, 打短的数字就可以。我们原本是使用长整型来定义, 想说空间不够, 后来改用字符型, 用字符串记录程序运行结果正确。
2、程序设计初就在考虑退出与返回有什么差别,如果返回了主菜单那退出用什
么,关于这个问题看了许多网上的资料,发现许多程序都有 exit ( 0)的函数,
所以去查了不少关于 exit 的函数容,最后退出就用了 exit(0), 但是又提醒说要编写 exit 函数,之后发现要加入 <stdlib.h> 的头文件,程序可以正常运行。
. . .
3、程序在 180 行显示说 readData 函数不可以返回值,所以在 if 条件句中将
return 0 删除了,不过这个程序在学校的机房即使不删 return 0 也是可以运行
的,关于这点很是不解,还有待解决。
五、测试结果
1、进入系统界面,输入密码,超过三次会自动退出。
2、选 1 时录入学生信息,编辑完后会继续显示菜单
3、选 2 浏览学生信息 ,之后继续返回菜单界面,为节省空间菜单界面暂不截图
. . .
4、选择 3 查询学生信息会有按学号与
文档评论(0)