vb大作业 实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件技术实验报告

学号2009300186 姓名赵佶男班级010109卓

大作业机房管理系统

课题基本目标要求:

1)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。

2)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动

提前5分钟提示,待真正结束时即自动锁屏。

3)除上机课时安排以外,可以在机动时间段接受学生凭个人一卡通上机,且上机实施计时自动收费(即扣除学生一卡通上因上机而应缴

纳的上机服务费)

4)在接受零散学生付费上机时,可自动为其分配空闲机器并授权使用,在分配机器时应考虑机器的使用情况分布均匀,即每次分配机器是

前一时段未曾使用的机器,当学生一卡通上的余额,不足以支付1

小时上机服务费时,应提示其下机充值,并实施锁屏。

实验步骤:

首先,根据大作业的要求,我建立了机器表,流水表,学生基本情况表,上课表,以及一卡通表五个数据库表。机器表用来按照使用情况,选择空闲时间最长的机器。流水表用来记录现在机器以及人员使用的情况,是个

动态表,用来方便的取用和修改数据。学生基本情况表用来存放学生的学号,密码,班级等基本情况,以实现学生上课登录和自由登录。上课表存放各个班级的上课下课时间,以实现排课功能。一卡通表记录了每个学生一卡通内的金额,用来帮助实现上下机的扣费,以及余额不够支付一小时时间情况下得强制下机。

然后,我进行了窗体的设计。经过筛选优化,我设计了五个窗体,分别是主选择窗体,注册窗体,登录窗体,上课安排窗体,实时计费和下机窗体。

主选择窗体可以用来进行上课登录、学生自由登录、管理员登录和机器的推荐。注册窗体是用来进行学生登录密码的注册。登录窗体限制学生的学号和密码必须匹配才能登录。上课安排窗体可以输入班号、上下课时间并选择星期值。实时计费和下机窗体用来扣费并方便学生随时下机。

接下来,要按照要求进行代码的编写。

A)可在系统中由系统管理员按班级指定时间进行上机课时安排,安排上机不得与其他已安排机时冲突。

此功能我在排课窗体下用select选择出全体班级的上下课以及星期值,并将管理员希望的上下课时间转换为时间类型数值,进行循环比较,用do until 语句逐个比较,使得上下课时间点都不得在其他班级的上课时间段内。如果时间不冲突,就实施修改数据库的功能,并更新保存。

B)在指定上机课时段,除了上机班级学生可以登录外,其余无关学生一律不得登录,除非系统管理员授权。预定上机时间结束时,自动提前5分钟提示,待真正结束时即自动锁屏。

在主选择窗体内有上课登录按钮和自由登录按钮。点击上课登录,输入学

号后,先从基本信息表中查找出所属班级,并进行当前时间和所属班级的上课时间段的比较,使用if语句,如果当前时间在所属班级的上课时间内,即弹出登录窗口。否则,提示与管理员联系取得上机权限。

在管理员登录后有授权上机按钮,通过管理员的权限,也可以访问登录界面。对于预定时间提示下机,我用了format函数,令a=预定时间,b=现在时间,format(a-b,”hh:mm:ss”)<00:05:00,并用时间控件timer每隔一定时间刷一次即可实现。当上述函数值为零时,退出系统。

C)除上机课时安排以外,可以在机动时间段接受学生凭个人一卡通上机,且上机实施计时自动收费(即扣除学生一卡通上因上机而应缴纳的上机服务费)。当学生一卡通上的余额,不足以支付1小时上机服务费时,应提示其下机充值,并实施锁屏。

在主窗体点击学生自由登录按钮,判断现在时间是否为上机时间,用select 选取上课表中的上课时间和下课时间以及星期值字段,并用format(now)和weekday(now)与之进行比较,若现在不是上课时间,即可登录。然后进入下机和实时扣费界面,在进入此窗体时读取一卡通内余额,并显示,另外在机器表中,机器使用情况改为“是”。用timer控件,类似做倒计时牌的方法,让余额显示在label上每隔10s变换一次,每次金额减少0.1元,并判断现在余额是否小于36元,若小于立即将此时余额传入数据库,并退出系统,并且删除流水表中相应记录,机器表中相应使用状态为否。否则,一直如此进行,直到用户点击下机,记录当前label上的数值,传入数据库并更新,另外弹出消息框提示消费金额。还要删除记录,和修改使用情况。

D)在接受零散学生付费上机时,可自动为其分配空闲机器并授权使用,在

分配机器时应考虑机器的使用情况分布均匀,即每次分配机器是前一时段未曾使用的机器。

在主选择界面,有推荐机器按钮,点击后,执行select min(下机时间) 并且where 使用情况为否。在建立数据库机器表时,将每台机器的初始上机时间都设定为00:00:00,能保证每台机器都更好的被利用。

E) 在注册窗体,学生可以进行注册,输入学号后,连续输入两次密码,只有当密码相同时才可以注册。并且,只有未注册过的学生才可以进行注册。此功能由select语句和if 语句组合,共同实现。

创新亮点:

使用format(a-b,”hh:mm:ss”)函数,增加了注册功能,使得该系统更加符合实际情况。

完成情况和存在问题:

已按照要求完成,并增加了注册功能。

收获与体会:

本次大作业,从最初的构想,到在纸上画出思路图,再到建立数据库表格,接着编写程序并逐步调试,共经历了近三十个小时,由于要准备考试,而且夜深人静的时候思路比较广阔,我还熬过两个通宵,最后一看才编了几百k的东西,我深深体会到了软件开发人员的辛苦。虽然说,东西小,功能也不怎么强大,可是自己也觉得非常有成就感。

这次大作业,让我对软件技术课有了更加深刻的认识,对整个开发软件的过程有了初步的了解。往往看似复杂的东西,只要基础知识牢固,可以用一些最基本的知识来解决。现在才认识到,不管是书上的VB部分还是数据库部分,

相关文档
最新文档