|
7精币
意在做一个随机分配考试的工具,全身家当8个币
主要功能和设计方向:
1、主要目的是随机分配,做到当日单次考生尽量分配到每个房间,且当次考生不能相邻。例如5个教室 每个教室5个位置 ,那么6个人 先每个教室一个人 然后剩下的一个随机分配一个房间,房间根据第一轮分配的位置,去掉左右+1 -1 位置来安排。(这里如果第一轮是5 如何来控制)。
2、为了能够打印分配记录日志,需要先判断考试人数不大于 可考试人数。同时要求考试科目信息不为空。使用 如果 (考试内容 <> "") 并 (考试人数 <= 教室人数 * 座位数) 如果不满足提示检查内容信息框(“请检查,输入内容是否完整合法)。这里补充一个判断考试科目信息是否已经在分配记录中使用过(避免因为操作过快,重复分配)
3、打印列表内容。通过分配结果输出到列表框,然后通过打印列表内容输出PDF.(WIN10自带虚拟PDF打印).局部变量 打印机, 打印机对象
.局部变量 内容, 文本型
内容 = 列表1.内容 ' 获取列表的内容
打印机 = 打印机.创建() ' 创建打印机对象
打印机.开始打印(内容) ' 开始打印
.如果 (打印机.打印成功())
信息框("打印成功!")
.否则
信息框("打印失败!")
.结束
4、查询分配记录。这里需要更具分配记录的时间来生成记录表,记录表名称为考试科目信息+日期(方便第二日自动删除非当日日志),查询并展示记录。
.局部变量 文件名, 文本型
.局部变量 科目, 文本型
.局部变量 当前时间, 文本型
.局部变量 文件路径, 文本型
.局部变量 文件句柄, 整数型
科目 = 编辑框1.内容 ' 获取考试科目的内容
当前时间 = 日期时间.获取系统时间() ' 获取当前时间
当前时间 = 日期时间.格式化(当前时间, "yyyyMMdd_HHmmss") ' 格式化时间为字符串
' 生成文件名,格式为 "考试科目_时间.txt"
文件名 = 科目 + "_" + 当前时间 + ".txt"
文件路径 = "C:\你的存储路径\" + 文件名 ' 根据需要设置存储路径
' 创建和写入文件
文件句柄 = 文件.创建(文件路径) ' 创建文件
.如果 (文件句柄 ≠ 0)
文件.写入(文件句柄, "记录内容") ' 写入内容,可以根据需要修改
文件.关闭(文件句柄) ' 关闭文件
信息框("文件创建成功!文件名为:" + 文件名)
.否则
信息框("文件创建失败!")
.结束
5、查询并展示记录(不会写)点击查询会弹出窗口展示已有记录,(如果没有是否会报错)。通过展示记录的列表点击记录,就会关闭窗口在主界面的列表框展示记录,也可以打印。
如图:
请大佬看看红色部分,以及其他地方优化。
补充内容 (2024-9-25 15:27):
由于是交叉考试 ,需要进一步分配其他学生去考试,这时只要不重复上一次的座位即可 |
最佳答案
查看完整内容
其实我觉得你应该是卡在分配逻辑上了。其实把这个做成二位数组,就很好理解了。
补充内容 (2024-9-25 22:52):
没有给你做保存记录、记录cha询、记录打印的功能,请自行动手。
|