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

上传人:b****8 文档编号:9655649 上传时间:2023-05-20 格式:DOCX 页数:18 大小:19.24KB
下载 相关 举报
最新c语言学生宿舍管理系统难度系数3级资料.docx_第1页
第1页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第2页
第2页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第3页
第3页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第4页
第4页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第5页
第5页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第6页
第6页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第7页
第7页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第8页
第8页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第9页
第9页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第10页
第10页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第11页
第11页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第12页
第12页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第13页
第13页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第14页
第14页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第15页
第15页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第16页
第16页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第17页
第17页 / 共18页
最新c语言学生宿舍管理系统难度系数3级资料.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《最新c语言学生宿舍管理系统难度系数3级资料.docx》由会员分享,可在线阅读,更多相关《最新c语言学生宿舍管理系统难度系数3级资料.docx(18页珍藏版)》请在冰点文库上搜索。

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

最新c语言学生宿舍管理系统难度系数3级资料

C语言:

学生宿舍管理系统

(难度系数:

3级)

(附加清屏操作)

设计一个学生宿舍管理程序。

该程序应该具有以下功能:

(1)录入学生宿舍信息;

(2)修改、删除学生宿舍信息;

(3)统计当前未住学生宿舍的个数并显示宿舍编号;

(4)统计当前空闲的男生、女生床位数;

(5)按宿舍编号由小到大显示已住学生的宿舍信息;

(6)分别显示男生、女生有空床位的宿舍信息;

(7)按宿舍编号、可住人数、空床数、宿舍性质(男生还是女生)等信息进行查询,若查询信息不存在,输出没找到的信息。

题目要求:

(1)按照分析、设计、编码、调试和测试的软件开发过程完成这个应用程序,即在程序中加入异常处理,检查用户输入数据的有效性,以保证程序的健壮性;

(2)宿舍信息应该包括宿舍编号、可住人数、空床数、宿舍性质等;

(3)为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单选项选则所需进行的操作项目,菜单要界面友好、清晰;

(4)将所有宿舍信息存储在一个文件中,并实现文件的读写操作,即将输入的数据以文件的形式存盘,将原来已经存盘的文件读入内存,进行管理;

(5)应保证测试用例测试程序的各种边缘情况。

输入要求:

应用程序运行后,在屏幕上显示一个菜单。

用户可以根据需要,选定相应的操作项目。

进入每个操作后,根据应用程序的提示信息,从键盘输入相应的信息。

输出要求:

(1)应用程序运行后,在屏幕上显示一个菜单。

