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

下载本文档

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

文档简介

1、高级语言程序设计课程设计说明书设计题目:学生宿舍管理系统 TOC o 1-5 h z HYPERLINK l bookmark4 o Current Document 一、总体设计3程序的总体设计3函数原型声明3 HYPERLINK l bookmark6 o Current Document 二、用户说明41、菜单界面52、入住登记界面53、删除界面54、浏览界面65、査询修改66、排序界面67、退出6三、小结7四、参考文献7五、源程序代码7一、总体设计程序的总体设计确定界面,使用户可选择操作项目(录入,删除,浏览,修改,查询,排序)。录入:使用结构体,要求用户输入楼栋、房号、面积、可住人数

2、、已住人数删除:按房号删除以上信息查询:按房号查询以上信息修改:按房号修改以上信息排序:按已住人数排序信息函数原型声明struc t room *add (struct room * head) ;/ 添加函数 struct room *del (struct room *h) ;/删除函数 void show(struct room *h) ;/信息浏览函数 void serh(struct room *h) ;/查询与修改函数 struc t room *sort (struc t room * head) ;/排序函数 void can() ;/结束函数入住删除浏览查询修改结束二、用户使

3、用说明运行程序后即可按提示模仿以上操作进行。|口| X|1|口| X|序Lkr记息醤人统 蓉蓿浏修住系 住啥心询入岀 -A-ffl.佶质腿12 3 4 5 6请选择服务项目!2.入住登记界面请输入要登记的入房数:情巒入入住信息:倏粵房号面积最夫入住人数己入住人数 恢据须技规定顺序瞌人 不同数据用空格分7 206 12 4 4.删除界面慣选择服务项目!2请输入退房房号:206刪除成功!是否返回菜单界面进行其他操作? (1/0)4、浏览界面楼号房号面积所容纳人数己入住人数?2021211?2011222虚否返回菜单界面进行其他操作? Ci/0)5、查询修改请输入要查找的房号:202律询结杲如下;楼

4、号房号面积所容納人数 已入住人数72021211如需修改请选择按其他任意犍返回菜单界面 备对入住信息进行修改按顺序输入)7 202 12 5 5.6、排序界面|72021252(102(10)是否返回菜单界面进行其他操作?7、退出请选择服务项目!6欢迎再次使用学生宿舍管理系统!再见Press any key to continue:.三、小结1通过编写该程序,熟悉了 C语言的基本语法,选择,循环等结构,深入练习 了函数的调用方法,和文件的读写方法,熟悉了结构体的使用,更加深化了面向 过程语言思想,和一些基本算法。通过对程序的后期调试,熟悉了 C常见错误,锻炼了思维的严密性,和完 备性。通过对程

5、序的注释和画流程图,形成了一套自己编程的风格,和清晰地思 路,使思维更加条理化,清晰化。四、参考文献11谭浩强.C程序设计(第二版).北京:清华人学出版社,1999邓文新.张宏烈.哈尔滨工业大学出版社3百度.五、附件源程序代码#include#mclude#mclude存include stmct roomfimt Lnum;mt Fnum;mt squa;mt niaxnum:int iimum;stmct room *next;stmct room *add(stmct room *head);/添加函数stmct room *del(stiuct room *h);/删除函数void s

6、how(stnict room *h);信息浏览函数void serh(sti-uct room *h);/查询与修改函数stmct room *son(stiiict room *h亡ad);排序函数修改点 void can()y/结束函数void niam()stmct room *head;mt x,y;head=(stiiict room *)nialloc(sizeof(stiiict loom);head-next=NULL;pnmf(欢迎使用学生宿舍管理系统! 5”);pnntf(”按回车键进入菜单界面5”);getcharQ;while(l)A:pimtf(H皿J;pimtfC

7、ll|n”);pimtfCll1.入住登记|n”);pimtf(|2.删除信息prmtf(|3.信息浏览prmtfCll4 查询修改|iT); TOC o 1-5 h z putfCll5 按入住人数排序|曲);pimtfCll6.退出系统pimtfCllIK);prmtfCIE);pnnrff请选择服务项目! E);flushallQ;scanf(”cT;&x);/菜单选择if(head-next=NULL&x!=l&x!=6)pnntf(“系统中无入住信息,请先进行入房登记! 5”); goto A;switch(x)case 1:head=add(head);system(,rclsn)

