当前位置:编程学习 > Delphi >>

delphi 如何让将选择题库数据生成一道选择题,ABCD选项是随机的?

意思就是在考题系统中,如何将数据库中的选择题库的一行数据,(字段为 题干、选项一、选项二、选项三、选项四、答案)转化为一道选择题,且A/B/C/D四个选项是按照题库中的选项一、选项二、选项三、选项四随机抽取的。最好附上代码啦
答案:我也作过考题系统,我的办法是:自动生成的考题是放到别外一个数据库中的,自动出题成功后所有的数据都在考卷库中,与题库是没关系的。
从题库到考卷库中选项随机的问题我是用Random(3)+1来解决的,这个函数的作用是随机产生1-4随机值,将已经移出的选项作个标记,并将答案放到 答案字段中(注:考卷数据库中的答案是根据随机值来写入数据的,考卷数据库中的答案与题库中的答案是不一样的)

总结一下:新建一个考卷数据库,出题后将出的题目放到考卷数据库中,如果新出题就先清空考卷数据库 

代码:出100个题目
循环(100)
    将题目放到考卷数据库中

    随机值
    将选项1放到考卷数据库中
    记录答案

    随机值
    将选项2放到考卷数据库中
    记录答案

    随机值
    将选项3放到考卷数据库中
    记录答案

    随机值
    将选项4放到考卷数据库中
    记录答案

    将答案放到考卷数据库中
循环结束
其他:就考试题本身而言,可用电脑来命题题目类型,最多也就是判断题,单项选择题,多项选择题,填空题也可以。简答题,和论述题是不能使用软件来解决的。除非你的软件做的非常的复杂,否则判分就会出问题。
考试题数据库设计问题。就选择题而言,试题主题用一个字段,选项用一个字段,标准答案用一个字段保存。
你的“数据库中的选择题库的一行数据,(字段为 题干、选项一、选项二、选项三、选项四、答案)转化为一道选择题”问题,这样做是不好操作的,你的意思是说,选项也是活的,明明只要四个选项,但我准备了七、八个选项,出题的时候随机抽四个出来做选项。对于软件设计来说,这并非不可能,但是需要写大量的代码来进行解析。如果用少写代码就可以解决的问题,而你偏要用几千上万行的代码来解决,这叫愿者上钩,因为你愿意这样,所以这代码只能你自己来写。 

上一个:delphi如何写文本文件
下一个:求Delphi视频实例教程网址

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,