宿舍管理系统报告Word文档格式.docx
- 文档编号:3473927
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:29
- 大小:292.65KB
宿舍管理系统报告Word文档格式.docx
《宿舍管理系统报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《宿舍管理系统报告Word文档格式.docx(29页珍藏版)》请在冰点文库上搜索。
XX
宿舍
性别
年龄
专业
返回
班级
按XX
按学号
按宿舍
按性别
按班级
按专业
2、数据构造说明
程序中数据主要是学生信息和宿舍信息,具体属于类型如下:
structstu
{
charname[20];
intnum;
charsex;
intage;
intgrade;
intnclass;
charzhuanye[30];
};
structdom
intbui_num;
intfloor_num;
introom_num;
intbed_num;
structstust;
}s[MAX],p;
3、模块功能说明
第一密码模块:
调用cipher(),进展管理者的注册与登录操作。
第二录入模块:
调用input_message(),对住宿学生信息进展录入。
第三添加模块:
调用append_message(),对新来学生信息进展添加录入。
第四修改模块:
调用revise_message(),对需修改学生的信息进展修改。
第五删除模块:
调用delete_message(),对某一学生信息进展删除操作。
第六查询模块:
调用find_message(),分别以XX、学号、宿舍号对学生信息进展查询。
第七统计模块:
调用census_message(),分别以学号、宿舍号、性别、班级、专业方式对学生信息进展统计,并按学号由小到大输出。
六、详细设计及运行结果
1、登陆界面
2、主界面
3、录入模块
输入学号
输入XX
输入性别
输入年龄
输入年级
输入班级
输入专业
是否继续录入
结束
N
Y
宿舍楼号
宿舍楼层号
宿舍房间号
宿舍床号
4、录入界面
5、打印学生信息界面
6、更新学生信息界面
7、查询宿舍信息界面
8、统计宿舍信息界面
9、学生宿舍排序
七、源程序
#include<
stdio.h>
#include"
string.h"
#defineMAX10
#definePRINT1printf("
---------------------------------------------------------------------------\n"
)
#definePRINT2printf("
学号--学生XX--性别--年龄--年级--班级--专业--楼号--楼层号--房间号--床号\n\n"
intsum;
/*保存信息*/
save_message()
{FILE*fp;
inti;
if((fp=fopen("
dom.txt"
"
wt"
))==NULL)
{
printf("
读文件错误!
\n"
);
return0;
}
for(i=0;
i<
sum;
i++)
if(fwrite(&
s[i],sizeof(structdom),1,fp)!
=1)
写文件错误!
fclose(fp);
/*输入模块*/
input_message()
{inti=0;
//clrscr();
\n\n录入学生信息(最多%d个)\n"
MAX);
----------------------------\n"
do
\n第%d个学生\n\n"
i+1);
\n学号:
"
scanf("
%d"
&
s[i].st.num);
if(s[i].st.num==0)break;
\n学生XX:
%s"
s[i].st.name);
\n学生性别(男生用M表示,女生用F表示):
"
getchar();
%c"
s[i].st.sex);
\n学生年龄:
s[i].st.age);
\n学生年级:
s[i].st.grade);
\n学生班级:
s[i].st.nclass);
\n学生专业:
s[i].st.zhuanye);
\n宿舍楼号:
s[i].bui_num);
\n宿舍楼层号:
s[i].floor_num);
\n宿舍房间号:
s[i].room_num);
\n宿舍床号:
s[i].bed_num);
i++;
}while(i<
MAX);
\n--%d个学生的信息输入完毕!
--\n"
i);
sum=i;
\n按任意键返回主菜单!
//bioskey(0);
}
/*读取信息*/
intread_message()
FILE*fp;
inti=0;
rt"
\n\n*****暂时还没有任何信息,按任意键进入主菜单项选择择根本信息的录入!
*****\n"
while(!
feof(fp))
fread(&
s[i],sizeof(structdom),1,fp);
return(i);
/*输出模块*/
output_message()
{inti=0;
//clrscr();
printf("
\n\n--学生信息表--\n\n"
PRINT2;
PRINT1;
for(i=0;
if(s[i].st.num!
=0)
%2d%10s%6c%7d%6d%5d%8s%5d%6d%8d%9d\n\n"
s[i].st.num,s[i].st.name,s[i].st.sex,s[i].st.age,
s[i].st.grade,s[i].st.nclass,s[i].st.zhuanye,s[i].bui_num,s[i].floor_num,s[i].room_num,s[i].bed_num);
//bioskey(0);
return0;
///
/*添加学生信息*/
insert_message()
{inti=sum,flag=0;
charchoice;
\n\n添加一个新同学\n"
---------------\n"
\n新学号:
s[i].st.zhuanye);
sum++;
\n要继续吗?
(Y/N)"
choice);
if(choice=='
y'
||choice=='
Y'
flag=1;
\n继续!
elseflag=0;
}while(flag==1);
/*删除模块*/
del_message()
{intflag,del_num,i,k;
{printf("
\n输入要删除的学生学号:
del_num);
if(del_num==s[i].st.num)
for(k=i;
k<
sum-1;
k++)
s[k]=s[k+1];
sum--;
\n\n继续吗?
\n\n按任意键返回主菜单!
/*修改模块*/
revise_message()
{inti=0,choices,revise_num,flag=0;
\n输入要修改的学生号:
revise_num);
if(s[i].st.num==revise_num)
\n--学生信息--\n"
PRINT1;
PRINT2;
s[i].st.num,s[i].st.name,s[i].st.sex,s[i].st.age,s[i].st.grade,s[i].st.nclass,s[i].st.zhuanye,s[i].bui_num,s[i].floor_num,s[i].room_num,s[i].bed_num);
\n您要修改哪一项?
\n1.学号\n"
\n2.性别\n"
\n3.\n"
\n4.年龄\n"
\n5.年级\n"
\n6.班级\n"
\n7.专业\n"
\n8.楼号\n"
\n9.楼层号\n"
\n10.房间号\n"
\n11.床号\n"
\n请选择(1-11):
choices);
switch(choices)
case1:
\n输入修改后的学号"
break;
case2:
\n输入修改后的XX"
case3:
\n输入修改后的性别"
s[i].st.sex);
case4:
\n输入修改后的年龄"
case5:
\n输入修改后的年级"
case6:
\n输入修改后的班级"
case7:
\n输入修改后的专业"
case8:
\n输入修改后的楼号"
case9:
\n输入修改后的楼层号"
case10:
\n输入修改后的房间号"
case11:
\n输入修改后的床号"
break;
if(i==sum)
\n该学生不存在!
/*printf("
\n\n继续修改吗?
||choice=='
*/
/*更新模块*/
renew_message()
intchoice;
\n\n\n*****更新学生信息*****\n\n"
1.添加学生信息\n\n"
2.删除学生信息\n\n"
3.修改学生信息\n\n"
0.返回主菜单\n\n"
请选择(0-3):
switch(choice)
insert_message();
del_message();
revise_message();
case0:
}while(choice!
=0);
inquire_name()/*按XX查询*/
inti,j=0;
charinquire_name[10];
\n输入要查询的学生XX:
inquire_name);
if(strcmp(s[i].st.name,inquire_name)==0&
&
s[i].st.num!
\n--学生信息--\n"
elsej++;
if(j==sum)
intinquire_num()/*按学号查询*/
inti,j=0,inquire_num;
\n输入要查询的学生学号:
inquire_num);
if(inquire_num==s[i].st.num)
/*查询模块*/
inquire_message()
{intchoice;
\n\n*****查询学生信息*****\n\n"
1.按学生XX查询\n"
2.按学生学号查询\n"
0.回主菜单\n"
请选择(0-2):
inquire_name();
inquire_num();
count_person()/*学生住宿情况统计*/
inti,j=0,count_grade,count_nclass;
charcount_zhuanye[20];
\n输入要统计的学生专业,年级,班级:
%10s%8d%8d"
count_zhuanye,&
count_grade,&
count_nclass);
\n住宿情况"
\n-------------------------------\n"
\n学号楼号楼层号房间号床号\n"
if(s[i].st.grade==count_grade&
s[i].st.nclass==count_nclass&
strcmp(s[i].st.zhuanye,count_zhuanye)==0)
\n%10s%8d%8d%8d%8d%8d\n"
s[i].st.name,s[i].st.num,s[i].bui_num,s[i].floor_num,
s[i].room_num,s[i].bed_num);
/*统计模块*/
count_message()
\n\n*****统计住宿信息*****\n"
1.学生住宿情况统计\n"
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宿舍 管理 系统 报告