Foxtable(狐表)用户栏目专家坐堂 → [求助]多选题得分自动生成


  共有4054人关注过本帖树形打印复制链接

主题:[求助]多选题得分自动生成

帅哥哟,离线,有人找我吗?
miaoqingqing
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
[求助]多选题得分自动生成  发帖心情 Post By:2022/12/6 15:08:00 [只看该作者]

根据多选题得分规则,做题选项vs正确答案,求助自动,录入得分

得分规则;
1、考试中多选题只选对部分,每选对一条给0.5分,最多2分,有5个选项,只要选择错一条,本题得0分!
2、如果多项选择题只有2个正确(最少2个),你全选对,则得2分,有1个选对,其余未选得0.5分,选错一个就为0分啦!
3、如果多项选择题有3个正确,你全选对,则得2分,有1个选对,其余未选得0.5分,选对2个其余未选得1分,选错一个就为0分啦!
4、如果多项选择题有4个正确(最多4个),你全选对,则得2分,有1个选对,其余未选得0.5分,选对2个其余未选得1分,选对3个其余未选得1.5分,选错一个就为0分啦!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多选题得分.table


版本,不能升级,辛苦蓝总把代码贴出来,感谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106017 积分:539172 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/6 15:14:00 [只看该作者]

这种业务问题请自行解决。一般遍历处理即可

 回到顶部
帅哥哟,离线,有人找我吗?
miaoqingqing
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)这种业务问题请自行解决。一般遍历处...  发帖心情 Post By:2022/12/6 15:58:00 [只看该作者]

蓝总,论坛里,有类似参考案例吗?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106017 积分:539172 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/12/6 16:41:00 [只看该作者]

没有。

1、遍历每一行,
2、这行正确答案放入集合根据集合(正确答案)个数使用不同的规则。
3、遍历用户的答案,判断是否在集合内,如果在,计数+1
4、根据计数值计算分数

 回到顶部
帅哥哟,离线,有人找我吗?
y2287958
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4627 积分:33767 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2022/12/7 10:08:00 [只看该作者]

For Each dr As DataRow In DataTables("表A").DataRows
    Dim 答案() As String = dr("正确答案").split(",")
    Dim 答题() As String = dr("做题选项").split(",")
    If 答题.Except(答案).Count > 0 Then
        dr("得分") = 0
    ElseIf dr("正确答案") = dr("做题选项") Then
        dr("得分") = 2
    ElseIf 答题.Intersect(答案).Count > 0 Then
        dr("得分") = 答题.Intersect(答案).Count * 0.5
    End If 
Next

 回到顶部