(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。

代码:

#include"stdio.h"

#include"stdlib.h"

#include"conio.h"

#include"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

//printf("请输入要录入的宿舍个数:

\n");

//scanf("%d",&j);

//while(j<=0)

//{

//printf("输入错误!

请重新输入:

");

//scanf("%d",&j);

//}

//else

//while(j>0)

{

printf("请输入该宿舍的宿舍号:

\n");

scanf("%d",&dcm[q].num);

printf("请输入该宿舍的最大住人数:

\n");

scanf("%d",&dcm[q].ke);

printf("请输入该宿舍的已住人数:

\n");

scanf("%d",&dcm[q].yi);

while(dcm[q].yi>dcm[q].ke)

{

printf("输入错误!

已住人数大于最大入住人数!

\n请重新输入:

");

scanf("%d",&dcm[q].yi);

}

dcm[q].empty=dcm[q].ke-dcm[q].yi;

printf("请输入宿舍性质(0代表男宿舍,1代表女宿舍):

\n");

scanf("%d",&dcm[q].sex);

while(dcm[q].sex!

=1&&dcm[q].sex!

=0)

{

printf("非法输入宿舍性质!

请重新输入!

\n");

scanf("%d",&dcm[q].sex);

}

//q++;

//j--;

}

}

voidxianshi()//显示所有宿舍信息

{

for(intj=0;j

{

printf("宿舍号为:

%d可住人数为:

%d空床数为%d",dcm[j].num,dcm[j].ke,dcm[j].empty);

if(dcm[j].sex==0)

printf("宿舍性质:

男宿舍\n");

else

printf("宿舍性质:

女宿舍\n");

}

}

voidxs(intj)

{

printf("宿舍号为:

%d可住人数:

%d空床数%d\n",dcm[j].num,dcm[j].ke,dcm[j].empty);

if(dcm[j].sex==0)

printf("宿舍性质:

男宿舍\n");

else

printf("宿舍性质:

女宿舍\n");

}

voidb()//2.修改、删除学生宿舍信息

{

intj,m,h;

dock;

while

(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)

{

//case1:

printf("请输入要修改的宿舍的宿舍号:

");

scanf("%d",&m);

for(inti=0,k=0;i

{

if(m==dcm[i].num)

k=i+1;

}

if(k==0)

{

printf("在记录中没有找到这个宿舍!

\n");

continue;

}

printf("请输入该宿舍的最大住人数:

\n");

scanf("%d",&dcm[k-1].ke);

printf("请输入该宿舍的已住人数:

\n");

scanf("%d",&dcm[k-1].yi);

dcm[m].empty=dcm[k-1].ke-dcm[k-1].yi;

printf("请输入宿舍性质(0代表男宿舍,1代表女宿舍):

\n");

scanf("%d",&dcm[k-1].sex);

while(dcm[k-1].sex!

=1&&dcm[k-1].sex!

=0)

{

printf("非法输入宿舍性质!

请重新输入!

\n");

scanf("%d",&dcm[k-1].sex);

}

printf("\t操作成功!

已经修改完毕\n");

break;

}

//break;

//case2:

elseif(j==2)

{

printf("请输入要删除的宿舍号:

");

scanf("%d",&h);

for(inti=0,k=0;i

{

if(h==dcm[i].num)

k=i+1;

}

if(k==0)

{

printf("在记录中没有找到这个宿舍!

\n");

continue;

}

for(i=k-1;i

{

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;

printf("\t操作成功!

已经删除完毕\n");

}

//break;

//default:

elseif(j==3)

break;

else

{

printf("输入错误!

请重新输入。

\n");

continue;

}

}

printf("****************************************\n");

}

voidc()//3.统计当前未住学生宿舍的个数并显示宿舍编号

{

inti=0;

printf("****************************************\n");

printf("未住学生空宿舍宿舍号如下:

\n");

for(intj=0;j

if(dcm[j].ke==dcm[j].empty)

{

printf("\t%d",dcm[j].num);

i++;

if(j%3==0)

printf("\n");

}

printf("\n");

printf("****************************************\n");

printf("当前未入住的学生宿舍个数共有:

%d个\n",i);

}

voidd()//4.统计当前空闲的男生、女生床位数

{

intm=0,n=0;

printf("****************************************\n");

printf("统计当前空闲的男生、女生床位数\n");

for(intj=0;j

{

if(dcm[j].empty!

=0)

{

printf("宿舍号为:

%d\t空床数为%d\t",dcm[j].num,dcm[j].empty);

if(dcm[j].sex==0)

{

printf("男生寝室\n");

m+=dcm[j].empty;

}

else

{

printf("女生寝室\n");

n+=dcm[j].empty;

}

}

}

printf("男生共有空床位%d个\n女生共有空床位%d个\n\t男女生合计共有空床位%d个\n",m,n,m+n);

printf("****************************************\n");

}

voide()//5.按宿舍编号由小到大显示已住学生的宿舍信息

{

printf("****************************************\n");

printf("按宿舍编号由小到大显示已住学生的宿舍信息\n");

inti;

dock;

for(intj=0;j

for(i=j;i

{

if(dcm[j].num>dcm[i].num)

{

k=dcm[j];

dcm[j]=dcm[i];

dcm[i]=k;

}

}

xianshi();

printf("****************************************\n");

}

voidf()//6.分别显示男生、女生有空床位的宿舍信息

{

intm=0,n=0;

printf("****************************************\n");

printf("统计当前空闲的男生、女生床位数\n\n");

printf("统计当前空闲的男生床位数:

\n");

for(intj=0;j

{

if(dcm[j].empty!

=0)

{

if(dcm[j].sex==0)

{

printf("宿舍号为:

%d\t空床数为%d\n",dcm[j].num,dcm[j].empty);

m+=dcm[j].empty;

}

}

}

printf("男生空床数共有%d个\n\n",m);

printf("统计当前空闲的女生床位数:

\n");

for(j=0;j

{

if(dcm[j].empty!

=0)

{

if(dcm[j].sex==1)

{

printf("宿舍号为:

%d\t空床数为%d\n",dcm[j].num,dcm[j].empty);

n+=dcm[j].empty;

}

}

}

printf("女生空床数共有%d个\n",n);

printf("****************************************\n");

}

voidg()//7.宿舍查询

{

intm,i,p,k=0;

while

(1)

{

printf("****************************************\n");

printf("查询可按宿舍编号(0)、可住人数

(1)、空床数

(2)、宿舍性质(男生还是女生)(3)等信息进行");

scanf("%d",&p);

switch(p)

{

case0:

{printf("****************************************\n");

printf("按宿舍编号查询\t请输入要查询的宿舍号:

");

scanf("%d",&m);

for(i=0;i

{

if(m==dcm[i].num)

{

xs(i);

k++;

}

}

if(k==0)

{

printf("在记录中没有找到这个宿舍!

\n");

continue;

}

break;}

case1:

{printf("****************************************\n");

printf("按可住人数查询\t请输入要查询宿舍的可住人数:

");

scanf("%d",&m);

for(i=0;i

{

if(m==dcm[i].ke)

{

xs(i);

k++;

}

}

if(k==0)

{

printf("在记录中没有找到这个宿舍!

\n");

continue;

}

break;}

case2:

{printf("****************************************\n");

printf("按空床数查询\t请输入要查询宿舍的空床数:

");

scanf("%d",&m);

for(i=0;i

{

if(m==dcm[i].empty)

{

xs(i);

k++;

}

}

if(k==0)

{

printf("在记录中没有找到这个宿舍!

\n");

continue;

}

break;}

case3:

{printf("****************************************\n");

printf("按宿舍性质查询\t请输入要查询宿舍的性质(0-男,1-女,其他视为错误输入):

");

scanf("%d",&m);

for(i=0;i

{

if(m==dcm[i].sex)

{

xs(i);

k++;

}

}

if(k==0)

{

printf("在记录中没有找到这个宿舍!

\n");

continue;

}

break;}

default:

printf("非法输入查询条件!

请重新输入!

\n");continue;

}

printf("****************************************\n");

break;

}

}

 

voidcaidan()

{

printf("\n");

printf("\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.退出\n");

printf("0.清屏\n");

printf("****************************************\n");

printf("请输入对应操作的命令:

\n");

}

voidmain()

{

inti,j;

FILE*fp;

if((fp=fopen("document","wt+"))==NULL)

{

printf("\nerror!

\ncan'topenthefile!

/n");

exit(0);

}

while

(1)

{caidan();

scanf("%d",&i);

switch(i)

{

case1:

a();break;

case2:

b();break;

营销调研课题case3:

c();break;

但这些困难并非能够否定我们创业项目的可行性。

盖茨是由一个普通退学学生变成了世界首富,李嘉诚是由一个穷人变成了华人富豪第一人,他们的成功表述一个简单的道理:

如果你有能力,你可以从身无分文变成超级富豪;如果你无能,你也可以从超级富豪变成穷光蛋。

case4:

d();break;

1.www。

cer。

net/artide/2004021313098897。

shtml。

case5:

e();break;

年轻有活力是我们最大的本钱。

我们这个自己动手做的小店,就应该与时尚打交道,要有独特的新颖性,这正是我们年轻女孩的优势。

case6:

f();break;

附件

(二):

调查问卷设计case7:

g();break;

秘诀:

好市口+个性经营case8:

1、现代文化对大学生饰品消费的影响for(j=0;j

{

据调查统计在对大学生进行店铺经营风格所考虑的因素问题调查中,发现有50%人选择了价格便宜些,有28%人选择服务热情些,有30%人选择店面装潢有个性,只有14%人选择新颖多样。

如图(1-5)所示fprintf(fp,"宿舍号:

%d可住人数为:

%d已住人数%d空床数为%d",dcm[j].num,dcm[j].ke,dcm[j].yi,dcm[j].empty);

if(dcm[j].sex==0)

fprintf(fp,"宿舍性质:

男宿舍\n");

据上述部分的分析可见,我校学生就达4000多人。

附近还有两所学校,和一些居民楼。

随着生活水平的逐渐提高,家长给孩子的零用钱也越来越多,人们对美的要求也越来越高,特别是大学生。

他们总希望自己的无论是衣服还是首饰都希望与众不同,能穿出自己的个性。

但在我们美丽的校园里缺少自己的个性和琳琅满目的饰品,所以我们的小饰品店存在的竞争力主要是南桥或是市区的。

这给我们小组的创业项目提供了一个很好的市场机会。

else

fprintf(fp,"宿舍性质:

女宿舍\n");

}break;

case9:

fclose(fp);exit(0);break;

2、Google网站www。

people。

com。

cncase0:

system("cls");break;

default:

printf("输入错误!

请重新输入!

\n\n");break;

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2