计算机实习报告宿舍管理系统Word文档下载推荐.docx
《计算机实习报告宿舍管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机实习报告宿舍管理系统Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
管理员登陆或用户登录。
(2)管理员功能有:
(a)创建宿舍
(b)修改宿舍信息
(c)添加宿舍
(d)查询空闲宿舍、床位
(e)统计宿舍信息
(f)显示所有宿舍信息
(g)文本导入宿舍信息
(h)保存宿舍信息
(3)普通用户功能有:
(a)查询空闲宿舍
(b)查询空闲床位
(c)统计信息
(d)显示所有宿舍信息
2.说明程序将会具有什么样的性能:
程序中有如下性能:
(1)用菜单方式提供对操作的选择,一目了然。
(2)为了防止宿舍信息的破坏,管理员操作必须是有管理员密码才可进入。
普通用户的操作则不用密码。
(3)选择显示后及时清屏,方便用户的后操作。
(4)可导出文本文件,也可从文本文件中导入,便于信息的永久存储。
三、程序设计
(这一部分主要是说怎么做,以及语言环境对问题处理的特殊影响。
如下例所示,电话号码簿的结构体类型,电话号码信息的存储数组,以及结果输出格式。
具体来说,就是给出程序的数据结构,模块划分,主程序结构)
针对需求做如下设计:
(1)数据结构设计
●利用结构体组建宿舍相关信息,包括宿舍编号、楼栋编号、宿舍性质、已住人数、空床人数。
typedefstruct_dormitory
{
intdormNO;
//宿舍编号
intapartmentNO;
//楼栋编号
intdormAttribute;
//宿舍性质(男/女)
intpersonNum;
//已住人数
intbedavailble;
//空床位数
}dormitory;
●初始化程序时,规定最多有1000个宿舍,每个宿舍最多4人。
//一个房间有四个人
#defineROOMPERSONNUM4
//最多有1000个宿舍
#defineMAXROOMNUM1000
(2)模块设计
本任务的主要算法是对宿舍信息Dms[]的操作函数,具体如下:
A,管理员操作:
输入正确的管理员密码后即可有以下操作:
1创建、添加新宿舍:
先后输入宿舍号、楼号,判断不重复后继续输入宿舍属性、空床数。
全部格式输入正确后即可写入结构体数组。
2修改宿舍信息
在输入宿舍号以及楼栋号后查询是否存在该宿舍。
查询到便进行宿舍性质、空床数的修改。
3查询空宿舍间数
根据提示输入楼栋号,首先判断楼栋是否存在。
存在就查询该楼栋的空闲宿舍数,并显示给用户。
4输出空床位
根据提示输入楼栋号、宿舍号,首先判断宿舍是否存在。
存在就查询该宿舍的空闲床位数,并显示给用户。
5统计
分性别输出男女分别的占用床位数、空闲床位数。
6显示所有宿舍信息
遍历结构体数组,将所存的宿舍信息全部打印出来。
7文本导入宿舍信息
从文本文件”dorm.txt“中读取信息,并将信息存入结构体数组中。
8文本导出即保存宿舍信息
将结构体数组中全部信息写入到文本文件“dorm.txt”中
B,普通用户操作
1查询空宿舍间数
存在就查询该楼栋的空闲宿舍数,并显示给用户
2输出空床位
3统计
4显示所有宿舍信息
(3)主程序结构
主程序结构是一个菜单,选择后转入相应的子程序中:
A,主菜单:
1.管理员账户
2.普通用户
0.退出
B,管理员菜单:
1.创建宿舍
2.修改宿舍信息
3.添加宿舍
4.查询空宿舍间数
5.查询空床位
6.统计
7.打印所有宿舍信息
8.从文件中载入宿舍信息
9.保存
0.注销
C,用户菜单:
1.查询空宿舍间数
2.查询空床位
3.统计
4.打印所有宿舍信息
四、程序实现
(这一部分主要是说子程序的实现,以及引用的语言资源。
具体来说,就是给出程序模块的实现)
(1)程序中宿舍信息由结构体数组实现存储。
intdormNO;
intapartmentNO;
intdormAttribute;
intpersonNum;
intbedavailble;
dormitoryDMs[MAXROOMNUM];
(2)菜单的实现
主菜单在主程序中实现代码:
while(run)
{
system("
cls"
);
ShowMenu();
fflush(stdin);
choose=getchar();
switch(choose)
{
case'
1'
:
{
adminControl();
break;
}
2'
userControl();
0'
run=0;
default:
printf("
输入错误,请输入0-2\n"
break;
}
pause"
}
管理员菜单选择代码:
voidadminControl()
charpsword[20]={0};
intrun=1;
charchoose;
printf("
请输入管理员账户密码:
"
fflush(stdin);
gets(psword);
if(strcmp(psword,"
123456"
)!
=0)
printf("
密码错误!
return;
showAdmin();
create();
modifyDorm();
3'
Add();
4'
searchByapartmentNO();
5'
searchBedavailable();
6'
statics();
7'
showAll();
8'
Load();
9'
Save();
输入错误,请输入0-9\n"
}
普通用户菜单选择代码:
while(run)
showUser();
输入错误,请输入0-4\n"
五、程序测试
(这一部分主要是说用什么数据测试程序,保证程序的每一条分支上的语句都被调试。
具体来说,就是进行程序白盒测试)
对电话号码管理测试,分别依次选择菜单的各个选项,根据不同选项中需要输入的数据和操作提示,完成程序的测试。
以下抓图说明测试过程:
图1主菜单
图2管理员菜单
图3普通用户菜单
图4宿舍信息新增
图5统计功能
图6显示所有宿舍信息功能
图7文件保存功能
六、设计小结
本任务设计的代码完成基本功能,但是有几个缺点:
(1)宿舍程序内置床位为4
宿舍程序内置床位为4,有的宿舍床位可能不为4,灵活性不够。
(2)宿舍最多保存1000
宿舍总数可保存1000,当超过1000时,程序就容易出错了。
(3)密码不可变
目前程序中关于宿舍信息修改虽然是需要密码才可以进行,但是密码是固定的,不利于真正保护系统的安全,最好是提供密码修改模块,供管理员及时更新密码。
七、使用说明
(这一部分主要是说程序安装说明和启动。
具体来说,就是给出程序的运行软硬件环境,启动方法,操作步骤,如果程序有完整的提示,操作步骤可以简写)
本程序提交的是forDOS源代码Dormitory.c,所以用VC打开该程序Dormitory.c,再经过编译、连接,后根据屏幕上的提示操作就可以实现对宿舍管理系统的简单操作。
八、附录
程序源代码参见C语言程序文件Dormitory.c。
其中有详细的注释解释了各模块的功能及主要语句的作用,以及数据结构中数据项的含义。