C语言课程设计报告学生宿舍管理系统_第1页
C语言课程设计报告学生宿舍管理系统_第2页
C语言课程设计报告学生宿舍管理系统_第3页
C语言课程设计报告学生宿舍管理系统_第4页
C语言课程设计报告学生宿舍管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、咼级语言程序设计课程设计说明书设计题目:学生宿舍管理系统、总体设计. 31 程序的总体设计. 3实用文档2.函数原型声明. 3二、.用户说明41、.菜单界面52、.入住登记界面53、.删除界面54、.浏览界面65、.查询修改66、.排序界面67、.退出6三、.小结7四、.参考文献7五、.源程序代码7实用文档、总体设计1 程序的总体设计确定界面,使用户可选择操作项目(录入,删除,浏览,修改,查询,排序)录入:使用结构体,要求用户输入楼栋、房号、面积、可住人数、已住人数删除:按房号删除以上信息查询:按房号查询以上信息修改:按房号修改以上信息排序:按已住人数排序信息2.函数原型声明struct ro

2、om *add(struct room *head);添加函数struct room *del(struct room *h);删除函数void show(struct room *h);信息浏览函数void serh(struct room *h);查询与修改函数struct room *sort(struct room *head);排序函数void can();/结束函数实用文档、用户使用说明运行程序后即可按提示模仿以上操作进行。实用文档1、菜单界面课趕设计UebLi:i学生宿舍管理為总口肘2、入住登记界面请输入要登记驹入房数:3、删除界面请选择服务项目! 备输入退房房号刪除成功!是否返

3、13菜单界面进行其他操作?C1/0) )r-47理面貫舍单宿菜I-二记息憂人统尝蓿浏修住系住賈顺信面定4 4住皈4 4实用文档4、浏览界面楼号房号面积所容纳人数己人住人数72021211?2011222是杏返回栗单界面逬行耳他援f乍?(1/0) )5、查询修改埼输入要查找的馬号=22查询结果如下:楼号黔号面积 所容纳人数己人住人数72&21211扣需修改请选择丄,按其他任蕙键返回栗单界面 备对入住信息it行修改(技顺序输入)7 202 12 S 5_7、退出请选择服务项目丨上迎再次使用学生宿舍管理系统!再见*6、排序界面7201122是否返回菜单界面曲厅其他操作Y实用文档1、菜单界面课

4、趕设计UebLi:i学生宿舍管理為总口肘Press any key to continueH三、小结通过编写该程序,熟悉了C语言的基本语法,选择,循环等结构,深入练习 了函数的调用方法,和文件的读写方法,熟悉了结构体的使用,更加深化了面向 过程语言思想,和一些基本算法。通过对程序的后期调试,熟悉了C常见错误,锻炼了思维的严密性,和完 备性。通过对程序的注释和画流程图,形成了一套自己编程的风格,和清晰地思 路,使思维更加条理化,清晰化。四、参考文献1 谭浩强.C 程序设计(第二版).北京:清华大学出版社,19992 邓文新.张宏烈.哈尔滨工业大学出版社3 百度.五、附件源程序代码#in clud

5、e#in clude#in clude#in clude 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 *sort(struct room *head);

6、 排序函数 /修改点void can ();/结束函数void mai n()struct room *head;int x,y;head=(struct room *)malloc(sizeof(struct room);head- next=NULL;printf(欢迎使用学生宿舍管理系统!n);printf(按回车键进入菜单界面n);getchar();while(1)A:实用文档printf(-n);printf(|-Tn);prin tf(|1.入住登记|n);prin tf(|2删除信息|n);prin tf(|3.信息浏览|n);prin tf(|4.查询修改|n);实用文档pr

7、in tf(|5按入住人数排序|n);prin tf(|6退出系统|n);printf(|-|n);printf(-n);printf(请选择服务项目!n);flushall();scanf(%d,&x); 菜单选择if(head- next=NULL&x!=1& x!=6)printf(系统中无入住信息,请先进行入房登记!n);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);wh

