《最新在线答题模块幻灯片.ppt》由会员分享,可在线阅读,更多相关《最新在线答题模块幻灯片.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑五成群,聚在大树下,或站着
2、,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到“强子,别跑强子,别跑了,快来我给你扇扇了,快来我给你扇扇”。孩子们才不听这一套,跑个没完,直到累气喘吁吁,。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,“你你看热的,跑什么?看热的,跑什么?”此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在我国
3、已有三千年多年的历史。取材的味道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过
4、了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅道,袅2 问题描述MySchool 考试管理系统在线答题模块:考试管理系统在线答题模块: 1、学员登录学员登录 2、选题选题 3、答题答题 4、查看答题卡查看答题卡 5、自动阅卷评分自动阅卷评分要求完成在线答题模块相关界面设计及功能实现要求完成在线答题模块相关界面设计及功能实现9难点分析-1随机抽取试题:Random random = new Random();int questionIndex = 0; / 随机产生的问题的索引值随机产生的问题的索
5、引值int i = 0; while (i QuizHelper.questionNum) questionIndex = random.Next(QuizHelper.allQuestionsIds.Length); / 如果没有被选中过,可以选择如果没有被选中过,可以选择 if (QuizHelper.selectedStatesquestionIndex = false) / 随机数对象随机数对象生成小于指定最大值的非负随机数生成小于指定最大值的非负随机数10难点分析-2每次显示一道题目:n答题窗体增加 questionIndex 字段,记录当前显示的题目的索引值n根据selectedQ
6、uestionIds ,利用 DataReader 读取题目信息11难点分析-3倒计时的时钟显示:QuizHelper.remainSecond- -; minute = QuizHelper.remainSecond / 60;second = QuizHelper.remainSecond % 60;/ 控制显示格式控制显示格式lblTimer.Text = string.Format(0:00:1:00, minute, second); 控制显示两位数字控制显示两位数字12难点分析-4答题卡显示答案:n用20个标签显示答案n将题目的索引写在标签的 Tag 中private void A
7、nswerCardForm_Load(object sender, EventArgs e) int index = 0; foreach (Control item in this.Controls) if (item is Label) / 如果是标签如果是标签 index = Convert.ToInt32(item.Tag); item.Text = QuizHelper.studentAnswersindex; / 循环每一个控件循环每一个控件判断控件是不是标签判断控件是不是标签13难点分析-5从答题卡返回修改答案:n用20个按钮显示题号n将题目的索引写在 Tag 中n20个按钮共用
8、一个 Click 事件处理方法private void btnQuestion_Click(object sender, EventArgs e) / 获得当前点击的按钮对应的题目索引获得当前点击的按钮对应的题目索引 int questionIndex = Convert.ToInt32( ( (Button)sender ).Tag); / 自定义方法,打开答题窗体自定义方法,打开答题窗体 ShowAnswerQuestionForm(questionIndex); 14难点分析-6颜色条表示分数:/ 计算得分计算得分int score = correctNum * 100 / QuizHe
9、lper.questionNum;lblMark.Text = score.ToString()+分分;/ 确定显示分数的确定显示分数的label的宽度的宽度lblStudentScoreStrip.Width = lblFullMarkStrip.Width * score / 100; / 根据不同的得分,显示不同的颜色根据不同的得分,显示不同的颜色if (score 60) lblStudentScoreStrip.BackColor = Color.Red; lblComment.Text = 该好好复习啦该好好复习啦!; / 15阶段划分第一阶段(20分钟)n设计学员主窗体,实现学员
10、登录功能第二阶段(30分钟)n设计选题窗体,实现部分辅助功能第三阶段(80分钟)n实现随机抽题功能第四阶段(80分钟)n设计答题窗体,实现答题功能第五阶段(60分钟)n设计答题卡窗体,实现答案显示和返回修改答案功能第六阶段(30分钟)n设计答题结果显示窗体,实现判题功能16第一阶段第一阶段(20分钟) 设计学员主窗体,实现学员登录功能要求学员自己动手操作,教员巡视,解答学员提出的问题17阶段检查针对第一阶段抽查学员的操作结果教员给出点评或集中演示难点部分18第一阶段结果演示第一阶段设计的学员主窗体:19第二阶段第二阶段(30分钟) 设计选题窗体,实现部分辅助功能要求学员自己动手设计选题窗体,实
11、现科目组合框、退出答题的功能教员巡视,解答学员提出的问题20阶段检查针对第二阶段抽查学员的编码结果教员给出点评或集中演示难点部分21第二阶段结果演示选题窗体:22第二阶段标准代码演示添加科目名称到科目组合框中:string sql = SELECT SubjectName FROM Subject;try SqlCommand command = new SqlCommand(sql, DBHelper.connection); DBHelper.connection.Open(); / 执行查询执行查询 SqlDataReader dataReader = command.ExecuteRe
12、ader(); / 循环添加到组合框中循环添加到组合框中 while (dataReader.Read() cboSubjects.Items.Add(dataReaderSubjectName.ToString(); dataReader.Close();/ 23第三阶段第三阶段(80分钟) 实现随机抽题功能要求学员自己动手操作,教员巡视,解答学员提出的问题24阶段检查针对第三阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果教员给出点评25第三阶段标准代码演示随机抽题: 自定义 SetSelectedQuestionIds() 方法Random random =
13、 new Random();int questionIndex = 0; / 随机产生的问题的索引值随机产生的问题的索引值/ 抽取每一道题并保存抽出的题目的抽取每一道题并保存抽出的题目的Idint i = 0; / 记录抽取了几道题记录抽取了几道题while (i 0) QuizHelper.remainSeconds- -; minute = QuizHelper.remainSeconds / 60; second = QuizHelper.remainSeconds % 60; / 以以 “分分:秒秒” 的形式显示时间的形式显示时间 lblTimer.Text = string.Form
14、at(0:00:1:00, minute, second); else / 提示时间到,转到结果显示界面提示时间到,转到结果显示界面 33第五阶段第五阶段(60分钟) 1、设计答题卡窗体 2、实现答案显示和返回修改答案功能要求学员自己动手操作,教员巡视,解答学员提出的问题34阶段检查针对第五阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果教员给出点评35第五阶段窗体效果演示答题卡窗体:36第五阶段标准代码演示-1窗体加载时,显示答案:/ 窗体的窗体的 Load 事件事件private void AnswerCardForm_Load(object sender,
15、EventArgs e) int index = 0; foreach (Control item in this.Controls) if (item is Label ) / 如果是标签如果是标签 index = Convert.ToInt32(item.Tag); if (index != -1) item.Text = QuizHelper.studentAnswersindex; tmrCostTime.Start(); / 启动倒计时的计时器启动倒计时的计时器37第五阶段标准代码演示-2点击题号,返回修改答案n20个题号按钮共用一个 Click 事件处理方法private void
16、 btnQuestion_Click(object sender, EventArgs e) / 获得当前点击的按钮对应的题目索引获得当前点击的按钮对应的题目索引 int questionIndex = Convert.ToInt32(Button)sender).Tag); / 打开答题窗体打开答题窗体 AnswerQuestionForm answerQuestionForm = new AnswerQuestionForm(); / 设置答题窗体显示的题目索引设置答题窗体显示的题目索引 answerQuestionForm.questionIndex = questionId; answ
17、erQuestionForm.MdiParent = this.MdiParent; answerQuestionForm.Show(); this.Close(); 38第六阶段第六阶段(30分钟) 设计答题结果显示窗体,实现判题功能要求学员自己动手操作,教员巡视,解答学员提出的问题39阶段检查针对第六阶段抽查学员的编码结果抽查学员编写的完整代码,要求学员上台讲解,并演示运行结果教员给出点评40第六阶段窗体效果演示结果显示窗体:41第六阶段标准代码演示-1显示分数:private void QuizResultForm_Load(object sender, EventArgs e) int
18、 correctNum = 0; / 答对的题目数量答对的题目数量 for (int i = 0; i QuizHelper.questionNum; i+) if (QuizHelper.studentAnswersi = QuizHelper.correctAnswersi) correctNum+; / 计算得分计算得分 int score = correctNum * 100 / QuizHelper.questionNum; lblMark.Text = score.ToString()+分分; / 确定分数条和评语确定分数条和评语 / 42第六阶段标准代码演示-2显示分数:priv
19、ate void QuizResultForm_Load(object sender, EventArgs e) / 计算分数计算分数 . / 确定显示分数的确定显示分数的label的宽度的宽度 lblStudentScoreStrip.Width = lblFullMarkStrip.Width * score / 100; / 根据不同的得分,显示不同的颜色根据不同的得分,显示不同的颜色 if (score = 60 & score 85) / / 43总结w巩固的知识点:n条件判断语句:if、嵌套 if、switchn循环结构:while、for、foreachn一维数组:整型、布尔型、字符串型n自定义方法:抽取试题、获取标准答案等n常用的 WinForms 控件:Label、TextBox、ComboBox、RadioButton、Button、PictureBox、ImageList、Timern静态字段实现窗体间的数据传递: QuizHelper、DBHelper、UserHelpernADO.NET 操作数据库:Connection、Command、DataReader44Thank you45 结束语结束语
限制150内