网络考试系统怎样随机调换选择题的位置?

wnsr 2012-03-20 09:16:55
网络考试系统怎样随机调换选择题的位置?就是说它的答案有 我、你、他。不一定A我 B你 C他 D它,或者A你 B我 C他 D它也行。怎样的算法最简单,而且要核对答案的算法最简单?
...全文
267 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cyistudio 2012-03-20
  • 打赏
  • 举报
回复
flash as里的sort方法,delphi stringList的customsort方法都可以用来制作答案乱序,乱序的代码很简单,自己找吧。把四个答案放进数组或者stringList里,然后执行乱序代码答案就乱序了,显示选择答案的时候直接循环数组取出来。正确答案存在一个变量里,选择的时候用比较的条件与正确答案的变量进行对比就能判断了。
haitao 2012-03-20
  • 打赏
  • 举报
回复
只能是思路:
题目序号(5) 题目内容。。。。。。。
隐藏一个guid(xxx-xxxxx-xxx-xxx...)
候选答案:A. B. C. D.

还有一种思路:
题目顺序不变,只是打乱候选答案的显示,提交的时候,提交真正的顺序
wnsr 2012-03-20
  • 打赏
  • 举报
回复
具体怎样啊,(不像考驾照那种的,只要知道题目,如果答案是A,只要记得选A肯定对,不用看答案)。我要的是答案项是变的,有具体的代码吗?
haitao 2012-03-20
  • 打赏
  • 举报
回复
每题一个guid,它是不变的
变的是出现在卷面的顺序
cyistudio 2012-03-20
  • 打赏
  • 举报
回复
unit customSort;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
function asort(List:TstringList;index1,index2:integer):integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var stringList:TstringList;
begin
stringList:=TstringList.Create;
stringList.Add('我');
stringList.Add('你');
stringList.Add('他');
stringList.Add('她');
stringList.CustomSort(asort);
showmessage(stringList[0]+';'+stringList[1]+';'+stringList[2]+';'+stringList[3]+';');
end;

function asort(list:TstringList;index1,index2:integer):integer;
begin
Result := Random(3-1+1);
end;
end.
Delphi2010下测试通过
wnsr 2012-03-20
  • 打赏
  • 举报
回复
delphi stringList的customsort不知道怎么用啊,查了网上都没有怎么说明?
问题是可选答案项怎样随机顺序呢?
babydog01还不是很懂你说的
babydog01 2012-03-20
  • 打赏
  • 举报
回复

把可选答案项放在表中,不要标明ABCD,只标明对错,并与问题形成一对多的关系。生成题时,随机生成顺序。核对答案时,只对比用户选择是对是错就可以了。
表的结构如下:
问题表:
问题ID 问题内容
1 张三是男还是女的?


问题ID 正确答案 可选项 用户选择
1 V 男 X
1 X 女 V
1 X 两性 X

出题时随机摆放这三个的选项的位置,核对时你不用看问题是什么,就知道上面这个人选错了。

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