宿舍管理系统 链表 C语言 C++ 数据结构 链表 课程设计.docx
《宿舍管理系统 链表 C语言 C++ 数据结构 链表 课程设计.docx》由会员分享,可在线阅读,更多相关《宿舍管理系统 链表 C语言 C++ 数据结构 链表 课程设计.docx(14页珍藏版)》请在三一办公上搜索。
1、宿舍管理系统 链表 C语言 C+ 数据结构 链表 课程设计#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>/* 采用双向链表结构,方便添加删除和排序 */typedef struct node /* 定义结构体类型dnode */long id; /* 楼号和房间号,因为一个楼号加一个房间号才能唯一定位一个房间,前两个字节存楼号,后两个字节存房间号 */int area; /* 面积 */int max; /* 所容纳人数 */int current; /* 已入
2、住人数 */struct node *prior,*next; /* 前驱和后继指针 */dnode;dnode* head = NULL;void output_one(dnode* n)/* 输出一条记录 */int lou; int room;room = n->id & 0xffff;lou = n->id >> 16;printf(%dt%dt%dt%dt%dn, lou, room, n->area, n->max,n->current);void output/* 输出所有记录 */dnode* pos = head;if(head = NULL)pr
3、intf(no recordn);return;printf(loutroomtareatmaxtcurrentn);while (pos)output_one(pos);/* 循环调用output_one */pos = pos->next;void sortint max = 0, i;dnode* pos = head;if(head = NULL)printf(no recordn);return;while(pos)if(pos->current>max)max = pos->current;pos = pos->next;printf(loutroomtarea
4、tmaxtcurrentn);for(i=max; i>=0; i-)pos = head;while (pos)if(pos->current = i)output_one(pos);/* 循环调用output_one */pos = pos->next;int insert/* 插入一条数据 */int lou;int room;long louL;dnode* pos = head;dnode* n = malloc(sizeof(dnode);n->prior = NULL;n->next = NULL;/楼号、房间号、面积、所容纳人数、已入住人数printf(bu
5、ilding:);scanf(%d, &lou);printf(room:);scanf(%d, &room);printf(area:);scanf(%d, &n->area);printf(max:);scanf(%d, &n->max);printf(current:);scanf(%d, &n->current);louL = lou;louL = louL<<16;n->id = louL + room;if(head=NULL)/* 如果还没有头节点,就作为头节点 */head = n;return 1;while (pos)if(pos->id >
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宿舍管理系统 链表 C语言 C+ 数据结构 课程设计 宿舍 管理 系统 语言
链接地址:https://www.31ppt.com/p-3444927.html