c++宿舍管理系统课程设计

上传人:第*** 文档编号:55632290 上传时间:2018-10-03 格式:DOC 页数:43 大小:391.70KB
返回 下载 相关 举报
c++宿舍管理系统课程设计_第1页
第1页 / 共43页
c++宿舍管理系统课程设计_第2页
第2页 / 共43页
c++宿舍管理系统课程设计_第3页
第3页 / 共43页
c++宿舍管理系统课程设计_第4页
第4页 / 共43页
c++宿舍管理系统课程设计_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《c++宿舍管理系统课程设计》由会员分享,可在线阅读,更多相关《c++宿舍管理系统课程设计(43页珍藏版)》请在金锄头文库上搜索。

1、 河南城建学院课程设计报告书专 业: 信息管理与信息系统课程设计名称:数据结构课程设计题 目:宿舍管理查询软件班 级:信管 2 班设 计 者 学 号:083215217设 计 者 姓 名:张凯迪同 组 人 员: 姚飒飒指 导 老 师:张延红 崔雪冰 杨斌完 成 时 间:2016 年 6 月 12 日摘要 在校学生的信息管理是校园管理中的一个重要内容,随着国家扩招政策的继续实施, 学生数量也不断增加、信息的不断细化、各个行业间联系的不断密切,对人事管理 的要求也不断提高。如何记录和管理好学生的信息,对学生实施高效的宏观管理, 对学生出入宿舍以及学生注入和迁出的信息的灵活的记录及更新,是一项繁重而

2、艰 巨的任务。 关键词:C+;数据库表;宿舍信息查询;宿舍信息管理目目 录录目 录1第一章开发环境和开发工具.11.1C+简介.1 1.2 开发背景.1 1.3 开发环境.1第二章 算法思想.22.1 系统需求分析.2 2.2 系统总体设计.2 2.2.1 系统设计目标.2 2.2.2 开发设计思想.3 2.2.3 系统功能模块设计.3 2.3 算法思想描述.5第三章 算法实现.63.1 数据结构.6 3.2 程序模块.6 3.2.1 数据结构设计6 3.3 各模块之间的调用关系.7 3.3.1 模块划分7 3.3.2 操作实现10 3.4 源程序代码.18第四章测试与分析.324.1 使用方

3、法32 4.2 测试数据选择.32 4.3 测试结果分析.32总 结.38心得体会.39参考文献.400第一章开发环境和开发工具1.1C+简介C+标准可分为两部分, C+语言本身和 C+标准库。C+标准库对于 Visual C+是相当新的,实际上微软只是在发布 Visual C+ 5.0 时去除了一些“bug” 。标准库提供了标准的输入/输出、字符串、容器(如矢量、列表和映射等)、非数值运算(如排序、搜索和合并等)和对数值计算的支持。应该说, C/C+包含了相对少的关键字,而且很多最有用的函数都来源于库,C+标准库实现容器和算法的部分就是STL。 STL 是数据结构和算法的一个框架,数据结构包

4、括矢量、列表和映射等,算法包括这些数据结构的查找、拷贝和排序等。1994 年 7 月,ANSI/ISO C+标准委员会投票决定接受 STL 为 C+标准库的一部分,这个建议是根据 Alex Stepanov、Meng Lee 和 David Musser 这三人的编程和软件库研究提出的。STL 的产生是为了满足通用性的设计目标,而不是为了提高性能。1.2 开发背景随着科学技术的不断发展,计算机科学日渐成熟,其强大的功能已为人们所深刻认识,它己进入人类社会的各个领域并发挥着越来越重要的作用。采用计算机进行信息化管理已成为衡量企业管理科学化和现代化的重要标志,而人事管理的全面自动化、信息化则是其中

5、重要的组成部分。人事管理的好坏对于企业的决策者和管理者来说都至关重要,在很大程度上影响着企业的经济效益和社会效益。因此,本文所研究的人事管理信息系统具有一定的使用价值和现实意义。1.3 开发环境本文所采用的开发环境主要是在一般的 PC 硬件环境和 Windouws Vista/2003/XP 系统由 Visual+6.0 编写而成,在用到 Microsoft Visual C+6.0中 c 语言的情况下 ,对于查询采用了逐个查询法,程序通过调试运行实现了设计目标,并且经过适当完善后,将可以应用在实际中解决问题。1第二章 算法思想2.1 系统需求分析为了实现提高高校宿舍管理部门的工作效率,充分利

6、用资源,减少少不必要的人力,物力,和财力的支出,方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的,为宿舍管理部门开发设计专用系统软件宿舍管理软件来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。该程序应该具有以下功能:(1)学生的入住信息录入;(2)输出学生入住信息(分别按姓名,学号,房间号有序) ;(3)按给定学号,姓名,房间号查询;(4)插入新增的学生信息;(5)按学号删除学生信息。该程序执行的全过程大致为:(1)按照提示输入所需要的条件; (2)选择要实现的功能;(3)显示执行后的结果2.2 系统总体设计2.2.1 系统设计目标任务:为宿舍管理人员编

