1、 确定界面,使用户可选择操作项目(录入,删除,浏览,修改,查询,排序)。 录入:使用结构体,要求用户输入 楼栋、房号、面积、可住人数、已住人数 删除:按房号删除以上信息 查询:按房号查询以上信息修改:按房号修改以上信息排序:按已住人数排序信息2. 函数原型声明struct room *add(struct room *head);/添加函数struct room *del(struct room *h);/删除函数void show(struct room *h);/信息浏览函数void serh(struct room *h);/查询与修改函数struct room *sort(struct
2、 room *head);/排序函数void can();/结束函数二、用户使用说明运行程序后即可按提示模仿以上操作进行。1、菜单界面 2、入住登记界面 3、删除界面 4、浏览界面 5、查询修改 6、排序界面 7、退出 三、小结通过编写该程序,熟悉了C语言的基本语法,选择,循环等结构,深入练习了函数的调用方法,和文件的读写方法,熟悉了结构体的使用,更加深化了面向过程语言思想,和一些基本算法。通过对程序的后期调试,熟悉了C常见错误,锻炼了思维的严密性,和完备性。通过对程序的注释和画流程图,形成了一套自己编程的风格,和清晰地思路,使思维更加条理化,清晰化。四、参考文献1谭浩强.C程序设计(第二版)
3、.北京:清华大学出版社,19992邓文新.张宏烈.哈尔滨工业大学出版社3XX.五、附件源程序代码#includemalloc.hstring.h#include struct room int Lnum; int Fnum; int squa; int maxnum;int innum; struct room *next;/排序函数/修改点void main() struct room *head; int x,y; head=(struct room *)malloc(sizeof(struct room); head-next=NULL; printf(欢迎使用学生宿舍管理系统!n);按
4、回车键进入菜单界面n getchar(); while(1) A: printf(-n|-|n| 1.入住登记 |n| 2.删除信息 |n| 3.信息浏览 |n| 4.查询修改 |nprintf(| 5.按入住人数排序 |n| 6.退出系统 |n请选择服务项目! flushall(); scanf(%d,&x);/菜单选择 if(head-next=NULL&x!=1&=6) printf(系统中无入住信息,请先进行入房登记! goto A; switch(x) case 1: head=add(head); system(cls登记完毕! continue; case 2: head=del
5、(head);T: scanf(y); while(y!y!=0) printf(输入错误!请重新输入! goto T; if(y=1) system(continue; else can(); goto N; case 3: show(head);是否返回菜单界面进行其他操作?(1/0)nJ: scanf( goto J; goto N; case 4: serh(head); case 5: head=sort(head);/修改点while(y! continue; case 6: can(); goto Q; default:N: if(y=0) break;Q: if(x=6) st
6、ruct room *add(struct room *head)/入住登记 struct room *h,*p; int i=0,n; h=head;请输入要登记的入房数:n);请输入入住信息:n楼号 房号 面积 最大入住人数 已入住人数n数据须按规定顺序输入,不同数据用空格分开。 for(i=0;iLnum,&Fnum,&squa,&maxnum,&innum); p-next=h-next; h-next=p; return h;struct room *del(struct room *h)/退房登记 int x; struct room *p,*q; p=h- q=h;请输入退房房号
7、:if(p=NULL)不存在此入房登记!n是否返回菜单界面进行其他操作?(1/0) else while(p) if(p-Fnum=x) q-next=p- free(p);删除成功! goto K; q=p; p=p- if(p=NULL)K:void show(struct room *h) struct room *p; if(p=NULL)无信息可显示!n楼号 房号 面积 所容纳人数 已入住人数nn%-7d%-7d%-8d%-13d%-8dn,p-Lnum,p-Fnum,p-squa,p-maxnum,p- p=p-void serh(struct room *h)/入住信息查询与修改 int x,y,z;H: printf(
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1