程序逻辑的简单问题
来源:百度知道 编辑:UC知道 时间:2024/04/30 13:59:57
我的各项选择和答案都存在数据库
多选题的正确答案用二进制数表示
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之后比较啊!不就知道答题对不对了吗。。。。