计算机实习报告宿舍管理系统.docx

上传人:b****6 文档编号:8531990 上传时间:2023-01-31 格式:DOCX 页数:12 大小:50.38KB
下载 相关 举报
计算机实习报告宿舍管理系统.docx_第1页
第1页 / 共12页
计算机实习报告宿舍管理系统.docx_第2页
第2页 / 共12页
计算机实习报告宿舍管理系统.docx_第3页
第3页 / 共12页
计算机实习报告宿舍管理系统.docx_第4页
第4页 / 共12页
计算机实习报告宿舍管理系统.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

计算机实习报告宿舍管理系统.docx

《计算机实习报告宿舍管理系统.docx》由会员分享,可在线阅读,更多相关《计算机实习报告宿舍管理系统.docx(12页珍藏版)》请在冰豆网上搜索。

计算机实习报告宿舍管理系统.docx

计算机实习报告宿舍管理系统

 

计算机实习报告

面向过程编程

用C语言求解实际问题

 

班级:

学号:

姓名:

实习时间:

年月日-月日

一、开发任务

开发任务的具体要求。

宿舍管理系统:

编程模拟实现宿舍系统的管理。

二、需求分析

(这一部分主要是确定要做什么,以及问题的边界。

如下例所示,说明电话号簿管理程序将实现的基本功能。

具体来说,就是给出程序的基本功能和性能)

1.说明自己针对这个任务将完成哪些功能的设计。

宿舍管理系统的基本功能是:

(1)选择登陆身份:

管理员登陆或用户登录。

(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.打印所有宿舍信息

0.注销

四、程序实现

(这一部分主要是说子程序的实现,以及引用的语言资源。

具体来说,就是给出程序模块的实现)

(1)程序中宿舍信息由结构体数组实现存储。

typedefstruct_dormitory

{

intdormNO;//宿舍编号

intapartmentNO;//楼栋编号

intdormAttribute;//宿舍性质(男/女)

intpersonNum;//已住人数

intbedavailble;//空床位数

}dormitory;

dormitoryDMs[MAXROOMNUM];

(2)菜单的实现

主菜单在主程序中实现代码:

while(run)

{

system("cls");

ShowMenu();

fflush(stdin);

choose=getchar();

switch(choose)

{

case'1':

{

adminControl();

break;

}

case'2':

{

userControl();

break;

}

case'0':

{

run=0;

break;

}

default:

printf("输入错误,请输入0-2\n");

break;

}

system("pause");

}

管理员菜单选择代码:

voidadminControl()

{

charpsword[20]={0};

intrun=1;

charchoose;

printf("请输入管理员账户密码:

");

fflush(stdin);

gets(psword);

if(strcmp(psword,"123456")!

=0)

{

printf("密码错误!

");

return;

}

while(run)

{

system("cls");

showAdmin();

fflush(stdin);

choose=getchar();

switch(choose)

{

case'1':

{

create();

break;

}

case'2':

{

modifyDorm();

break;

}

case'3':

{

Add();

break;

}

case'4':

{

searchByapartmentNO();

break;

}

case'5':

{

searchBedavailable();

break;

}

case'6':

{

statics();

break;

}

case'7':

{

showAll();

break;

}

case'8':

{

Load();

break;

}

case'9':

{

Save();

break;

}

case'0':

{

run=0;

break;

}

default:

printf("输入错误,请输入0-9\n");

break;

}

system("pause");

}

}

普通用户菜单选择代码:

while(run)

{

system("cls");

showUser();

fflush(stdin);

choose=getchar();

switch(choose)

{

case'1':

{

searchByapartmentNO();

break;

}

case'2':

{

searchBedavailable();

break;

}

case'3':

{

statics();

break;

}

case'4':

{

showAll();

break;

}

case'0':

{

run=0;

break;

}

default:

printf("输入错误,请输入0-4\n");

break;

}

system("pause");

}

五、程序测试

(这一部分主要是说用什么数据测试程序,保证程序的每一条分支上的语句都被调试。

具体来说,就是进行程序白盒测试)

对电话号码管理测试,分别依次选择菜单的各个选项,根据不同选项中需要输入的数据和操作提示,完成程序的测试。

以下抓图说明测试过程:

图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。

其中有详细的注释解释了各模块的功能及主要语句的作用,以及数据结构中数据项的含义。

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1