网站地图
范文同学网


自动化 模具 机械 电子 通信 动画 英语范文 工程管理 金融范文 旅游管理 工业工程 生物工程 给排水范文 西门子PLC 历史学 三菱PLC
单片机 财务 会计 法律 行政 物理 物流范文 电子商务 制药工程 包装工程 土木工程 材料科学 汉语言范文 欧姆龙PLC 电压表 松下PLC
计算机 化工 数电 工商 食品 德语 国贸范文 人力资源 教育管理 交通工程 市场营销 印刷工程 机电一体化 数控范文 变电站 文化产业

  • 网站首页|
  • 文档范文|
  • 人工降重|
  • 职称文章发表|
  • 合作期刊|
  • 范文下载|
  • 计算机范文|
  • 外文翻译|
  • 免费范文|
  • 原创范文|
  • 开题报告

联系方式

当前位置:范文同学网 -> 免费范文 -> 计算机范文 -> 课堂点名软件(四)
计算机文章范文| ASP设计| Delphi| VB设计| JSP设计| ASP.NET| VB.NET| java设计| VC| pb| VS| dreamweaver| c#.net| vf| VC++| 计算机文档范文| 范文下载| 自动化范文
·电气自动化原创文章范文 ·学前教育专业原创文章范文 ·国际经济贸易原创文章范文 ·药学专业原创文章范文 ·英语专业原创文章范文 ·公共事业管理原创文章范文
·金融专业原创文章范文 ·广播电视编导原创文章范文 ·电子商务专业原创文章范文 ·法律专业原创文章范文 ·工商管理原创文章范文 ·汉语言文学原创文章范文
·人力资源管理原创文章范文 ·摄影专业原创文章范文 ·心理学专业原创文章范文 ·教育管理原创文章范文 ·市场营销原创文章范文 ·计算机专业原创文章范文
·物流管理专业原创文章范文 ·小学教育专业原创文章范文 ·行政管理专业原创文章范文 ·土木工程管理原创文章范文 ·财务会计专业原创文章范文 ·信息管理信息系统原创范文
·新闻学专业原创文章范文 ·眼视光技术原创文章范文 ·播音与主持原创文章范文 ·广告学专业原创文章范文 ·表演专业原创文章范文 ·动画专业原创文章范文
·视觉传达设计原创文章范文 ·数控技术专业原创文章范文 ·录音艺术原创文章范文 ·光机电应用技术原创范文 ·机电一体化原创文章范文 ·印刷技术专业原创文章范文
·动漫设计与制作原创范文 ·软件技术专业原创文章范文 ·书法学专业原创文章范文 ·应用电子技术原创文章范文 ·电子信息工程技术原创范文 ·机械专业原创文章范文
·酒店管理专业原创文章范文 ·旅游管理专业原创文章范文 ·文化产业管理专业原创范文 ·体育教育专业原创文章范文 ·通信工程专业原创文章范文 ·护理专业原创文章范文

原创文档范文 → 计算机专业原创文档范文 软件技术专业原创文档范文  现成文档范文 → 计算机文档范文

课堂点名软件(四)

本文ID:LW7349 ¥
c.SetVolume(Convert.ToUInt16(trackBar1.Value)); svc.SetRate(2); svc.Voice = svc.GetVoices(string.Empty, string.Empty).Item(3); } catch { MessageBox.Show("语音库不存在,请安装Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack! "); checkBox1.Checked = false; } private void Voic..
c.SetVolume(Convert.ToUInt16(trackBar1.Value));
                            svc.SetRate(2);
                            svc.Voice = svc.GetVoices(string.Empty, string.Empty).Item(3);
                        }
                        catch
                        {
                            MessageBox.Show("语音库不存在,请安装Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack! ");
                            checkBox1.Checked = false;
                        }

private void Voice()//
        {
            svc.Speak(name.Text.Trim(), svsf);
            mythread.Abort();
        }
