C#随机点名系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#随机点名系统
设计报告
班级: 软件1202
*名:**
学号: *********
2013 年12 月
一、设计描述:
此系统为课堂随机点名系统:
采用了windows窗体界面设计创建了此系统。
系统功能包括:
1、从已设置的学号文本信息文件中随机抽取一个学号。
2、记录某一个学号被点名信息。
3、显示当前被点学号的被点信息,以及所有同学被点信息。
4、每一个同学最多被点三次,当被点次数超过3时,显示警告窗口,提示用户重新点名。
二、系统详细设计——控件选取:
1、listBox1:用来存放及显示所有同学被点信息。
2、Button1:就是开始点名按钮,用来控制随机抽数,当点下开始按钮,其会变成停止按钮,按下停止按钮,显示最终被点学号。
3、Button2:就是用来显示当前被点同学的被点情况。
4、Button3:就是重置按钮,用来清除listBox1中的数据信息。
5、Button4:就是显示listBox1中记录的所有同学被点情况。
6、timer1:用来控制抽取过程中数据在空白处闪动。
7、label1:用来显示被点学号。
三、系统详细设计——代码实现:
using System;
using System.IO;
using System.Collections.Generic;
using ponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Timers;
namespace点名系统
{
public partial class Form1 : Form
{
bool first_click = true; //初始化
int x;
int[] c = new int[31];
String num;
Random r = new Random();
ArrayList content = new ArrayList();
ArrayList result = new ArrayList();
public Form1()
{
InitializeComponent();
timer1.Interval = 10;
timer1.Stop();
} //初始化 end
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void pictureBox1_Click(object sender, EventArgs e)
{
}
private void timer1_Tick(object sender, EventArgs e) //timer1:控制随机点名,在已创建的文件中,随机读取相关学号信息
{
FileStream fs1 = new FileStream(@"D:/2.txt", FileMode.Open);
StreamReader sr = new StreamReader(fs1);
string str1 = sr.ReadToEnd();
sr.Close(); fs1.Close();
string[] strQ = str1.Split('\n');
Random rdn = new Random();
int index = rdn.Next(0, strQ.Length);
x = index;
num = strQ[index];
label1.Text = strQ[index];
} //timer end
private void button1_Click(object sender, EventArgs e) //button1:开始点名按钮,用来控制timer1的运行,以及提示警告
{
first_click = !first_click;
if (!first_click)
{
timer1.Start();
button1.Text = "停止";
}
else
{
timer1.Stop();
button1.Text = "开始";
c[x]++;
if (c[x] > 3)
MessageBox.Show("该同学已被点过 3 次,请重新点名"); //警告提示。
this.listBox1.Items.Add(num+" "+c[x]);
}
} //Button1 end
private void button2_Click(object sender, EventArgs e) //button2:显示当前同学被点信息(<4)
{
if(c[x] == 3)
MessageBox.Show("该同学第 3 次被点!");
else if (c[x] == 2)
MessageBox.Show("该同学第 2 次被点!");
else if (c[x] == 1)
MessageBox.Show("该同学第 1 次被点!");
} //Button2 end
private void button3_Click(object sender, EventArgs e) //button3:清除tlistBox1中记录的信息。
{