学生宿舍管理系统Word下载.docx
- 文档编号:20061982
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:17
- 大小:16.46KB
学生宿舍管理系统Word下载.docx
《学生宿舍管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《学生宿舍管理系统Word下载.docx(17页珍藏版)》请在冰豆网上搜索。
inti=0;
intflag=1;
charch;
FILE*fpdata;
studentstu[MAXSIZE];
if((fpdata=fopen("
studata.txt"
"
wb"
))==NULL)
printf("
cannotopenstudata.cfile!
"
);
returnERROR;
}
while(flag)
是否继续输入(Y/N):
cin>
>
ch;
if(ch=='
y'
||ch=='
Y'
)
scanf("
%s%d%d"
stu[i].name,&
stu[i].num,&
stu[i].room);
fwrite(&
stu[i],sizeof(structstudent),1,fpdata);
i++;
elseflag=0;
N=i;
fclose(fpdata);
数据输入完成!
\n"
returnOK;
StatusPrint(char*filename)
//输出数据;
studentst;
if((fpdata=fopen(filename,"
rb"
while(i<
N)
fread(&
st,sizeof(structstudent),1,fpdata);
%s%d%d\n"
st.name,st.num,st.room);
/***************************************************************/
StatusNameSort()
//姓名排序;
inti,j;
FILE*fpnamesort;
cannotopendata.cfile!
for(i=1;
i<
=N;
i++)
if((fpnamesort=fopen("
namesort.txt"
cannotopennsort.c"
for(i=2;
if(strcmp(stu[i].name,stu[i-1].name)<
0)
strcpy(stu[0].name,stu[i].name);
stu[0].num=stu[i].num;
stu[0].room=stu[i].room;
strcpy(stu[i].name,stu[i-1].name);
stu[i].num=stu[i-1].num;
stu[i].room=stu[i-1].room;
for(j=i-2;
(strcmp(stu[0].name,stu[j].name))<
0;
j--)
strcpy(stu[j+1].name,stu[j].name);
stu[j+1].num=stu[j].num;
stu[j+1].room=stu[j].room;
strcpy(stu[j+1].name,stu[0].name);
stu[j+1].num=stu[0].num;
stu[j+1].room=stu[0].room;
stu[i],sizeof(structstudent),1,fpnamesort);
fclose(fpnamesort);
StatusNumSort()
//学号排序;
FILE*fpnumsort;
if((fpnumsort=fopen("
numsort.txt"
if(stu[i].num<
stu[i-1].num)
stu[0].num<
stu[j].num;
stu[i],sizeof(structstudent),1,fpnumsort);
fclose(fpnumsort);
StatusRoomSort()
//房间号排序;
FILE*fproomsort;
if((fproomsort=fopen("
roomsort.txt"
if(stu[i].room<
stu[i-1].room)
stu[0].room<
stu[j].room;
stu[i],sizeof(structstudent),1,fproomsort);
fclose(fproomsort);
StatusNameSearch(char*namekey)
//按名字查询;
//顺序查找
inti;
FILE*f;
if((f=fopen("
cannotopennamesort.txtfile!
stu[i],sizeof(structstudent),1,f);
intlow=1;
inthigh=N;
//intmid;
intflag=0;
intm=N;
//charnamekey;
//intt;
strcpy(stu[0].name,namekey);
for(m=N;
m>
--m)
if(!
strcmp(stu[m].name,namekey))
stu[m].name,stu[m].num,stu[m].room);
returnm;
fclose(f);
if(flag>
stu[flag].name,stu[flag].num,stu[flag].room);
elseprintf("
对不起,没有找到相匹配的记录\n"
StatusNumSearch(intkey)
//按学号查询;
intmid;
while(low<
=high)
mid=(low+high)/2;
if(stu[mid].num==key)
flag=mid;
break;
else
if(stu[mid].num>
key)
high=mid-1;
low=mid+1;
StatusRoomSearch(intkey)
//按房间号查询;
cannotopenroomsort.txtfile!
intt;
stu[0].room=key;
for(t=N;
t>
--t)
{if(stu[t].room==key)
stu[t].name,stu[t].num,stu[t].room);
returnt;
/**************************main()****************************/
voidmain()
intflag,flag1,flag2;
charcha;
cout<
<
********学生宿舍管理系统********"
endl;
------PoweredbyGUOXIAOJIE\n"
------------------------------------------------------\n"
是否需要录入入住学生信息(Y/N)"
charcha1;
cha1;
if(cha1=='
||cha1=='
{printf("
请将住宿学生信息输入(姓名学号房间号)\n"
Input();
NameSort();
NumSort();
RoomSort();
****************学生宿舍管理系统****************"
请选择操作:
A.按姓名查询\n"
B.按学号查询\n"
C.按房号查询\n"
D.退出\n"
注意:
字母请输入大写……"
cha;
switch(cha)
case'
A'
:
flag1=1;
while(flag1)
A.输入要查询的名字\n"
B.按姓名全部输出\n"
C.返回\n"
字母请输入大写……\n"
:
%s"
name);
查询结果为:
NameSearch(name);
B'
Print("
C'
flag1=0;
default:
!
你输入的命令无效。
命令字母请输入大写!
while(flag2)
A.输入要查询的学号\n"
B.按学号全部输出\n"
%d"
&
num);
NumSearch(num);
flag2=0;
A.输入要查询的宿舍号\n"
B.按宿舍号全部输出\n"
room);
-----------------------------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生宿舍 管理 系统