版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高级语言程序设计课程设计说明书设计题目:学生宿舍管理系统3一、总体设计1.程序的总体设计2.函数原型声明二、用户说明1、菜单界面2、入住登记界面3、删除界面4、浏览界面5、查询修改6、排序界面7、退出三、小结四、参考文献五、源程序代码、总体设计1 .程序的总体设计确定界面,使用户可选择操作项目(录入,删除,浏览,修改,查询,排序)录入:使用结构体,要求用户输入楼栋、房号、面积、可住人数、已住人数删除:按房号删除以上信息查询:按房号查询以上信息修改:按房号修改以上信息排序:按已住人数排序信息2.函数原型声明struct room *add(struct room *head);/添加函数stru
2、ct room *del(struct room *h);/删除函数void show(struct room *h);/信息浏览函数void serh(struct room *h);/查询与修改函数struct room *sort(struct room *head);/排序函数void can();/结束函数、用户使用说明运行程序后即可按提示模仿以上操作进行。1、菜单界面国re:课程设计“LMjue尝生宿舍管S泵昴仪口疋卜疋1理面M序 krfl 记息罷人统 鲁矍住聚 住曆心询入岀 入删信査蠶12 3 15 61请选择服务项目!2、入住登记界面请输入要登记的入馬数:3带鈔S勒駄入住人数己
3、入住人数 数据须齣!定顺序tA,不同数据用空格分开。V :iee 12 4 £_3、删除界面请选择服务项目!2请输入S房房号:20b删除成功!是否返0菜单界面进=其他操作? (1/0)4、浏览界面面祝所容纳人数己人住A数121277是占返回采单界面迸行S他(1/0;5、查询修改请输入要查找的房号:202宜询貉耒如下:楼号房号面积所容納人数己人住人数72&Z1211如B修改请选弹1,技其他任蕙键返回栗单界面W对入住信息进行修改C按顺序输入)y 262 12 S6、排序界面12122I是舌返回菜单界E进行其他操作Y (丄旳7、退出请选择服务项目!贏迎再次使用学生宿舍管理系统!再见
4、” Press an叩to continue.三、小结通过编写该程序,熟悉了 C语言的基本语法,选择,循环等结构,深入练习了函数的调用方法,和文件的读写方法,熟悉了结构体的使用,更加深化了面 向过程语言思想,和一些基本算法。通过对程序的后期调试,熟悉了 C常见错误,锻炼了思维的严密性,和完备性。通过对程序的注释和画流程图,形成了一套自己编程的风格,和清晰地思路,使思维更加条理化,清晰化。四、参考文献1谭浩强.C程序设计(第二版).北京:清华大学出版社,19992邓文新.张宏烈哈尔滨工业大学出版社3百度.五、附件源程序代码#in clude<stdio.h>#in clude<
5、malloc.h>#in cludevstri ng.h>#in elude <stdlib.h>struct roomint Lnum;int Fnum;int squa;int max num;int innum;struct room *n ext;struct room *add(struct room *head);/添加函数struct room *del(struct room *h);/删除函数void show(struct room *h);/信息浏览函数void serh(struct room *h);/查询与修改函数struct room *s
6、ort(struct room *head);/排序函数/修改点void can();/结束函数void main()struct room *head;int x,y;head=(struct room *)malloc(sizeof(struct room);head-> next=NULL;printf("欢迎使用学生宿舍管理系统!n”);printf(”按回车键进入菜单界面n");getchar();while(1)n");A:prin tf("printf("|n");prin tf("|1.入住登记|n&q
7、uot;);prin tf("|2.删除信息|n");prin tf("|3.信息浏览|n");prin tf("|4.查询修改|n");prin tf("|5.按入住人数排序l|n");prin tf("|6.退出系统|n");|n");prin tf("|n");printf(”请选择服务项目!n");flushall();scan f("%d",& x);/菜单选择if(head-> next=NULL&&a
8、mp;x!=1&& x!=6)n");printf("系统中无入住信息,请先进行入房登记!goto A;switch(x) case 1:head=add(head);system("cls");printf(” 登记完毕! n”);con ti nue;case 2:head=del(head);T:scan f("%d", &y);while(y!=1 &&y!=0)printf(”输入错误!请重新输入!n");goto T;con ti nu e;if(y=i)system(&q
9、uot;cls");elseelsecan ();goto N;case 3:show(head);printf("是否返回菜单界面进行其他操作?(1/0 ) n");J:scan f("%d", &y);while(y!=1 &&y!=0)printf(”输入错误!请重新输入!n");goto J;if(y=1)system("cls");con ti nu e;can ();goto N;case 4:serh(head);system("cls");con ti n
10、ue;case 5:head=sort(head);/ 修改点printf("是否返回菜单界面进行其他操作?(1/0 ) n");scan f("%d", &y);while(y!=1 &&y!=0)printf(”输入错误!请重新输入!n");goto J;if(y=1)system("cls");con ti nu e;can ();goto N;con ti nue;case 6:can();goto Q;default:printf(”输入错误!请重新输入! n");N:if(y=O
11、)break;Q:if(x=6)break;struct room *add(struct room *head)/入住登记struct room *h,* p;int i=0, n;h=head;printf("请输入要登记的入房数:n");scan f("%d", &n);printf("请输入入住信息:n楼号房号面积最大入住人数已入住人数n");n");printf("数据须按规定顺序输入,不同数据用空格分开。for(i=0;i <n ;i+)p=(struct room*)malloc(siz
12、eof(struct room);flushallO;scan f("%d%d%d%d%d",&p->L num,&p->F num,&p->squa,&p->max num,&p- >innu m);p->n ext=h->n ext;h->n ext =p;return h;struct room *del(struct room *h)/退房登记int x;struct room *p ,*q;p=h->n ext;q=h;printf(”请输入退房房号:n”);scan f
13、("%d", &x);if(p=NULL)printf("不存在此入房登记!n是否返回菜单界面进行其他操作? (1/0 )");elsewhile( p)if(p->Fnum=x)q->n ext =p->n ext;free( p);printf("删除成功!是否返回菜单界面进行其他操作? (1/0 ) n");goto K;elseq=p;p=p->n ext;if(p=NULL)printf("不存在此入房登记!n是否返回菜单界面进行其他操作? (1/0 )struct room *p;
14、n");K:return h;return h;void show(struct room *h)p=h->n ext;if(p=NULL)printf(”无信息可显示!n");elseprintf("n 楼号 房号 面积 所容纳人数已入住人数nn");while( p)prin tf("%-7d%-7d%-8d%-13d%-8dn", p->L num, p->F num, p->squa, p->max num,p->innu m);p=p->n ext;void serh(struct
15、room *h)/入住信息查询与修改int x,y, z;struct room *p;p=h->n ext;H: printf("请输入要查找的房号:n");scan f("%d", &z);while( p->F nu m!=z)p=p->n ext;if(p=NULL)break;if(p=NULL)1/0 ) n");printf(”您所查询的房间号无人入住!是否继续查找?(Z:scan f("%d", &x);while(x!=1 &&x!=0)printf(”输入
16、错误!请重新输入! n");goto 乙if(x=1)goto H;elseprintf(”查询结果如下:n”);printf("n 楼号 房号 面积 所容纳人数已入住人数nn");prin tf("%-7d%-7d%-8d%-13d%-8dn", p->L num, p->F num, p->squa, p->max nu m,p->innu m);printf("如需修改请选择1,按其他任意键返回菜单界面n");scan f("%d", &y);if(y=1)pr
17、intf("请对入住信息进行修改(按顺序输入)n");scan f("%d%d%d%d%d",&p->L num,&p->F num,&p->squa,&p->max num,&p->innu m);printf("修改成功!修改结果如下:n");printf("n 楼号 房号 面积所容纳人数已入住人数nn");prin tf("%-7d%-7d%-8d%-13d%-8dn", p->L num,p->F num,
18、 p->squa, p->max nu m,p->i nnu m);struct room *sort(struct room *h)/修改点struct room *p 1,* p2,*t,*te mp ,*q; /*定义临时指针*/tem p=h->n ext; /*将原表的头指针所指的下一个结点作头指针*/h-> next=NULL; /*第一个结点为新表的头结点*/while(te mp !=NULL)/*当原表不为空时,进行排序*/t=temp; /*取原表的头结点*/temp=te mp->n ext; /*原表头结点指针后移 */p1=h; /*设定移动指针p1,从头指针
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级装配工试题及答案
- 三级心理咨询师题目及答案
- 2026年中学教师资格证《教育知识与能力》模拟试题及答案
- 装饰装修材料采购验收及进场管控方案
- 房地产估价师考试模拟试卷含详细解析
- 基坑支护工程隐患排查治理方案
- 应急救援组织机构及职责措施
- 机械加工企业安全生产风险分级管控清单
- 栲胶浸提工安全宣教评优考核试卷含答案
- 拖拉机焊装加工生产线操作调整工岗前理论知识考核试卷含答案
- 2026年心理咨询师通关测试卷含完整答案详解(夺冠)
- 2026年浙江公务员考试行测真题及答案解析
- 山东铁投集团招聘笔试真题2025
- 倒班人员作息健康管理培训
- AI生成式内容赋能智慧文旅:2026沉浸式体验应用案例与趋势
- 药品采购绩效考核制度
- 2026年国企采购管理专干考试题库及答案
- 矿长面试常见问题及答案
- 癌痛全程管理中国专家共识(2025版)一
- 2025云南航空产业投资集团三季度招聘(云南空港飞机维修服务有限公司岗位)笔试历年参考题库附带答案详解
- 2025年凉山新华书店考试真题及答案
评论
0/150
提交评论