8、;pnntf(”登记完毕!continue;case 2:head=del(head);T:scanff%d;&y);while(y!=1&y!=0)prmtf(输入错误!请重新输入! n);goto T;system(Mclsn);continue;elsecan();goto N;case 3:show(head);pnntf(”是否返回菜单界面进行其他操作? (1/0) ir);J:scanf(”d 役&y);while(y!=1&y!=0)prmtf(输入错误!请重新输入!goto J;system(Mclsn);continue;elsecan();goto N;case 4:sei

9、h(head);system(nclsn);continue;case 5:head=sort(head);/ 修改点pnntf(”是否返回菜单界面进行其他操作? (1/0) ir);scanfC%d”,&y);while(y !=1 &y !=0)piintf(输入错误!请重新输入! n);goto J;system(MclsH);contmue;elsecan();goto N;continue;case 6:can();goto Q;default:pnntf(输入错误!请重新输入! n”);N:if(y=O)break;Q:改 x=6)break;stmct room *add(sti

10、iict room *head)/入住登记stmct room *h,*p;mt i=O.n;h=head;pnmf(请输入要登记的入房数:n“);scanf(”d”、&n);pnmf(请输入入住信息:n楼号房号面积 最人入住人数已入住人数iT);pnmf(数据须按规定顺序输入,不同数据用空格分开。fdr(i=O;iLnum,&p-Fnum.&p-squa,&p-maxni】m,&pinniim);p-next=h-next;h-next=p;return h;stmct room *del(stiuct room *h)/追房登记imt x;stmct room *p,*q;p=h-next

11、;q=h;printf(”请输入退房房号:n”);scanf(”d”、&x);if(p=NULL)pnntf(”不存在此入房登记! 5是否返回菜单界面进行其他操作? (1/0) ”);elsewhile(p)if(p-Fnum=x)q-next=p-next;free(p);pnntf(“删除成功!是否返回菜单界面进行其他操作? (1/0)goto K;elseq=p;p=p-next;if(p=NULL)pnntf(“不存在此入房登记!n是否返回菜单界面进行其他操作?( 1/0血“);K:retuin h;return h;void show(stmct loom *h)stmct room

12、 *p;p=h-next;if(p=NULL)无信息可显示!elseprmtf(ii楼号 房号 面积 所容纳人数已入住人数niT);wlule(p)pnntf(,%-7d%-7d%-8d%-13d%-8dii.p-Lnuni,p-FnunLp-squa,p-maxiium,p-iiiiium); p=p-next;void serh(stiuct room *h)入住信息查询与修改stmct room *p;mt xyz;p=h-next;H: pnntfC1请输入要查找的房号:5”);while(p-Fnum! =z)p=p-next;if(p=NULL)break;if(p=NULL)pi

13、mtfc您所查询的房间号无人入住!是否继续查找? (1/0)ir);Z:scanf(dS&x);wliile(x!=1 & &x! =0)piintf(输入错误!请重新输入! n”);goto 乙if(x=l)goto H;else查询结果如卞:pimtfCii楼号 房号 面积所容纳人数已入住人数niT);pnntf(,%-7d%-7d%-8d%-13d%-8dii.p-Lnuiii,p-FnunLp-squa,p-maxiium,p-iiiiium);piuitfC如需修改请选择1,按其他任意键返回菜单界面5”);scanf(”d”,&y);if(y=l)pimtf(请对入住信息进行修改(按

14、顺序输入)n”); scanf(H%d%d%d%d%dH, &pLnu m.&p-Fnum.&p-squ%&p maxnum,& p-imium); piintf(”修改成功!修改结果如下:n);prmtf(ii楼号房号面积所容纳人数已入住人数niT);pnntf(,%-7d%-7d%-8d%-13d%-8d,ii,p-Lnunxp-FnunLp-squa.p-maxiium,p-iniium); stnict room *sort(struct room *h)修改点stnict room *pl,*p2,*t,*temp,*q; /*定义临时指针*/temp=h-next; /*将原表的头

15、指针所指的卞一,个结点作头指针*/h-next=NULL; /*第一个结点为新表的头结点*/while(temp! =NULL) /*当原表不为空时,进行排序*/t=temp; /*取原表的头结点*/temp=temp-next; /*原表头结点指针后移*/pl =11; /*设定移动指针pl,从头指针开始*/p2=h; /*设定移动指针p2做为pl的前驱,初值为头指针*/wliile(t-umumnext;if(pl=p2)/*pl=p2,说明待排序点值人,应排在首位*/t-next=pl;/*待排序点的后继为p*/h=t; /*新头结点为待排序点*/else /*待排序点应插入在中间某个位置p2和pl之间,如p为空则是尾部*/t-next=p 1; /*t 的后继是 p 1 */p2-next

温馨提示

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

评论

0/150

提交评论