付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高级语言程序设计课程设计说明书设计题目:学生宿舍管理系统、总体设计31.程序的总体设计32.函数原型声明3二、用户说明41、菜单界面52、入住登记界面53、删除界面54、浏览界面65、查询修改66、排序界面67、退出6三、小结7四、参考文献7五、源程序代码7、总体设计|1.程序的总体设计确定界面,使用户可选择操作项目(录入,删除,浏览,修改,查询,排序)录入:使用结构体,要求用户输入楼栋、房号、面积、可住人数、已住人数删除:按房号删除以上信息 查询:按房号查询以上信息 修改:按房号修改以上信息 排序:按已住人数排序信息2.函数原型声明structroom*add(structroom*head
2、);/添加函数structroom*del(structroom*h);/删除函数voidshow(structroom*h);/信息浏览函数voidserh(structroom*h);/查询与修改函数structroom*sort(structroom*head);/排序函数voidcan();/结束函数、用户使用说明运行程序后即可按提示模仿以上操作进行。1、菜单界面国”心;课程设计口吐明学生宿含管理累堆。2、入住登记界面请输入要登记为入房数:3、删除界面请选择服务项目!蓍输入退房房号;删除成功!是否返回菜单界面进行其他操作?C1/0)C1/0)211-艰r,4ZT舞理面工星舍单宿菜关2省
3、曲记息誉人统一兽宿测修住下一住磐心询入出一入删信查1_1_数分人格住空人用已据住彳焚,信面定4 44、浏览界面楼号房号面根所容纳人数已人住人数7202121172021211?20112?2011222是否返回栗单界面进行其他操作?(1/0)(1/0)5、查询修改茸输入要查找的房号:2y22y2查询结果如下:楼号房号面积所容纳人数已入住人数7 729212111211如需修改请选国,按其他任蕙键返回栗单界面普对入住信息itit行修改C C按喉序输入)720212720212S S5_5_6、排序界面7 72&212551255720112272011222是否返回菜单界面支行其他操作?匚“切7
4、、退出请选择服务项目!射迎再次使用学生宿舍管理系统!再见“PressanykeytocontinuePressanykeytocontinue三、小结通过编写该程序,熟悉了C语言的基本语法,选择,循环等结构,深入练习了函数的调用方法,和文件的读写方法,熟悉了结构体的使用,更加深化了面向过程语言思想,和一些基本算法。通过对程序的后期调试,熟悉了C常见错误,锻炼了思维的严密性,和完备性。通过对程序的注释和画流程图,形成了一套自己编程的风格,和清晰地思路,使思维更加条理化,清晰化。四、参考文帽1谭浩强.C程序设计(第二版),北京:清华大学出版社,19992邓文新.张宏烈.哈尔滨工业大学出版社3百度.
5、五、附件源程序代码#include#include#include#includestructroomintLnum;intFnum;intsqua;intmaxnum;intinnum;structroom*next;);structroom*add(structroom*head);/添加函数structroom*del(structroom*h);/删除函数voidshow(structroom*h);/信息浏览函数voidserh(structroom*h);/查询与修改函数structroom*sort(structroom*head);/排序函数修改点voidcan();/结束函数
6、voidmain()structroom*head;intx,y;head=(structroom*)malloc(sizeof(structroom);head-next=NULL;printf(欢迎使用学生宿舍管理系统!n);printf(按回车键进入菜单界面n);getchar();while(1)A:printf(口Tn);printf(|T|n);printf(|1.入住登记|n);printf(|2.删除信息|n);printf(|3.信息浏览|n);printf(|4.查询修改|n);printf(|5.按入住人数排序|n);printf(|6.退出系统|n);printf(|n
7、);printf(n);printf(请选择服务项目!n);flushall();scanf(%d,&x);/菜单选择if(head-next=NULL&x!=1&x!=6)printf(系统中无入住信息,请先进行入房登记!n);gotoA;switch(x)case 1:head=add(head);system(cls);printf(登记完毕!n);continue;case 2:head=del(head);T:scanf(%d,&y);while(y!=1&y!=0)printf(输入错误!请重新输入!n);gotoT;if(y=1)system(cls);continue;else
8、can();gotoN;case 3:show(head);printf(是否返回菜单界面进行其他操作?(1/0)n);J:scanf(%d,&y);while(y!=1&y!=0)printf(输入错误!请重新输入!n);gotoJ;if(y=1)system(cls);continue;elsecan();gotoN;case 4:serh(head);system(cls);continue;case 5:head=sort(head);修改点printf(是否返回菜单界面进行其他操作?(1/0)n);scanf(%d,&y);while(y!=1&y!=0)(printf(输入错误!请
9、重新输入!n);gotoJ;)if(y=1)system(cls);continue;elsecan();gotoN;continue;case 6:can();gotoQ;default:printf(输入错误!请重新输入!n);N:if(y=0)break;Q:if(x=6)break;structroom*add(structroom*head)入住登记(structroom*h,*p;inti=0,n;h=head;printf(请输入要登记的入房数:n);scanf(%d,&n);printf(请输入入彳i信息:n楼号房号面积最大入住人数已入住人数n);printf(数据须按规定顺序
10、输入,不同数据用空格分开。n);for(i=0;iLnum,&p-Fnum,&p-squa,&p-maxnum,&p-innum);p-next=h-next;h-next=p;returnh;structroom*del(structroom*h)退房登记(intx;structroom*p,*q;p=h-next;q=h;printf(请输入退房房号:n);scanf(%d,&x);if(p=NULL)(printf(不存在此入房登记!n是否返回菜单界面进行其他操作?(1/0);)else(while(p)(if(p-Fnum=x)(q-next=p-next;free(p);printf
11、(删除成功!是否返回菜单界面进行其他操作?(1/0)n);gotoK;)else(q=p;p=p-next;)if(p=NULL)(printf(不存在此入房登记!n是否返回菜单界面进行其他操作?(1/0)n);)K:returnh;)returnh;voidshow(structroom*h)(structroom*p;p=h-next;if(p=NULL)(printf(无信息可显示!n);else(printf(n楼号房号面积所容纳人数已入住人数nn);while(p)(printf(%-7d%-7d%-8d%-13d%-8dn,p-Lnum,p-Fnum,p-squa,p-maxnum
12、,p-innum);p=p-next;voidserh(structroom*h)入住信息查询与修改(structroom*p;intx,y,z;p=h-next;H:printf(请输入要查找的房号:n);scanf(%d,&z);while(p-Fnum!=z)(p=p-next;if(p=NULL)break;if(p=NULL)(printf(您所查询的房间号无人入住!是否继续查找?(1/0)n);Z:scanf(%d,&x);while(x!=1&x!=0)(printf(输入错误!请重新输入!n);gotoZ;if(x=1)gotoH;else(printf(查询结果如下:n);p
13、rintf(n楼号房号面积所容纳人数已入住人数nn);printf(%-7d%-7d%-8d%-13d%-8dn,p-Lnum,p-Fnum,p-squa,p-maxnum,p-innum);printf(如需修改请选择1,按其他任意键返回菜单界面n);scanf(%d,&y);if(y=1)printf(请对入住信息进行修改(按顺序输入)n);scanf(%d%d%d%d%d,&p-Lnum,&p-Fnum,&p-squa,&p-maxnum,&p-innum);printf(修改成功!修改结果如下:n);printf(n楼号房号面积所容纳人数已入住人数nn);printf(%-7d%-7d
14、%-8d%-13d%-8dn,p-Lnum,p-Fnum,p-squa,p-maxnum,p-innum);structroom*sort(structroom*h)修改点(structroom*p1,*p2,*t,*temp,*q;/*定义临时指针*/temp=h-next;/*将原表的头指针所指的下一个结点作头指针*/h-next=NULL;/*第一个结点为新表的头结点*/while(temp!=NULL)/*当原表不为空时,进行排序*/(t=temp;/*取原表的头结点*/temp=temp-next;/*原表头结点指针后移*/p1=h;/*设定移动指针pl,从头指针开始*/p2=h;/*设定移动指针p2做为pl的前驱,初值为头指针*/while(t-innuminnum&p1!=NULL)/*作成绩平均分比较*/(p2=p1;/*待排序点值小,则新表指针后移*/p1=p1-next;if(p1=p2)/*p1=p2,说明待排序点值大,应排在首位*/(t-next=p1;/*待排序点的后继为p*/h=t;/*新头结点为待排序点*/)else/*待排序点应插入在中间某个位置p2和pl之间,如p为空则是尾部*/(t-next=p1;/*t的后继是p1*/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度机械设备制造修理人员综合提升测试卷含完整答案详解【有一套】
- 2024-2025学年度机械设备制造修理人员经典例题【综合卷】附答案详解
- 2024-2025学年度粮油食品检验人员综合提升测试卷含答案详解(巩固)
- 2026中国融通资产校招笔试题及答案
- 水上喷泉施工方案(3篇)
- 智能物流营销方案(3篇)
- 健身全年活动策划方案(3篇)
- 养殖施工方案范本(3篇)
- 2026年陕西省商洛地区单招职业倾向性测试题库附参考答案详解(预热题)
- 2026年鹤壁职业技术学院单招职业倾向性考试题库附答案详解(满分必刷)
- 第二章空调负荷计算与送风量
- 船坞工程廊道施工方案
- 建筑材料-混凝土介绍ppt
- GB/T 4745-2012纺织品防水性能的检测和评价沾水法
- GB/T 14689-2008技术制图图纸幅面和格式
- GB/T 11263-1998热轧H型钢和剖分T型钢
- 教师考试 思政资料
- 03【教案】 项目三 数控编程基础知识
- 中小学体育教师职称晋升面试答辩真题解密
- 代开发票委托书范本
- 接触网技术规格书3电连接线
评论
0/150
提交评论