1、最新c语言学生宿舍管理系统难度系数3级资料C语言:学生宿舍管理系统(难度系数:3级)(附加清屏操作)设计一个学生宿舍管理程序。该程序应该具有以下功能:(1)录入学生宿舍信息;(2)修改、删除学生宿舍信息;(3)统计当前未住学生宿舍的个数并显示宿舍编号;(4)统计当前空闲的男生、女生床位数;(5)按宿舍编号由小到大显示已住学生的宿舍信息;(6)分别显示男生、女生有空床位的宿舍信息;(7)按宿舍编号、可住人数、空床数、宿舍性质(男生还是女生)等信息进行查询,若查询信息不存在,输出没找到的信息。题目要求:(1)按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序,即在程序中加入异常处理,检
2、查用户输入数据的有效性,以保证程序的健壮性;(2)宿舍信息应该包括宿舍编号、可住人数、空床数、宿舍性质等;(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单选项选则所需进行的操作项目,菜单要界面友好、清晰;(4)将所有宿舍信息存储在一个文件中,并实现文件的读写操作,即将输入的数据以文件的形式存盘,将原来已经存盘的文件读入内存,进行管理;(5)应保证测试用例测试程序的各种边缘情况。输入要求:应用程序运行后,在屏幕上显示一个菜单。用户可以根据需要,选定相应的操作项目。进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。输出要求:(1)应用程序运行后,在屏幕
3、上显示一个菜单。(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。代码:#includestdio.h#includestdlib.h#includeconio.h#includeprocess.h#define max 2 /最大容量/#define k 6 /每个宿舍最多可住人数typedef struct nodeint num;int ke;int empty;int yi; int sex; /1-女 0-男 /struct node *next;doc; /宿舍信息应该包括宿舍编号、可住人数、空床数、宿舍性质等;/int q=0; /已入住
4、的房间数-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); while(dcmq.yidcmq.ke) printf(输入
5、错误!已住人数大于最大入住人数!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+) printf(宿舍号为:%d 可住人数为:%d 空床数为%d ,dcmj.
6、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(1) printf(*n); printf(*1、修改宿舍信息*n); p
7、rintf(*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(在记录中没有找到这个宿舍!n); continue; printf(请输入该宿舍的最大住人数:n);
8、 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); break; / break;/ case 2: else if(j=2
9、) 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(t操作成功!已经删除完毕n); / break;/ default: els
10、e 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); printf(当前未入住的学生宿舍个数共有:%d个n,i);void d() /4.统
11、计当前空闲的男生、女生床位数 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个nt男女生合计共有空床位%d个n,m,n,m+n); printf(*n);void
12、 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); printf(统计当前空闲的男生床位数:n); for(int j=0;jmax;j
13、+) 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; printf(女生空床数共有%d个n,n); printf(*n);void g() /7.
14、宿舍查询 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(在记录中没有找到这个宿舍!n); continue; break; case 1: printf(*n); pri
15、ntf(按可住人数查询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) printf(在记录中没有找到这个宿舍!n); continue; break; case 3:
16、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); printf(n); printf( *n); printf( *学生宿舍管理系统菜单*n);
17、 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.退出n); printf( 0.清屏n); printf( *n); printf(请输入对
18、应操作的命令: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;但这些困难并非能够否定我们创业项目的可行性。盖茨是由一个普通退学学生变成了世界首富,李嘉诚是由一个穷人变成了华人富豪第一人,他们的成功表述一个简单的道理:
19、如果你有能力,你可以从身无分文变成超级富豪;如果你无能,你也可以从超级富豪变成穷光蛋。 case 4:d();break;1 www。cer。net/artide/2004021313098897。shtml。 case 5:e();break;年轻有活力是我们最大的本钱。我们这个自己动手做的小店,就应该与时尚打交道,要有独特的新颖性,这正是我们年轻女孩的优势。 case 6:f();break;附件(二):调查问卷设计 case 7:g();break;秘诀:好市口个性经营 case 8: 1、现代文化对大学生饰品消费的影响 for(j=0;jmax;j+) 据调查统计在对大学生进行店铺经营
20、风格所考虑的因素问题调查中,发现有50%人选择了价格便宜些,有28%人选择服务热情些,有30%人选择店面装潢有个性,只有14%人选择新颖多样。如图(1-5)所示 fprintf(fp,宿舍号:%d 可住人数为:%d 已住人数%d 空床数为%d ,dcmj.num,dcmj.ke,dcmj.yi,dcmj.empty); if(dcmj.sex=0) fprintf(fp,宿舍性质: 男宿舍n);据上述部分的分析可见,我校学生就达4000多人。附近还有两所学校,和一些居民楼。随着生活水平的逐渐提高,家长给孩子的零用钱也越来越多,人们对美的要求也越来越高,特别是大学生。他们总希望自己的无论是衣服还是首饰都希望与众不同,能穿出自己的个性。但在我们美丽的校园里缺少自己的个性和琳琅满目的饰品,所以我们的小饰品店存在的竞争力主要是南桥或是市区的。这给我们小组的创业项目提供了一个很好的市场机会。 else fprintf(fp,宿舍性质: 女宿舍n); break; case 9:fclose(fp);exit(0);break;2、Google网站www。people。com。cn case 0:system( cls );break; default:printf(输入错误!请重新输入!nn);break;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1