7、写一个宿舍管理查询软件, 程序设计要求:(1)采用交互工作方式(2)建立数据文件 ,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)查询菜单: (用二分查找实现以下操作)(3)按姓名查询 2(4)按学号查询 (5)按房号查询(6)打印任一查询结果(可以连续操作)2.2.2 开发设计思想基于以上系统设计目标,本文在开发人事管理信息系统时遵循了以下开发设计基于以上系统设计目标,本文在开发人事管理信息系统时遵循了以下开发设计思想思想: : 采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资 源,提高系统开发水平和应用效果的目的。 尽量达到操作过程中的直

8、观、方便、实用、安全等要求。 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未 参与开发的技术维护人员补充、维护。 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、查找、显示、 排序等操作。2.2.3 系统功能模块设计本系统分为八个模块:如图 2-1 所示的系统功能模块图。如图 2-2 系统功能模块图。2-1 系统模块图如下请按选择操作1 按姓名排序2 按学号排序3 按房号排序4 按姓名查找5 按学号查找6 按房号查找7 按学号插入8 按学号删除3输入信息输出界面选择操作选择 1选择 2选择 3选择 4选择 5选择 6选择 7选择 8选择 11按姓名排序显示按学号

9、排序显示按房号排序并显示按姓名查找并显示按学号查找并显示按房号排序并显示按学号插入按学号删除选择 0结束系统退出yyyyyyyynnnnnnnnny2-2 系统功能图如下42.3 算法思想描述该程序的由多种函数实现,每个函数具有不同的功能,主要有主菜单函数, 插入功能子菜单函数,查找功能子菜单函数,学生信息录入函数,显示函数,排 序函数,插入函数以及查找函数。在每个区域中会调用不同的函数来实现主要的 功能。比如,在学生显示这个功能里调用显示函数;在插入功能里调用子菜单函 数;在显示信息时调用排序函数先对需要输出的信心进行排序,然后再输出;在 查找功能里会调用查找函数来进行查找,包括按照性别,学

10、号,姓名,房间号等 查询。而最主要的函数有: 插入函数,它用尾插法来实现; 排序函数,用快速排序函数来实现; 查找函数,用逐个查找法;5第三章 算法实现3.1 数据结构选择的数据结构为:#include#include#include数据结构采用链式存储,所有程序从主函数 void main()开始,首先调用menu()主菜单函数,在 menu()函数中依次增加各种功能,然后通过switchcase 语句分别选择录入,显示,插入,查找,退出功能 1,选择录入功能时调用 shuru()函数录入信息;2 选择显示功能时,首先用 linklist l()表头显示函数,然后分别调用 sort1(lin

11、klist /链表的最大长度void main() /主函数6linklist l; /定义线性表 linit(l); /调用初始化函数char ch;system(“color a“);printf(“n“); printf(“ *欢迎进入宿舍管理查询系统*n“);printf(“n“); printf(“请按任意键开始操作:“);scanf(“%c“, system(“cls“);/将屏幕先前显示的内容清理掉create(l); /调用线性表创建函数system(“cls“);/显示t=1; menu(); /调用主菜单函数void init(linklist /调用输入函数void so

12、rt3(linklist /调用按姓名排序函数 printf(“n“);if(l.length=0)printf(“已无学生记录n“);printf(“n“);disp();menu();else printf(“按姓名排序:n“);print1(l); disp(); /调用返回主界面menu(); break;case 2: sort2(l); /调用按学号排序函数 printf(“n“);if(l.length=0) printf(“已无学生记录n“);printf(“n“);disp();menu();8else printf(“按学号排序:n“);print1(l);disp();m

13、enu();break;case 3: sort3(l); /调用按房号排序函数 printf(“n“);if(l.length=0) printf(“已无学生记录n“);printf(“n“);disp();menu();else printf(“按房号排序:n“);print1(l);disp();menu();break; case 4:sort1(l); /先调用按姓名排序函数进行排序 chazhao1(l); /再调用按姓名查找函数进行(二分)查找 break; case 5: sort2(l); /先调用按学号排序函数进行排序 chazhao2(l); /再调用按学号查找函数进行(

14、二分)查找 break; case 6: sort3(l); /先调用按房号排序函数进行排序 chazhao3(l); /再调用按房号查找函数进行(二分)查找break;9case 7: sort2(l); /调用插入函数insert(l); system(“cls“); printf(“显示插入后的学生信息:n“);print1(l);disp();menu();break; case 8: Delete(l); /调用删除函数if(l.length=0)printf(“n“); printf(“学生记录已被删除完n“);printf(“n“);disp();menu();else prin

15、tf(“显示删除后的学生信息:n“);print1(l);disp();menu();break;3.3.2 操作实现录入学生信息录入学生信息 void shuru(linklist l) /输入学生的信息10 printf(“请输入姓名:“); fflush(stdin); / 清空输入缓冲区,得到正确的输入数据 gets(stud.name); /输入一行字符串(姓名) printf(“请输入性别:“); /hnnn fflush(stdin); / 清空输入缓冲区,得到正确的输入数据、 、 、 gets(stud.sex); /输入一行字符串(性别) 、 、 、 、 printf(“请输入学号:“); scanf(“%d“, printf(“请输入房号:“); scanf(“%d“, void create(linklist newbase=(stu*)realloc(l.elem,(N+increase)*sizeof(stu ); l.elem=newbase; l.listsize

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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