C#利用checkbox控件动态生成5道多选题,并计算得分
int[,]answers={{0,1,4,4},{0,2,3,4},{1,2,4,4},{0,2,3,4},{1,4,4,4}};//答案索引int[,]selects...
int[,] answers ={{0,1,4,4},{0,2,3,4},{1,2,4,4},{0,2,3,4},{1,4,4,4}};//答案索引
int[,] selects ={ { 4, 4, 4, 4}, { 4, 4, 4, 4}, { 4, 4, 4, 4}, { 4, 4, 4, 4}, {4,4,4,4}};//用户的选择初始化
int[] score2 = { 0, 0, 0, 0, 0 };
private void ComputeSelecteds()
{
for (int j = 0; j < 4; j++)
if (ch[j].Checked)
selects[comboBox2.SelectedIndex,j] = j;
}
private void button1_Click(object sender, EventArgs e)
{
ComputeSelecteds();
int sum2 = 0;
for (int j = 0; j < m; j++)
{
for (int p = 0; p < 4; p++)
{
for (int q = 0; q < 4; q++)
{
if (answers[j, q] == selects[j, p])
score2[j] = 1;
else
score2[j] = 0;
}
sum2 += score2[j];
label2.Text = "您的得分为:" + sum2.ToString();
}
}
}
这是部分代码,计算得分一直算不出预想结果 展开
int[,] selects ={ { 4, 4, 4, 4}, { 4, 4, 4, 4}, { 4, 4, 4, 4}, { 4, 4, 4, 4}, {4,4,4,4}};//用户的选择初始化
int[] score2 = { 0, 0, 0, 0, 0 };
private void ComputeSelecteds()
{
for (int j = 0; j < 4; j++)
if (ch[j].Checked)
selects[comboBox2.SelectedIndex,j] = j;
}
private void button1_Click(object sender, EventArgs e)
{
ComputeSelecteds();
int sum2 = 0;
for (int j = 0; j < m; j++)
{
for (int p = 0; p < 4; p++)
{
for (int q = 0; q < 4; q++)
{
if (answers[j, q] == selects[j, p])
score2[j] = 1;
else
score2[j] = 0;
}
sum2 += score2[j];
label2.Text = "您的得分为:" + sum2.ToString();
}
}
}
这是部分代码,计算得分一直算不出预想结果 展开
1个回答
2016-05-10
展开全部
//你写的代码 可以说 可读性 不是太好 至少我没看得懂
//能看出来遍历和数组赋值有问题,你用断点调试下
如果是我 我的思路是 创建一个层 然后动态输出HTML赋值给层,同时给复选框一个值,如果有选错比如说值为0 则得分为0 你写的太复杂了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询