有没有人做过啊 把代码给我写着 我把分数给你一个人

isSaDAmu 2009-08-27 04:48:42
如题啊!
...全文
86 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
isSaDAmu 2009-08-27
  • 打赏
  • 举报
回复
谢谢
xunis 2009-08-27
  • 打赏
  • 举报
回复
记得结贴 ==! 我很在乎用劳动换来的分数的 哈哈 ~
xunis 2009-08-27
  • 打赏
  • 举报
回复
xun.is@msn.com 加我吧
isSaDAmu 2009-08-27
  • 打赏
  • 举报
回复
     '由此结束  结束加载考试题目
'****************************************************************************************************
Else
MsgBox("请筛选考试类型", 0, "提示:")
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try


请筛选考试类型 这个代码叫我参考下可以吗?
isSaDAmu 2009-08-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xunis 的回复:]
VB.NET codePrivateSub btnAnswer_Click(ByVal senderAs System.Object,ByVal eAs System.EventArgs)Handles btnAnswer.ClickTry'****************************************************************************************************'由此开始 加载题目'三次循环分别加载三种题型For i=0To2Dim strSub()AsString= {"选择题","判断题","填空题"}Dim strSqlAsString=" select a.试题内容, b.选项内容, a.试卷类型,a.试题分类ID, a.试题分数"& _" from 题目表 as a INNER JOIN 题目选项表 as b ON a.试题ID = b.试题ID"& _" where 试卷类型='"& strSub(i)&"' and 试题分类ID='"& cmb时间段.Text.Trim&"'"Dim dsAs DataSet= GetDataSet(strSql)If i=0ThenGoTo1ElseIf i=1ThenGoTo2ElseGoTo3EndIf1:
lblXZ1.Text= (ds.Tables(0).Rows(CInt(Rnd()*3))(0).ToString)'如果数据数多的话可以把随机数倍数改到数据条数 lblXZ2.Text= (ds.Tables(0).Rows(CInt(Rnd()*3))(0).ToString)
lblXZ3.Text= (ds.Tables(0).Rows(CInt(Rnd()*3))(0).ToString)GoTo nextFor2:
lblPD1.Text= (ds.Tables(0).Rows(CInt(Rnd()*3))(0).ToString)
lblPD2.Text= (ds.Tables(0).Rows(CInt(Rnd()*3))(0).ToString)
lblPD3.Text= (ds.Tables(0).Rows(CInt(Rnd()*3))(0).ToString)GoTo nextFor3:
lblTK1.Text= (ds.Tables(0).Rows(CInt(Rnd()*3))(0).ToString)
lblTK2.Text= (ds.Tables(0).Rows(CInt(Rnd()*3))(0).ToString)
lblTK3.Text= (ds.Tables(0).Rows(CInt(Rnd()*3))(0).ToString)GoTo nextFor
nextFor:Next'由此结束 结束加载考试题目'****************************************************************************************************ElseMsgBox("请筛选考试类型",0,"提示:")EndIfCatch exAs ExceptionMsgBox(ex.ToString)EndTryEnd Sub

这就是一个加载题目的过程  题目是动态显示的还是全部在页面上呢?如果是一次性给出题目就用上面的代码吧 因为题目从头到尾不可以改变吧? 并且肯定在页面的一个lable或者textbox存放
然后你的答案肯定在一个表里面吧?如果和题目在一个表里面 那就通过where查询 用for循环 一个一个查 如果相同 就表示对了 然后输出分数(你先声明个保存分数的变量吧比如i) i=i+ (去数据库查分数)

这样就把分数统计了吧  这是我的思路 好像也查几次呢 如果有好的代码你也发出来我们学习学习
[/Quote]

哦 我修改下我的出题 这样子是不是代码也很多啊
xunis 2009-08-27
  • 打赏
  • 举报
回复
Private Sub btnAnswer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnswer.Click
Try
'****************************************************************************************************
'由此开始 加载题目
'三次循环分别加载三种题型
For i = 0 To 2
Dim strSub() As String = {"选择题", "判断题", "填空题"}

Dim strSql As String = " select a.试题内容, b.选项内容, a.试卷类型,a.试题分类ID, a.试题分数" & _
" from 题目表 as a INNER JOIN 题目选项表 as b ON a.试题ID = b.试题ID" & _
" where 试卷类型='" & strSub(i) & "' and 试题分类ID='" & cmb时间段.Text.Trim & "'"
Dim ds As DataSet = GetDataSet(strSql)
If i = 0 Then
GoTo 1
ElseIf i = 1 Then
GoTo 2
Else
GoTo 3
End If
1:
lblXZ1.Text = (ds.Tables(0).Rows(CInt(Rnd() * 3))(0).ToString) '如果数据数多的话可以把随机数倍数改到数据条数
lblXZ2.Text = (ds.Tables(0).Rows(CInt(Rnd() * 3))(0).ToString)
lblXZ3.Text = (ds.Tables(0).Rows(CInt(Rnd() * 3))(0).ToString)

GoTo nextFor

2:
lblPD1.Text = (ds.Tables(0).Rows(CInt(Rnd() * 3))(0).ToString)
lblPD2.Text = (ds.Tables(0).Rows(CInt(Rnd() * 3))(0).ToString)
lblPD3.Text = (ds.Tables(0).Rows(CInt(Rnd() * 3))(0).ToString)
GoTo nextFor
3:
lblTK1.Text = (ds.Tables(0).Rows(CInt(Rnd() * 3))(0).ToString)
lblTK2.Text = (ds.Tables(0).Rows(CInt(Rnd() * 3))(0).ToString)
lblTK3.Text = (ds.Tables(0).Rows(CInt(Rnd() * 3))(0).ToString)
GoTo nextFor
nextFor: Next

'由此结束 结束加载考试题目
'****************************************************************************************************
Else
MsgBox("请筛选考试类型", 0, "提示:")
End If
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub


这就是一个加载题目的过程 题目是动态显示的还是全部在页面上呢?如果是一次性给出题目就用上面的代码吧 因为题目从头到尾不可以改变吧? 并且肯定在页面的一个lable或者textbox存放
然后你的答案肯定在一个表里面吧?如果和题目在一个表里面 那就通过where查询 用for循环 一个一个查 如果相同 就表示对了 然后输出分数(你先声明个保存分数的变量吧比如i) i=i+ (去数据库查分数)

这样就把分数统计了吧 这是我的思路 好像也查几次呢 如果有好的代码你也发出来我们学习学习
Forrest23 2009-08-27
  • 打赏
  • 举报
回复


try
{
//选取得这种题型的分值
mark = int.Parse(((Label)this.dlistxz.HeaderRow.FindControl("lblxztfz")).Text.Trim());
//然后循环
foreach (GridViewRow gy in this.dlistxz.Rows)
{
for (int i = 0; i < 4; i++)
{
//获得学生填写的答案
if (((RadioButtonList)gy.FindControl("rblxzt")).Items[i].Selected == true)
{
st = ((RadioButtonList)gy.FindControl("rblxzt")).Items[i].Text;
break;
}

}
//和数据库中的答案比对,如果正确则加上相应的分值
if (st == ((Label)gy.FindControl("lblanswer")).Text)
{
score = score + mark;
}

}
}
catch
{
score = score;
}






isSaDAmu 2009-08-27
  • 打赏
  • 举报
回复
学生考试系统 怎么获取答案并且与数据库答案比对 自动阅卷呢? 要个思路 代码我会写 想了一套比较繁琐 要去数据库很多次 很麻烦
saku866 2009-08-27
  • 打赏
  • 举报
回复
题目没看明白

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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