//用于语音的朗读
mythread = new Thread(Voice);
                        mythread.Start();


“缺席”按键主要程序
“缺席”按键主要程序和“开始”类似(略)。只是BindToView(0, i, int.Parse(time.Text) + 2)函数输入为0。
2.1 操作流程

(注:如没有安装Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack的计算机则会提示:“语音库不存在,请安装Microsoft Speech SDK 5.1和Microsoft Speech SDK 5.1 Language Pack!” )
3.2.2 部分抽点模块
1.1设计方法
  本功能模块主要实现按总人数比例生成随机抽点名单和更具历史出勤情况生成抽点名单,然后根据生成的抽点名单进行无声或语音点名。并向数据库记录下点名记录。主要工作流程见下图:

1.2界面设计
   点击tabControl1上的部分点名选项卡,这时出现一个空白界面。然后向此界面上分别添加八个button按钮、一个checkBox、trackBar、两个comboBox、两个dataGridView和六个Label。再给上述控件设定相应的参数,具体参数见下表:
类型 Name Text
button openfile_1 打开
button back_1 上一个
Button next_1 下一个
Button appeare_1 开始
Button absent_1 缺勤
Button random 随机抽点
Button duty 出勤抽点
button re_1 重读
checkBox checkBox2 随机抽点
trackBar trackBar2 
comboBox percent 
comboBox time_1 
dataGridView dataGridView2 
dataGridView dataGridView3 
Label tato1 
Label name_1 
Label Label3 次
Label Label4 第
Label Label5 抽点比例
Label Label7 抽点名单:
Label Label9 (注:1表示已到,0表示缺席。)
(注:向time_1的Itmes属性装入30个点名次数。例如:1,2,3...。
向percent的Itmes属性装入百分比。例如:10%、20%、30%、40%、50%、60%、70%、80%再对trackBar2的maximum和minmum赋值分别为100和0。)
这样部分抽点功能模块的界面就设计好了,如图所示:


1.3主要程序说明
1 基本函数
//创建到excel数据库的连接(同上,略)
//返回DataAdapter(同上,略)
//将数据装入到DataSet里面(同上,略)
//声明一个类,确定更改字段名。用于对数据的的修改添加。(同上,略)
//用于修改数据库内的数据(同上,略)
//显示文件到DataGridView2
显示文件到DataGridView3
public void dt_1(DataGridView Dgv,int[] ax)//创建数据表格用于装和显示生成的名单
      {
                    DataTable dt1 = new  DataTable();
                    DataColumn dc1 = new DataColumn("姓 名", Type.GetType("System.String"));
                    DataColumn dc2 = new DataColumn(time_1.Text, Type.GetType("System.String"));
                    dt1.Columns.Add(dc1);
                    dt1.Columns.Add(dc2);
                    for (int ij = 0; ij < (int)nummen; ij++)
                    {
                        //ij = Num(arrNum, ij);
                        if (ij < (int)nummen)
                        {
                            DataRow dr = dt1.NewRow();
                            dr["姓 名"] = reutrnDs().Tables[0].Rows[ax[ij]][1];
                            dr[time_1.Text] = reutrnDs().Tables[0].Rows[ax[ij]][int.Parse(time_1.Text)+2];
                            dt1.Rows.Add(dr);
                        }
                    }
                    Dgv.DataSource = dt1;
      }
3.2.2.1 随机抽点子模块
在随机抽点子模块要做到的功能是从原始点名名单里随机的抽出一部分人来生成一个随机点名名单,然后对其进行点名。
随机抽点子模块主要利用一个随机函数来对DataSet数据集里面的学生所在行进行随机抽点。在DataSet数据集里面的数据是以二维表方式存放的,在这个二维表里面每一行代表一个学生及其出勤记录。而行号就是确定学生姓名的关键字了。我的做法是首先得到总行数row,确定抽点人数比例用这个比例去乘以row得出抽点人数nummen,然后再从0-row中随即抽取nummen个不相同的数字存放在数组arrNum中。这样就确定了抽点名单了,再将名单显是在dataGridView3里。点名时就只对arrNum数组里相对应行号的学生点名。
具体流程示意图:

