基于C#的随机点名系统的设计与实现

2018-07-12 09:37张晶
电脑知识与技术 2018年14期

张晶

摘要:社会已经进入一个信息化时代,多数高校均已实现信息化管理。相反的是,课堂上课的点名工作却仍需要人工的操作,不仅浪费老师和学生的人力,在工作进行中也存在很多不尽人意的地方。本课题在.NET框架下,使用C#语言中的WinForm MDI应用窗体程序,在Visual Studio 2010中设计和实现了学生课堂点名管理系统。该系统可以方便地实现学生课堂点名、登记、修改的操作。

关键词:随机点名系统;C#;Visual Studio

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)14-0094-02

1 研究背景

目前在当代大学生却存在一个及其普遍的现象——逃课,大学生逃课逐渐蔓延似乎已经成为一个常见问题,严重影响了高校教学质量。学校为了保证教学质量让更多的学生在课堂上学到更多的知识,采用了课堂点名的办法来提高出勤率。目前任课老师课堂点名一般采用逐个对全部学生点名和抽点两种方式。逐个点名的方式真实的记录和反映所有学生得出勤情况,具有很强的说服力,但是此方法耗时多,占去了课堂的大部分时间;抽点的方法减少了教师点名的工作量,节省了大量的点名占有教学时间,不过,它会有不公平带有教师的感情色彩,做不到按一定比例进行抽点。

因此,本系统专为高校一线教师开发,教师可以直接在教室里使用。本课题在.NET框架下,使用C#语言中的WinForm MDI应用窗体程序,在Visual Studio 2010中設计和实现了学生课堂点名管理系统。该系统可以方便地实现学生课堂点名、登记、修改的操作,既可以方便老师,也可以有效地提高学生的考勤率,保证了学校教学工作的顺利运行。

2 相关技术简介

2.1 Visual Studio 2010

Visual Studio2010,是一个提供了丰富工具的编程环境其中包含创建从小到大的各种规模的C#项目所需的各种功能。在创建的项目中,甚至能够使用不同编程语言编译的模块组合到一起使用。

2.2 C#语言

C#是微软公司推出的Visual Studio开发平台中面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。利用这种面向对象的、可视化的编程技术,结合事件驱动的模块设计,将使程序设计变得轻松快捷。

2.3 WinForm

使用Windows窗体可以开发智能客户端,“智能客户端”是易于部署和更新的图像丰富的应用程序,无论是否连接到Internet都可以工作,并且可以比用传统的基于Windows的应用程序更安全的方式访问本地计算机上的资源。

3 系统功能介绍

随机点名系统是基于c#应用程序开发,用户可以通过主页面的选择项,完成系统初始化、学生姓名的增加、删除、存储学生信息和调取学生信息等功能。随机点名系统主页面如图1所示。

随机点名系统界面左侧可以查看、编辑学生姓名根据功能划分为初始化、增、删、存、取等功能:

1)初始化:主要用于清空“所有人员的名单”,即清空随机点名系统中的学生姓名;

2)增:主要用于逐个增加上方的文本框中学生姓名;

3)删:主要用于逐个删除人员名单中某个学生姓名;

4)存:主要用于将“所有人员名单”中的学生姓名存储到一个文本文档中;

5)取:主要用于从外界文本文档中的学生姓名批量添加到随机点名系统中来,如图2所示。

界面右侧主要设置点名倒计时、点名界面字体大小和字体颜色:

1)倒计时:主要用户开始点名的倒计时,单位为秒;

2)字体:主要用于设置点名结果的字体大小;

3)颜色:主要用于设置点名结果的字体颜色。如图3所示。

4 系统代码实现

该源码主要实现了读取txt文件显示到listbox控件上,也可以动态在listbox控件上添加、删除、修改名字,然后通过定时器控制,进行随机点名。

1)从txt文档中读取学生名单代码

private void getbtn_Click(object sender, EventArgs e)

{

string lj=null; //定义路径

string nr = null;//定义内容

DialogResultdr = openFileDialog1.ShowDialog();

openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";

if (dr == DialogResult.OK)

{

lj = openFileDialog1.FileName;//取路径

if (Path.GetExtension(lj).Equals(".txt")) //打开的文件为txt

{

FileStream fs = new FileStream(lj, FileMode.Open);//打开目标文件

StreamReadersr = new StreamReader(fs);//关联,读取文件内容

nr = sr.ReadToEnd();//取内容

sr.Close();

fs.Close();//关闭流

string[] str = nr.Split('\n','\r'); //处理内容,分割内容,得到名字

foreach (string k in str)

{listBox1.Items.Add(k); //写入listbox}}

else MessageBox.Show("請选择文本文件"); } }

2)存储学生名单代码

int time = 0;

private void savebtn_Click(object sender, EventArgs e)

{stringslj=null;

DialogResultdr = folderBrowserDialog1.ShowDialog();

if (dr == DialogResult.OK)

{

slj = folderBrowserDialog1.SelectedPath;

slj += "\\"+"存储名单" + time.ToString() + ".txt";

if (savename != null)

{

savename = savename.Replace("谁会被点到呢?", "");

File.WriteAllText(slj, savename);

MessageBox.Show("存储成功");}

else

MessageBox.Show("名单为空");

time++; } }

5 小结

本系统专为高校一线教师开发,教师可以直接在教室里使用,该系统可以方便地实现学生课堂点名、登记、修改的操作,既可以方便老师,也可以有效地提高学生的考勤率,保证了学校教学工作的顺利运行。

参考文献:

[1] 黄彬. 大学生逃课的社会成因及矫治[J].哈尔滨:哈尔滨学院学报, 2011(5).

[2] 王海鸥, 徐刚. 高校课堂点名制度研究[J].北京:考试周刊,2012(8).

[3] 张捷, 朱晓姝, 李露璐. 一个新的课堂教学工具——智能考勤及提问点名系统的设计与实现[N].贵州: 玉林师范学报,2014.

[4] 王立丰, 刘义. 跟我学C#(短时间内掌握C#编程开发技术,快速提高编程水平)[M]. 北京:中国铁道出版社,2010.

[5] 王赛兰. 计算机图形用户界面设计与应用[M]. 北京: 北京大学出版社,2014.