我需要设计一个模块(用C ++编写)来评估包含多个选项正确的问题的学生表(带有部分标记);
我的输入是: -
上述问题类型的评估规则如下: -
例如,如果(A),(C)和(D)是问题的正确选项,则标记所有这三个将导致+4标记;仅标记(A)和(D)将产生+2标记;并且标记(A)和(B)将导致-2标记,因为错误的选项也被标记。
注意:上述规则可能会在以后更改并变得复杂。
我想到了以下方法: -
如果您认为上述方法存在缺陷或有更好的解决方案,请提供您的建议。
答案 0 :(得分:1)
使用std::set_symmetric_difference。确保输入$('.inline').each(function(){
$(this).colorbox({inline:true, width:$(this).data('width'), height:$(this).data('height')});
});
都已排序。它将为您提供他们没有共同点的元素。因此,如果结果为空集,则学生答案与正确答案完全相同。否则,检查结果元素是否在答案中。
我会做类似以下的事情(TL; DR:硬编码):
std::vector
免责声明:未经测试。只需看一下它就可以作为一个例子来帮助您入门。