C#做计算机考试系统,抽题的唯一性怎么实现
我的界面是一个label,一个textbox,一个button:点击button后,在1-5出现随机数显示在label中,在数据库中查找与label匹配的题目显示在tex...
我的界面是一个label,一个textbox,一个button:点击button后,在1-5出现随机数显示在label中,在数据库中查找与label匹配的题目显示在textbox中,每次点击button后显示的题目不同,怎么才能是考生无论点击几次,出现的题目和第一次的相同? 我想问的是这样的功能怎么实现?
private void button1_Click(object sender, EventArgs e)
{
Random ran = new Random();
String tihao = ran.Next(1,5).ToString();
label14.Text = tihao;
if (File.Exists(path))
{
FileStream stream = null;
StreamReader reader = null;
output.Text += "(一)程序填空题:" + Environment.NewLine;
stream = new FileStream(path, FileMode.Open);
reader = new StreamReader(stream, Encoding.GetEncoding("UTF-8"));
string line;
while ((line = reader.ReadLine()) != null)
{
output.Text += line;
output.Text += Environment.NewLine;
}
}
} 展开
private void button1_Click(object sender, EventArgs e)
{
Random ran = new Random();
String tihao = ran.Next(1,5).ToString();
label14.Text = tihao;
if (File.Exists(path))
{
FileStream stream = null;
StreamReader reader = null;
output.Text += "(一)程序填空题:" + Environment.NewLine;
stream = new FileStream(path, FileMode.Open);
reader = new StreamReader(stream, Encoding.GetEncoding("UTF-8"));
string line;
while ((line = reader.ReadLine()) != null)
{
output.Text += line;
output.Text += Environment.NewLine;
}
}
} 展开
2个回答
展开全部
这儿假如的是五道题,你可以更改值的。这儿只用了一个button和一个label控件
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
ArrayList arr = new ArrayList();//定义一个可变数组
Random ran = new Random();//随机种子
public int a = 0;//单击button的次数
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 5; i++)//循环五次,因为这儿地定义的是五个题
{
int ss=ran.Next(1,6);//获取随机数
while (arr.IndexOf(ss)!=-1)//判断数组中是否已经有这个数,如果有就重新赋值,没有就不执行
{
ss = ran.Next(1,6);
}
arr.Add(ss);//将随机数添加进数组中
}
}
private void button1_Click(object sender, EventArgs e)
{
if (a < 5)//判断单击按钮的次数
{
label1.Text = arr[0].ToString();//给label赋值
arr.RemoveAt(0);//删除数组中的值
}
a++;
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
ArrayList arr = new ArrayList();//定义一个可变数组
Random ran = new Random();//随机种子
public int a = 0;//单击button的次数
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 5; i++)//循环五次,因为这儿地定义的是五个题
{
int ss=ran.Next(1,6);//获取随机数
while (arr.IndexOf(ss)!=-1)//判断数组中是否已经有这个数,如果有就重新赋值,没有就不执行
{
ss = ran.Next(1,6);
}
arr.Add(ss);//将随机数添加进数组中
}
}
private void button1_Click(object sender, EventArgs e)
{
if (a < 5)//判断单击按钮的次数
{
label1.Text = arr[0].ToString();//给label赋值
arr.RemoveAt(0);//删除数组中的值
}
a++;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询