基于C#语言Windows窗体应用(.Net Framework)的教室点名系统V1.1——可配置每个学生点中的概率

文章目录

  • 一、前言
  • 二、原理简述
  • 三、源码详解
  • 四、效果展示

一、前言

前文请细看:基于C#语言Windows窗体应用(.Net Framework)的教室点名系统V1.0

今天加个功能,老师想要把某个别同学的点名概率提上来,这要咋整。

简单,安排!

二、原理简述

  • 如下图,在原本的学生名单中,增加格式:XX
  • 在解析学生名单时,查询到:XXX,则代表有XX个该学生参与随机点名
    • 如下图的张三,原本没有:10,则张三被随机点名的概率是1/3
    • 如今,增加了:10,则张三被随机点名的概率是10/(10+2)=10/12
张三:10
李四
王五

三、源码详解

  • 每行遍历
  • 每行人名中是否存在:
    • 如果存在,则接着解析:后面的数字N,则添加NnamenameList
    • 如果不存在,则添加一个namenameList
private void getNameList(string path)
{
    StreamReader streamReader = new StreamReader(path, Encoding.UTF8);
    string content;
    string str = "";
    nameList.Clear();
    while ((content = streamReader.ReadLine()) != null)
    {
        //Console.WriteLine(content.ToString());
        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;
}

四、效果展示

稍后传~

操作太简单了,我就不录视频了~

觉得好,就一键三连呗(点赞+收藏+关注)

你可能感兴趣的:(C#与.Net,c#,windows,.net,教室点名系统,随机点名)