c语言学生宿舍管理系统难度系数3级Word格式文档下载.docx
- 文档编号:17209009
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:15
- 大小:17.23KB
c语言学生宿舍管理系统难度系数3级Word格式文档下载.docx
《c语言学生宿舍管理系统难度系数3级Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言学生宿舍管理系统难度系数3级Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。
代码:
#include"
stdio.h"
stdlib.h"
conio.h"
process.h"
#definemax2//最大容量
//#definek6//每个宿舍最多可住人数
typedefstructnode{
intnum;
intke;
intempty;
intyi;
intsex;
//1-女0-男
//structnode*next;
}doc;
//宿舍信息应该包括宿舍编号、可住人数、空床数、宿舍性质等;
//intq=0;
//已入住的房间数-1
docdcm[max];
voida()//1.录入学生宿舍信息
{
intq;
printf("
\n\n\t现在执行录入学生宿舍信息\n"
);
for(q=0;
q<
max;
q++)
//printf("
请输入要录入的宿舍个数:
\n"
//scanf("
%d"
&
j);
//while(j<
=0)
//{
输入错误!
请重新输入:
"
//}
//else
//while(j>
0)
请输入该宿舍的宿舍号:
scanf("
dcm[q].num);
请输入该宿舍的最大住人数:
dcm[q].ke);
请输入该宿舍的已住人数:
dcm[q].yi);
while(dcm[q].yi>
dcm[q].ke)
已住人数大于最大入住人数!
\n请重新输入:
"
}
dcm[q].empty=dcm[q].ke-dcm[q].yi;
请输入宿舍性质(0代表男宿舍,1代表女宿舍):
dcm[q].sex);
while(dcm[q].sex!
=1&
&
dcm[q].sex!
非法输入宿舍性质!
请重新输入!
//q++;
//j--;
voidxianshi()//显示所有宿舍信息
for(intj=0;
j<
j++)
宿舍号为:
%d可住人数为:
%d空床数为%d"
dcm[j].num,dcm[j].ke,dcm[j].empty);
if(dcm[j].sex==0)
宿舍性质:
男宿舍\n"
else
女宿舍\n"
voidxs(intj)
%d可住人数:
%d空床数%d\n"
voidb()//2.修改、删除学生宿舍信息
intj,m,h;
dock;
while
(1)
****************************************\n"
*************1、修改宿舍信息************\n"
*************2、删除宿舍信息************\n"
*************3、退出返回顶层菜单********\n"
请输入对应命令:
以下为目前的宿舍信息:
xianshi();
if(j==1)
//case1:
请输入要修改的宿舍的宿舍号:
m);
for(inti=0,k=0;
i<
i++)
if(m==dcm[i].num)
k=i+1;
if(k==0)
在记录中没有找到这个宿舍!
continue;
dcm[k-1].ke);
dcm[k-1].yi);
dcm[m].empty=dcm[k-1].ke-dcm[k-1].yi;
\n"
dcm[k-1].sex);
while(dcm[k-1].sex!
dcm[k-1].sex!
\t操作成功!
已经修改完毕\n"
break;
//break;
//case2:
elseif(j==2)
请输入要删除的宿舍号:
h);
if(h==dcm[i].num)
for(i=k-1;
max-1;
dcm[i]=dcm[i+1];
dcm[max-1].empty=NULL;
dcm[max-1].ke=NULL;
dcm[max-1].num=NULL;
dcm[max-1].sex=NULL;
dcm[max-1].yi=NULL;
已经删除完毕\n"
//default:
elseif(j==3)
请重新输入。
voidc()//3.统计当前未住学生宿舍的个数并显示宿舍编号{
inti=0;
未住学生空宿舍宿舍号如下:
if(dcm[j].ke==dcm[j].empty)
\t%d"
dcm[j].num);
i++;
if(j%3==0)
当前未入住的学生宿舍个数共有:
%d个\n"
i);
voidd()//4.统计当前空闲的男生、女生床位数
intm=0,n=0;
统计当前空闲的男生、女生床位数\n"
if(dcm[j].empty!
%d\t空床数为%d\t"
dcm[j].num,dcm[j].empty);
男生寝室\n"
m+=dcm[j].empty;
女生寝室\n"
n+=dcm[j].empty;
男生共有空床位%d个\n女生共有空床位%d个\n\t男女生合计共有空床位%d个\n"
m,n,m+n);
voide()//5.按宿舍编号由小到大显示已住学生的宿舍信息{
按宿舍编号由小到大显示已住学生的宿舍信息\n"
inti;
for(i=j;
if(dcm[j].num>
dcm[i].num)
k=dcm[j];
dcm[j]=dcm[i];
dcm[i]=k;
}
voidf()//6.分别显示男生、女生有空床位的宿舍信息{
统计当前空闲的男生、女生床位数\n\n"
统计当前空闲的男生床位数:
%d\t空床数为%d\n"
男生空床数共有%d个\n\n"
m);
统计当前空闲的女生床位数:
for(j=0;
if(dcm[j].sex==1)
女生空床数共有%d个\n"
n);
voidg()//7.宿舍查询
intm,i,p,k=0;
查询可按宿舍编号(0)、可住人数
(1)、空床数
(2)、宿舍性质(男生还是女生)(3)等信息进行"
p);
switch(p)
case0:
{printf("
按宿舍编号查询\t请输入要查询的宿舍号:
for(i=0;
xs(i);
k++;
case1:
按可住人数查询\t请输入要查询宿舍的可住人数:
if(m==dcm[i].ke)
case2:
按空床数查询\t请输入要查询宿舍的空床数:
if(m==dcm[i].empty)
case3:
按宿舍性质查询\t请输入要查询宿舍的性质(0-男,1-女,其他视为错误输入):
if(m==dcm[i].sex)
default:
非法输入查询条件!
voidcaidan()
**********学生宿舍管理系统菜单**********\n"
1.录入学生宿舍信息\n"
2.修改、删除学生宿舍信息\n"
3.统计当前未住学生宿舍的个数并显示宿舍编号\n"
4.统计当前空闲的男生、女生床位数\n"
5.按宿舍编号由小到大显示已住学生的宿舍信息\n"
6.分别显示男生、女生有空床位的宿舍信息\n"
7.宿舍查询\n"
//按宿舍编号、可住人数、空床数、宿舍性质(男生还是女生)等信息进行printf("
8.存盘\n"
9.退出\n"
0.清屏\n"
请输入对应操作的命令:
voidmain()
inti,j;
FILE*fp;
if((fp=fopen("
document"
"
wt+"
))==NULL)
\nerror!
\ncan'
topenthefile!
/n"
exit(0);
{caidan();
i);
switch(i)
a();
b();
c();
case4:
d();
case5:
e();
case6:
f();
case7:
g();
case8:
fprintf(fp,"
宿舍号:
%d已住人数%d空床数为%d"
dcm[j].num,dcm[j].ke,dcm[j].yi,dcm[j].empty);
男宿舍\n"
女宿舍\n"
}break;
case9:
fclose(fp);
system("
cls"
\n\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 学生宿舍 管理 系统 难度 系数