8、ile(y!=1 &y!=0)printf(输入错误!请重新输入!n);goto T;if(y=1) system(cls);实用文档printf(是否返回菜单界面进行其他操作?(1/0)n);scan f(%d, &y);con ti nu e;elsecan();goto N;case 3:show(head);printf(是否返回菜单界面进行其他操作?(J:scan f(%d, &y);while(y!=1 &y!=0)printf(输入错误!请重新输入! n); goto J;if(y=1)system(cls);con ti nu e;elsecan

9、();goto N;case 4:serh(head);system(cls);con ti nue;case 5:head=sort(head); 修改点1/0)n);实用文档while(y!=1 &y!=0)printf(”输入错误!请重新输入! n); goto J;if(y=1)system(cls);con ti nu e;elsecan();goto N;con ti nue;case 6:can();goto Q;default:printf(输入错误!请重新输入!n);N:if(y=0)break;Q:if(x=6)break; struct room *add(str

10、uct room *head) 入住登记实用文档printf(请输入退房房号:n);scan f(%d, &x);struct room *h,*p;int i=0, n;h=head;printf(请输入要登记的入房数:n);scan f(%d, &n);printf(请输入入住信息:n 楼号房号面积最大入住人数已入住人数n);printf(数据须按规定顺序输入,不同数据用空格分开。n);for(i=0;i L num,& p-F num,&p-squa,&p-max num,&p-i nn um);p-n ext=h-n ext;h_n ex

11、t=p;return h; struct room *del(struct room *h) 退房登记 int x;struct room *p,*q;p=h-n ext;q=h;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 是否返回菜单界面进行其他操作?

12、( 1/0)n);K:return h;return h;实用文档H:printf(请输入要查找的房号:n);scan f(%d, &z);void show(struct room *h)struct room *p;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-i nn um);p=p-n ext; void serh(struct ro

13、om *h)入住信息查询与修改 struct room *p;int x,y,z;p=h-n ext;while(p-F nu m!=z)p=p-n ext;if(p=NULL)break;实用文档printf(请对入住信息进行修改(按顺序输入)n);if(p=NULL)printf(您所查询的房间号无人入住!是否继续查找?(1/0) n);Z:scan f(%d, &x);while(x!=1 &x!=0)printf(输入错误!请重新输入!n);goto 乙if(x=1)goto H;elseprintf(查询结果如下:n);printf(n 楼号 房号 面积所容纳人数已入

14、住人数nn);prin tf(%-7d%-7d%-8d%-13d%-8dn,p-L num,p-F num,p-squa,p-max num,p-i nn um);printf(如需修改请选择 1,按其他任意键返回菜单界面n);scan f(%d, &y);if(y=1)实用文档scan f(%d%d%d%d%d,&p-L num,& p-F num,&p-squa,&p-max num,&p-i nn um);printf(修改成功!修改结果如下:n);printf(n 楼号 房号 面积所容纳人数已入住人数nn);prin tf(%-7d%-7

15、d%-8d%-13d%-8dn,p-L num,p-F num,p-squa,p-max num,p-i nn um); struct room *sort(struct room *h) 修改点struct room *p1,*p2,*t,*temp,*q; /* 定义临时指针 */temp=h-next; /*将原表的头指针所指的下一个结点作头指针*/h-next=NULL; /*第一个结点为新表的头结点*/while(temp!=NULL)/* 当原表不为空时,进行排序*/t=temp; /*取原表的头结点*/temp=temp-next; /*原表头结点指针后移 */p 仁 h; /*设定移动指针 pl,从头指针开始*/p2=h; /*设定移动指针 p2 做为 pl 的前驱,初值为头指针*/while(t-innuminnum&p1!=NULL) /*作成绩平均分比较 */p2=p1; /*待排序点值小,则新表指针后移*/p1=p1- n ext;if(p 仁=p2)/*p1=p2,说明待排序点值大,应排在首位*/实用文档printf(欢迎再次使用学生宿舍管理系统!再见n ”);t-next=p1; /*待排序点的后继为 p*/h=t; /*新头结点为待排序点*/else /*待排序点应插入在中间某个位置 p2 和 pl 之间,如 p 为空

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论