欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    宿舍管理系统 链表 C语言 C++ 数据结构 链表 课程设计.docx

    • 资源ID:3444927       资源大小:38.01KB        全文页数:14页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    宿舍管理系统 链表 C语言 C++ 数据结构 链表 课程设计.docx

    宿舍管理系统 链表 C语言 C+ 数据结构 链表 课程设计#include &ltstdio.h&gt#include &ltstdlib.h&gt#include &ltstring.h&gt#include &ltconio.h&gt/* 采用双向链表结构,方便添加删除和排序 */typedef struct node /* 定义结构体类型dnode */long id; /* 楼号和房间号,因为一个楼号加一个房间号才能唯一定位一个房间,前两个字节存楼号,后两个字节存房间号 */int area; /* 面积 */int max; /* 所容纳人数 */int current; /* 已入住人数 */struct node *prior,*next; /* 前驱和后继指针 */dnode;dnode* head = NULL;void output_one(dnode* n)/* 输出一条记录 */int lou; int room;room = n-&gtid & 0xffff;lou = n-&gtid &gt&gt 16;printf("%dt%dt%dt%dt%dn", lou, room, n-&gtarea, n-&gtmax,n-&gtcurrent);void output/* 输出所有记录 */dnode* pos = head;if(head = NULL)printf("no recordn");return;printf("loutroomtareatmaxtcurrentn");while (pos)output_one(pos);/* 循环调用output_one */pos = pos-&gtnext;void sortint max = 0, i;dnode* pos = head;if(head = NULL)printf("no recordn");return;while(pos)if(pos-&gtcurrent&gtmax)max = pos-&gtcurrent;pos = pos-&gtnext;printf("loutroomtareatmaxtcurrentn");for(i=max; i&gt=0; i-)pos = head;while (pos)if(pos-&gtcurrent = i)output_one(pos);/* 循环调用output_one */pos = pos-&gtnext;int insert/* 插入一条数据 */int lou;int room;long louL;dnode* pos = head;dnode* n = malloc(sizeof(dnode);n-&gtprior = NULL;n-&gtnext = NULL;/楼号、房间号、面积、所容纳人数、已入住人数printf("building:");scanf("%d", &lou);printf("room:");scanf("%d", &room);printf("area:");scanf("%d", &n-&gtarea);printf("max:");scanf("%d", &n-&gtmax);printf("current:");scanf("%d", &n-&gtcurrent);louL = lou;louL = louL&lt&lt16;n-&gtid = louL + room;if(head=NULL)/* 如果还没有头节点,就作为头节点 */head = n;return 1;while (pos)if(pos-&gtid &gt n-&gtid)/* 按顺序查找,如果找到比自己大的,就插在它前面 */if(pos-&gtprior)pos-&gtprior-&gtnext = n;n-&gtprior = pos-&gtprior;pos-&gtprior = n;if(pos-&gtnext)pos-&gtnext-&gtprior = n;n-&gtnext = pos;if(pos = head)head = n;return 1;else if(pos-&gtid = n-&gtid)free(n);return 0;/* 有重复数据,插入不成功 */if (!pos-&gtnext)/* 如果已经到链表尾部,插入到后面 */pos-&gtnext = n;n-&gtprior = pos;return 1;pos = pos-&gtnext;return 1;int delete/* 删除一条记录 */long id;int lou;int room;dnode* pos = head;printf("building:");scanf("%d", &lou);printf("room:");scanf("%d", &room);id = lou;id &lt&lt= 16;id += room;if(head = NULL)printf("no recordn");return 0;while (pos)if(pos-&gtid = id)/* 找到匹配的项,进行删除 */if(pos-&gtprior)pos-&gtprior-&gtnext = pos-&gtnext;if(pos-&gtnext)pos-&gtnext-&gtprior = pos-&gtprior;if(pos = head)head = pos-&gtnext;free(pos);return 1;pos = pos-&gtnext;printf("no recordn");return 0;int amend/* 修改已入住人数 */int count;long id;int lou;int room;dnode* pos = head;printf("building:");scanf("%d", &lou);printf("room:");scanf("%d", &room);printf("current");scanf("%d", &count);id = lou;id &lt&lt= 16;id += room;if(head = NULL)printf("no recordn");return 0;while (pos)if(pos-&gtid = id)pos-&gtcurrent = count;return 1;pos = pos-&gtnext;printf("no recordn");return 0;void search/* 查找 */long id;int lou;int room;dnode* pos = head;printf("building:");scanf("%d", &lou);printf("room:");scanf("%d", &room);id = lou;id &lt&lt= 16;id += room;if(head = NULL)printf("no recordn");return;printf("loutroomtareatmaxtcurrentn");while (pos)if(pos-&gtid = id)output_one(pos);/* 找到就打印 */return;pos = pos-&gtnext;printf("no recordn");int mainwhile (1)int select;/clrscr;system("cls");printf("nttt Room manage systemnn");printf("tttt1 add roomn");printf("tttt2 delete roomn");printf("tttt3 edit roomn");printf("tttt4 browse roomn");printf("tttt5 query roomn");printf("tttt6 sort by currentn");printf("tttt0 quitn");fflush(stdin);scanf("%d", &select);switch (select)case 1:insert;break;case 2:delete;break;case 3:amend;break;case 4:output;break;case 5:search;break;case 6:sort;break;case 0:return 0;printf("press any key to continue.n");getch;return 0;

    注意事项

    本文(宿舍管理系统 链表 C语言 C++ 数据结构 链表 课程设计.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开