一、前言
前文请细看:基于C#语言Windows窗体应用(.Net Framework)的教室点名系统V1.0
今天加个功能,老师想要把某个别同学的点名概率提上来,这要咋整。
简单,安排!
二、原理简述
- 如下图,在原本的学生名单中,增加格式
:XX - 在解析学生名单时,查询到
:XXX ,则代表有XX个该学生参与随机点名
- 如下图的张三,原本没有
:10 ,则张三被随机点名的概率是1/3 - 如今,增加了
:10 ,则张三被随机点名的概率是10/(10+2)=10/12
张三:10
李四
王五
三、源码详解
- 每行遍历
- 每行人名中是否存在
:
- 如果存在,则接着解析
: 后面的数字N ,则添加N 个name 到nameList - 如果不存在,则添加一个
name 到nameList
private void getNameList(string path)
{
StreamReader streamReader = new StreamReader(path, Encoding.UTF8);
string content;
string str = "";
nameList.Clear();
while ((content = streamReader.ReadLine()) != null)
{
string name = content.ToString();
int index = content.IndexOf(':');
if (index!=-1)
{
name = content.Substring(0, index);
string number = content.Substring(index+1, content.Length-index-1);
int num = Convert.ToInt32(number, 10);
for(int i=1; i<num; i++)
{
nameList.Add(name);
}
}
nameList.Add(name);
str += (name + "、");
}
streamReader.Close();
str = str.Substring(0, str.Length-1);
nameListLabel.Text = str;
}
四、效果展示
稍后传~
操作太简单了,我就不录视频了~
觉得好,就一键三连呗(点赞+收藏+关注)
|