主要相应函数:

        //产生随机数并装入数组arrNum
        int[] arrNum;
        public int[] getRandomNum(int num, int minValue, int maxValue)
        {

            Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
            arrNum = new int[num];
            for (int i = 0; i <= num - 1; i++)
            {
                arrNum[i] = 1234567;
            }
           
            int tmp = 0;
            for (int i = 0; i <= num -1; i++)
            {
                tmp = ra.Next(minValue, maxValue); //随机取数
                arrNum[i] = getNum(arrNum, tmp, minValue, maxValue, ra); //防止取到重复的数字,并值赋到数组中
            }
            return arrNum;
        }

//判断是否有重复随机数
        public int getNum(int[] arrNum, int tmp, int minValue, int maxValue, Random ra)
        {
            int n = 0;
            while (n <= arrNum.Length - 1)
            {
                if (arrNum[n] == tmp) //利用循环判断是否有重复
                {
                    tmp = ra.Next(minValue, maxValue); //重新随机获取。
                    tmp = getNum(arrNum, tmp, minValue, maxValue, ra);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。
                }
                n++;
            }
            return tmp;
        }

3.2.2.2 出勤抽点子模块
  出勤抽点子模块要做到的功能主要是根据学生每个人的历史出勤情况有针对性的按比例生成点名名单。也就是缺勤次数越多的学生被加入这个点名名单的几率越大。
出勤抽点子模块主要是利用两个数组和一个随机函数做到的。首先,获取DataSet内的点名名单的行数row,然后根据选取的抽点人数百分比得出抽点人数nummen。将0-row行学生的行号装入数组aa。之后对整个DataSet数据集里装的每个学生的出勤情况进行遍历,如有缺勤记录则向aa数组继续装入一次相应的行号(即同一个人出现几次缺勤就装几次他的行号进去增加被抽中的几率)。在遍历数据的同时记下所有人总的缺勤次数z。然后利用getRandomNum函数从0-row+z中随机取出nummen个不相同的数字存入arrNum。现在就可以根据arrNum内存的数据确定aa的相应行号,通过aa又可以确定DataSet数据集里面装得学生名单的行号了。实际上arrNum数组里面装得就是生成的出勤名单了。
流程示意图:


主要相应函数:
               将将0-row行学生的行号和缺勤记录的行号装入数组aa。
z = row;
                        if (z <= 30)
                            t = 1;
                        if (30 < z && z <= 80)
                            t = 2;
                        if (80 < z && z <= 160)
                            t = 3;
                        if (160 < z)
                            t = 4;
                        aa = new int[row * row * t];
                        //原有行装入数组

                        for (a = 0; a < row; a++)
                            aa[a] = a;
                        //增加行装入数组
                        int dc = 0;
                        string dd = dc.ToString();

                        for (c = 0; c < row; c++)
                            for (a = 3; a < column; a++)
                            {
                                if (dd == reutrnDs().Tables[0].Rows[c][a].ToString())
                                {
                                    for (int k = 0; k < t; k++)
                                        aa[z] = c; z++;
                                }
                            }

出勤随机函数
 Int wz;
public int[] getRandomNum(int num, int minValue, int maxValue)
        {
            wz=0;
            Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
            arrNum = new int[num];
            for (int i = 0; i <= num - 1; i++)
            {
                arrNum[i] = 1234567;
            }
            int tmp = 0;
            for (int i = 0; i <= num -1; i++)
            {
                tmp = ra.Next(minValue, maxValue); //随机取数
                arrNum[i] = getNum(arrNum, tmp, minValue, maxValue, ra); //取出值赋到数组中
                wz++;
            }
            return arrNum;
        }

