ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:17.23KB ,
资源ID:4289622      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4289622.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言学生宿舍管理系统难度系数3级.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言学生宿舍管理系统难度系数3级.docx

1、c语言学生宿舍管理系统难度系数3级C语言:学生宿舍管理系统 (难度系数:3级) (附加清屏操作) 设计一个学生宿舍管理程序。该程序应该具有以下功能: (1)录入学生宿舍信息; (2)修改、删除学生宿舍信息; (3)统计当前未住学生宿舍的个数并显示宿舍编号; (4)统计当前空闲的男生、女生床位数; (5)按宿舍编号由小到大显示已住学生的宿舍信息; (6)分别显示男生、女生有空床位的宿舍信息; (7)按宿舍编号、可住人数、空床数、宿舍性质(男生还是女生)等信息进行查询,若查询信息不存在,输出没找到的信息。 题目要求: (1)按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序,即在程序中

2、加入异常处理,检查用户输入数据的有效性,以保证程序的健壮性; (2)宿舍信息应该包括宿舍编号、可住人数、空床数、宿舍性质等; (3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单选项选则所需进行的操作项目,菜单要界面友好、清晰; (4)将所有宿舍信息存储在一个文件中,并实现文件的读写操作,即将输入的数据以文件的形式存盘,将原来已经存盘的文件读入内存,进行管理; (5)应保证测试用例测试程序的各种边缘情况。 输入要求: 应用程序运行后,在屏幕上显示一个菜单。用户可以根据需要,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。 输出要求

3、: (1)应用程序运行后,在屏幕上显示一个菜单。 (2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。 代码: #includestdio.h #includestdlib.h #includeconio.h #includeprocess.h #define max 2 /最大容量 /#define k 6 /每个宿舍最多可住人数 typedef struct node int num; int ke; int empty; int yi; int sex; /1-女0-男 /struct node *next; doc; /宿舍信息应该包括宿舍编号、

4、可住人数、空床数、宿舍性质等; /int q=0; /已入住的房间数-1 doc dcmmax; void a() /1.录入学生宿舍信息 int q; printf(nnt现在执行录入学生宿舍信息n); for(q=0;qmax;q+) / printf(请输入要录入的宿舍个数:n); / scanf(%d,&j); / while(j0) printf(请输入该宿舍的宿舍号:n); scanf(%d,&dcmq.num); printf(请输入该宿舍的最大住人数:n); scanf(%d,&dcmq.ke); printf(请输入该宿舍的已住人数:n); scanf(%d,&dcmq.yi

5、); while(dcmq.yidcmq.ke) printf(输入错误!已住人数大于最大入住人数!n请重新输入: ); scanf(%d,&dcmq.yi); dcmq.empty=dcmq.ke-dcmq.yi; printf(请输入宿舍性质(0代表男宿舍,1代表女宿舍):n); scanf(%d,&dcmq.sex); while(dcmq.sex!=1&dcmq.sex!=0) printf(非法输入宿舍性质!请重新输入!n); scanf(%d,&dcmq.sex); / q+; / j-; void xianshi()/显示所有宿舍信息 for(int j=0;jmax;j+) p

6、rintf(宿舍号为:%d 可住人数为:%d 空床数为%d ,dcmj.num,dcmj.ke,dcmj.empty); if(dcmj.sex=0) printf(宿舍性质:男宿舍n); else printf(宿舍性质:女宿舍n); void xs(int j) printf(宿舍号为:%d 可住人数:%d 空床数%dn,dcmj.num,dcmj.ke,dcmj.empty); if(dcmj.sex=0) printf(宿舍性质:男宿舍n); else printf(宿舍性质:女宿舍n); void b() /2.修改、删除学生宿舍信息 int j,m,h; doc k; while(

7、1) printf(*n); printf(*1、修改宿舍信息*n); printf(*2、删除宿舍信息*n); printf(*3、退出返回顶层菜单*n); printf(*n); printf(请输入对应命令:); scanf(%d,&j); printf(*n); printf(以下为目前的宿舍信息:n); xianshi(); if(j=1) / case 1: printf(请输入要修改的宿舍的宿舍号:); scanf(%d,&m); for(int i=0,k=0;imax;i+) if(m=dcmi.num) k=i+1; if(k=0) printf(在记录中没有找到这个宿舍!

8、n); continue; printf(请输入该宿舍的最大住人数:n); scanf(%d,&dcmk-1.ke); printf(请输入该宿舍的已住人数:n); scanf(%d,&dcmk-1.yi); dcmm.empty=dcmk-1.ke-dcmk-1.yi; printf(请输入宿舍性质(0代表男宿舍,1代表女宿舍): n); scanf(%d,&dcmk-1.sex); while(dcmk-1.sex!=1&dcmk-1.sex!=0) printf(非法输入宿舍性质!请重新输入!n); scanf(%d,&dcmk-1.sex); printf(t操作成功!已经修改完毕n)

9、; break; / break; / case 2: else if(j=2) printf(请输入要删除的宿舍号:); scanf(%d,&h); for(int i=0,k=0;imax;i+) if(h=dcmi.num) k=i+1; if(k=0) printf(在记录中没有找到这个宿舍!n); continue; for(i=k-1;imax-1;i+) dcmi=dcmi+1; dcmmax-1.empty=NULL; dcmmax-1.ke=NULL; dcmmax-1.num=NULL; dcmmax-1.sex=NULL; dcmmax-1.yi=NULL; printf

10、(t操作成功!已经删除完毕n); / break; / default: else if(j=3) break; else printf(输入错误!请重新输入。n); continue; printf(*n); void c() /3.统计当前未住学生宿舍的个数并显示宿舍编号 int i=0; printf(*n); printf(未住学生空宿舍宿舍号如下:n); for(int j=0;jmax;j+) if(dcmj.ke=dcmj.empty) printf(t%d,dcmj.num); i+; if(j%3=0) printf(n); printf(n); printf(*n); pr

11、intf(当前未入住的学生宿舍个数共有:%d个n,i); void d() /4.统计当前空闲的男生、女生床位数 int m=0,n=0; printf(*n); printf(统计当前空闲的男生、女生床位数n); for(int j=0;jmax;j+) if(dcmj.empty!=0) printf(宿舍号为:%dt空床数为%dt,dcmj.num,dcmj.empty); if(dcmj.sex=0) printf(男生寝室n); m+=dcmj.empty; else printf(女生寝室n); n+=dcmj.empty; printf(男生共有空床位%d个n女生共有空床位%d个

12、nt男女生合计共有空床位%d个n,m,n,m+n); printf(*n); void e() /5.按宿舍编号由小到大显示已住学生的宿舍信息 printf(*n); printf(按宿舍编号由小到大显示已住学生的宿舍信息n); int i; doc k; for(int j=0;jmax;j+) for(i=j;idcmi.num) k=dcmj; dcmj=dcmi; dcmi=k; xianshi(); printf(*n); void f() /6.分别显示男生、女生有空床位的宿舍信息 int m=0,n=0; printf(*n); printf(统计当前空闲的男生、女生床位数nn)

13、; printf(统计当前空闲的男生床位数:n); for(int j=0;jmax;j+) if(dcmj.empty!=0) if(dcmj.sex=0) printf(宿舍号为:%dt空床数为%dn,dcmj.num,dcmj.empty); m+=dcmj.empty; printf(男生空床数共有%d个nn,m); printf(统计当前空闲的女生床位数:n); for(j=0;jmax;j+) if(dcmj.empty!=0) if(dcmj.sex=1) printf(宿舍号为:%dt空床数为%dn,dcmj.num,dcmj.empty); n+=dcmj.empty; pr

14、intf(女生空床数共有%d个n,n); printf(*n); void g() /7.宿舍查询 int m,i,p,k=0; while(1) printf(*n); printf(查询可按宿舍编号(0)、可住人数(1)、空床数(2)、宿舍性质(男生还是女生)(3)等信息进行); scanf(%d,&p); switch(p) case 0: printf(*n); printf(按宿舍编号查询t请输入要查询的宿舍号:); scanf(%d,&m); for(i=0;imax;i+) if(m=dcmi.num) xs(i); k+; if(k=0) printf(在记录中没有找到这个宿舍

15、!n); continue; break; case 1: printf(*n); printf(按可住人数查询t请输入要查询宿舍的可住人数:); scanf(%d,&m); for(i=0;imax;i+) if(m=dcmi.ke) xs(i); k+; if(k=0) printf(在记录中没有找到这个宿舍!n); continue; break; case 2: printf(*n); printf(按空床数查询t请输入要查询宿舍的空床数:); scanf(%d,&m); for(i=0;imax;i+) if(m=dcmi.empty) xs(i); k+; if(k=0) prin

16、tf(在记录中没有找到这个宿舍!n); continue; break; case 3: printf(*n); printf(按宿舍性质查询t请输入要查询宿舍的性质(0-男,1-女,其他视为错误输入):); scanf(%d,&m); for(i=0;imax;i+) if(m=dcmi.sex) xs(i); k+; if(k=0) printf(在记录中没有找到这个宿舍!n); continue; break; default:printf(非法输入查询条件!请重新输入!n);continue; printf(*n); break; void caidan() printf(n); pr

17、intf(n); printf( *n); printf( *学生宿舍管理系统菜单*n); printf( 1.录入学生宿舍信息n); printf( 2.修改、删除学生宿舍信息n); printf( 3.统计当前未住学生宿舍的个数并显示宿舍编号n); printf( 4.统计当前空闲的男生、女生床位数n); printf( 5.按宿舍编号由小到大显示已住学生的宿舍信息n); printf( 6.分别显示男生、女生有空床位的宿舍信息n); printf( 7.宿舍查询n);/按宿舍编号、可住人数、空床数、宿舍性质(男生还是女生)等信息进行printf( 8.存盘n); printf( 9.退出

18、n); printf( 0.清屏n); printf( *n); printf(请输入对应操作的命令:n); void main() int i,j; FILE *fp; if(fp=fopen(document,wt+)=NULL) printf(nerror!ncant open the file!/n); exit(0); while(1) caidan(); scanf(%d,&i); switch(i) case 1:a();break; case 2:b();break; case 3:c();break; case 4:d();break; case 5:e();break; c

19、ase 6:f();break; case 7:g();break; case 8: for(j=0;jmax;j+) fprintf(fp,宿舍号:%d 可住人数为:%d 已住人数%d 空床数为%d ,dcmj.num,dcmj.ke,dcmj.yi,dcmj.empty); if(dcmj.sex=0) fprintf(fp,宿舍性质: 男宿舍n); else fprintf(fp,宿舍性质: 女宿舍n); break; case 9:fclose(fp);exit(0);break; case 0:system( cls );break; default:printf(输入错误!请重新输入!nn);break;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1