欢迎来到天天文库
浏览记录
ID:6328155
大小:186.50 KB
页数:26页
时间:2018-01-10
《数据结构课程设计报告-学生宿舍管理系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、西安郵電學院数据结构课程设计报告题目:学生宿舍管理系统系部名称:通信工程系专业名称:通信工程班级:通工0805学号:学生姓名:指导教师:时间:2009年12月16日至2009年12月25日26一、课程设计目的数据结构课程设计是让学生综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发通过课程设计,使学生通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。学会将知识应用于实际的方法,提高分析和解
2、决问题的能力,增加综合能力。二、课程设计内容用C语言编写“学生宿舍管理系统”,要求如下:1.创建链表,录入数据。2.数据的读写操作。3.数据的更新操作。4.数据的删除和插入。5.请你要求对数据进行查找。6.按要求排序。7.设计总体菜单界面。三、需求分析1、录入数据学生的基本信息,包括学号、姓名、性别、年龄(出生年月日)、专业、班级等。宿舍楼的基本信息,包括宿舍楼号、学生所住的房间号和宿舍床位号等。2、数据存储信息的录入要求用链表,把输入的信息要求存储到指定文件夹中,以便随时查看,也可供程序调用,方便操作人员不用重复输入数据。3、数据的更新更
3、新包括插入、删除、修改。删除分根据学号删除和根据学生的楼层信息删除。5、数据的查询查询可以根据学号和姓名、宿舍信息不同方面进行查询,方便操作者使用。6、数据的排序操作者可以使所输入的信息按学号排序。7、数据的统计26分别可以按整体统计,统计所有学生人数,男生人数和女生人数,也可以按宿舍楼号统计,统计一个宿舍楼所有学生人数。四、概要设计1.系统结构图(功能模块图)主函数录入存储数据操作输出信息输入统计查找修改删除插入显示排序2.功能模块说明:(1).数据录入:创建单链表,调用Initnode()函数申请头结点,在调用Creat(),在调用Wr
4、ite_to_File()函数将信息写入文件中,(2)插入模块:先将文件信息读出,再调用Insert()函数,可以向文件中插入的信息。(3)插入模块:先将文件信息读出,再调用Del()函数,可以将输入错误或者需要的信息删除。(4)修改模块:先将文件信息读出,再调用Modify()函数,将输入错误的信息修改。(5)查询模块:先将文件信息读出,再调用Search(),在Search()中有调用两个数,一个按照宿舍信息查询Dorm_search(),需要楼号和宿舍号,一个按照生信息查询Stu_search()需要学生学号或者姓名。(6)26排序模
5、块:先将文件信息读出,再调用Sort_in_Num(),按照学生学号排序,拍完续没有直接写入文件,如果要直接写入调用文件读入函数Write_to_File().(7)统计模块:先将文件信息读出,再调用Stat()函数,统计了女生人数和男生人数,还统计了总人数和男女宿舍个数。五.详细过程和运行结果:删除模块开始输入要删除学生的学号num组织循环,扫描存储学生信息的链表p->num:num!===删除该学生信息结束26开始插入模块选择插入方式头插入学生信息中间插入学生信息输入插入位置(学号num)输入插入的学生信息p->num:num组织循环,
6、扫描存储学生信息的链表将其入栈,即将插入的学生信息插到了最前面输入插入学生的信息==!=将要插入的学生信息插到了学号为num的学生之后、结束26查找模块开始选择查找方式按宿舍信息查找按学生学号查找组织循环,扫描存储学生信息的链表表输入要查找的学生build_num,room_num,bed_num输入要查找的学生学号nump->build_num:room_nup->room_num:room_nup->bed_num:bed_nump->num:num!=!===输出该学生的信息输出该学生信息==结束26开始修改模块输入要修改的学生学号n
7、um组织循环,扫描存储学生信息的链表表p->num:num!===修改学生信息结束26开始排序模块组织循环,扫描存储学生信息的链表表选出学号最小的学生,与第一学生交换存储位置在余下的学生中选出学号最小的学生与第二个学生交换存储位置以此类推,直至排序完成结束26开始统计模块组织循环,扫描存储学生信息的链表表p->sex=mp->sex=fCount2++Count1++Count1%4==0Count1%4==0结束六.调试情况,对自己的评价和体会:调试程序真的比想象中麻烦很多,以前只是写一些很简单的代码,更多的是照着书在抄,当出现错误是,我
8、们不知道怎么调试,开始实习时就在计划这做一个如何完美的程序,当我着手去写的时候,我发现平时的知识积累太少了,更本没有思路。看了很多书,有了想法,可是做起来有些功能好难。这次实习,
此文档下载收益归作者所有