//判断是否有重复随机数
        public int getNum(int[] arrNum, int tmp, int minValue, int maxValue, Random ra)
        {
            int n = 0;
            while (n <wz)
                {

                    if (arrNum[n] == tmp||aa[arrNum[n]]==aa[tmp]) //利用循环判断是否有重复
                    {
                       tmp = ra.Next(minValue, maxValue); //重新随机获取。
                       tmp= getNum(arrNum, tmp, minValue, maxValue, ra);//递归:如果取出来的数字和已取得的数字有重复就重新随机获取。
                    }
                    n++;
                }
            return tmp;
        }
2.1 操作流程


3.2.3 课堂答题抽点模块
1.1 设计方法
   由于大学课堂人数众多,任课教师记不得很多学生的姓名。提供此功能主要免去了教师反复抽点某些认识的学生,使每个学生都有被抽到的机会。本功能模块主要实现课堂教学过程中任课教师进行的答题抽点功能,同时还提供小型浮动窗口置顶显示的功能方便教学时在PowerPoint、Word和其他一些演示功能的界面上进行抽点,这样就不会影响教学。
主要工作流程见下图:

 

1.2 界面设计
    点击tabControl1上的答题点名选项卡,这时出现一个空白界面。在界面上添加一个button按钮和一个Label。再给上述控件设定相应的参数,具体参数见下表:
类型 Name Text
Label Label8 进入课堂答题点名系统!
button Button1 进   入
这样答题点名功能模块的部分界面就设计好了,如图所示:


     现在开始设计答题点名窗体首先在课堂点名解决方案中添加一个窗体命名为que。然后向窗体上添加五个button、一个checkBox和三个label。再给上述控件设定相应的参数,具体参数见下表:
类型 Name Text
button openfile_3 选择名单
button Random_1 点名
button Button1 关闭
button Button2 显示置顶
button Button3 重读
checkBox checkBox1 语音
label Label1 请
label Label2 答题!
label Label3 
这样答题点名功能模块的界面就设计好了,如图所示:

1.3主要程序说明
主窗体main部分:
   本段代码主要用来进入子船体que
   答题点名下的进入que界面的的button按键的事件
private void button1_Click(object sender, EventArgs e)
        {  
this.Hide();
            qus qus = new qus();
            qus.ShowDialog();
            this.Close();
        }

子窗体que部分:
 本窗体主要用来进行答题点名功能。
首先选择点名名单利用open();函数
public void open()
        {
            ds.Clear();
            this.openFileDialog1.ShowDialog();
            string MyFileName = this.openFileDialog1.FileName;
            address = MyFileName.Trim();

            string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + address + ";Extended Properties=Excel 8.0";
            System.Data.OleDb.OleDbConnection conn = new OleDbConnection(strConn);
            string strCmdText = "select * from [Sheet1$]";
            OleDbDataAdapter od = new OleDbDataAdapter(strCmdText, conn);
 

首页 上一页 1 2 3 4 下一页 尾页 4/4/4

课堂点名软件(四)相关范文
上一篇:网吧的组建与维护 下一篇:贸易公司信息管理系统+VB
点击查看关于 课堂 点名 软件 的相关范文题目 【返回顶部】
精彩推荐
电气工程自动化原创范文  电子商务原创文章范文
人力资源专业原创文章范文 土木工程原创文章范文
工商管理专业原创范文    药学专业原创范文
汉语言文学专业原创范文  会计专业原创文章范文
计算机技术原创文章范文  金融学原创文章范文
法学专业原创文章范文   市场营销专业原创范文
信息管理专业原创文章范文 学前教育专业原创范文
公共事业管理专业原创范文 英语专业原创范文
教育管理专业原创范文   行政管理专业原创范文
热门范文

关于我们 | 联系方式 | 范文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士文章范文


范文同学网提供文档范文,原创文章范文,网站永久域名www.lunwentongxue.com ,lunwentongxue-范文同学网拼音首字母组合

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2024 范文同学网 版权所有