程序逻辑的简单问题

来源:百度知道 编辑:UC知道 时间:2024/04/30 13:59:57
我在做一个在线答题目系统,用asp.net做的,在线的题目里面有多选题和单选题,用户提交答卷的时候,怎么评分,问题主要在多选题,如果全是单选题我会做,但是多选题怎么判断对错呢?
我的各项选择和答案都存在数据库

多选题的正确答案用二进制数表示
0001表示a
0010表示b
0100表示c
1000表示d
0011表示ab
一次类推,也就是相应的为为1表示这个答案是正确的否则表示答案是错误的

学生答题的时候abcd四个选项的value就可设置成0001 0010 0100 1000 ,然后把用户选中的答案的value值进行逻辑或运算,就能知道他都选择了什么 再和正确答案比较就可以了

呵呵不知道你看明白没有 没有的话可以qq我
89338986

你的多选怎么算对,怎么给分

1.题目和答案 都保存再数据库中(否则就更加容易做)
2.根据用户选择的答案 进行匹配
3.多选(abc)和单选(d)当选的处理方式 同一样的方法判断
用户答案u_answer与题目u_tid 对应的答案t_answer
select 1 from tb_question where t_ti=u_tid and t_answer=u_answer
4.如果多选是按答对算分 不对不算 就对加一个判断语句 就可以

补充: 看你是怎么保存题目与答案的
其实上面4个步骤说的很详细了 你应该明白

如果是一页一题,那你就后台存储正确答案的顺序,看看postback回来的答案是不是完全match不就可以了?

如果是一页多题,那就在程序里用循环给的checkbox们的id复制,例如第一题的都叫做"q1_" + i (i是每一题备选选项的数目从头递增)。

这样判断第一题的时候,你取所有"q1_?"的checkbox判断一下,第二题就是"q2_?"的。。。以此类推

=。=|||
这补充说的跟没说一样,当然是放在数据库里啊。生成页面的时候出题你不得访问数据库吗?访问数据库你不就把答案和选项一起取出来了嘛?

取出来了你先保存在内存(Session)中啊,页面postback之后比较啊!不就知道答题对不对了吗。。。。