版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验题目: 在线考试系统 学 院:计算机科学学院专 业:网络工程班 级:网络01班小 组 成 员: 2021年 6 月 26日目录一、实验名称4二、实验目的4三、实验的运行环境4四、实验整体功能介绍41.考试功能41主要题型42组卷方式5人工选题:5随机抽题:5手工输入:53考试安排5考试安排的流程为:54评卷工作5对于手工选题组成的卷子:5对于随机抽题组成的卷子:5对于手工输入组成的卷子:65成绩管理62.后台管理功能61系统管理62题型管理63试卷管理64考试管理65账号管理63.表说明6五、程序运行结果7登录界面7系统菜单考试安排9系统菜单考试记录10系统菜单考试成绩11系统菜单修改密码
2、12在线考试系统后台管理在线考试系统介绍13在线考试系统后台管理部门管理14在线考试系统后台管理人员管理15题型管理填空题管理16题型管理判断题管理17题型管理单项选择题管理18题型管理多项选择题管理19题型管理简答题管理20试卷管理手工选题21试卷管理随机抽题22试卷管理手工输入23考试管理考试安排24考试管理评卷管理25考试管理成绩管理26账号管理修改密码27新用户注册28六、实验源代码由于源码数量过多所以这里只能列举出局部28七、实验心得39一、实验名称在线考试系统二、实验目的 三、实验的运行环境 操作系统 系统运行环境:visual studio 2021 sql server 202
3、1 .四、实验整体功能介绍1主要题型填空题、判断题、单项选择题、多项选择题、简答题。2组卷方式 人工选题:通过选择各种题型的题库组成卷子,最多可以由5种题型组成填空题、判断题、单项选择题、多项选择题、简答题;随机抽题:通过设置各类题型的题库数量,由系统随机抽取试题组成卷子,最多可以由3种题型组成判断题、单项选择题、多项选择题;手工输入:通过手工输入试题内容的文本,可以事先用word把考题设计好,然后粘贴到编辑框中。3考试安排考试安排的流程为:选择试卷分类->选择试卷->分配分数->选择考试人员->设置考试参数->提交4评卷工作对于手工选题组成的卷子:判断题、单项选
4、择题和多项选择题由系统自动评分,其他由人工评分;对于随机抽题组成的卷子:完全由系统自动评分,也就是考生一提交试卷,成绩立马出来;对于手工输入组成的卷子:由人工评分。5成绩管理包含成绩查询、成绩统计。2.后台管理功能1系统管理 系统介绍 部门管理 人员管理2题型管理填空题 判断题 单项选择题 多项选择题 简答题3试卷管理 手工选题 随机抽题 手工输入4考试管理考试安排 评卷管理 成绩管理5账号管理 修改密码 参加考试 退出表说明:T_Department:部门表T_Paper:手工输入试卷 其中的paperType表示试卷所属部门T_Test:考试安排 其中的paperType:1:人工选题,2
5、:随机抽题,3:手工输入T_TestMark:考试成绩T_TestRecorder:考试记录T_User:用户表T_SubjectOfFillBlank:填空题题库T_SubjectOfJudge:判断题题库T_SubjectOfSingleSelection:单项选择题题库T_SubjectOfMultiSelection:多项选择题题库T_SubjectOfSimpleAnswer:简答题题库T_PaperByRandomSelection:随机抽题试卷T_PaperByManualSelection:人工选题试卷T_PaperByManualSelection_Subject:人工选题试
6、卷的试题集其中的subjectType:1:填空题,2:判断题,3:单项选择题,4:多项选择题,5:简答题T_PaperByRandomSelection_Subject:随机抽题试卷的试题集其中的subjectType:1:填空题,2:判断题,3:单项选择题,4:多项选择题,5:简答题五、程序运行结果登录界面系统菜单考试安排系统菜单考试记录系统菜单考试成绩系统菜单修改密码在线考试系统后台管理在线考试系统介绍在线考试系统后台管理部门管理在线考试系统后台管理人员管理题型管理填空题管理题型管理判断题管理题型管理单项选择题管理题型管理多项选择题管理题型管理简答题管理试卷管理手工选题试卷管理随机抽题试
7、卷管理手工输入考试管理考试安排考试管理评卷管理考试管理成绩管理账号管理修改密码新用户注册六、实验源代码由于源码数量过多所以这里只能列举出局部管理登录:using System;using System.Collections;using System.Configuration;using System.Data;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.W
8、eb.UI.WebControls.WebParts;using System.Collections.Generic;using Entity;using BLL; protected void Page_Load(object sender, EventArgs e)/页面加载 RoleCheck.DenyLogin();/拒绝非管理员用户的登陆,拒绝后跳转到登陆页面 if (!IsPostBack) BindPaperInfo(); private int paperID/私有paperID get return Helper.GetUrlParmValue("paperID&
9、quot;); /获取paperID private int testID/私有testID get return Helper.GetUrlParmValue("testID"); /获取testID private int recorderID/私有recorderID get return Helper.GetUrlParmValue("recorderID"); /获取recorderID private void BindPaperInfo()/人工评卷页面 PaperByManualSelection paper = new BLLPaper
10、ByManuaSelection().GetPaper(testID,paperID,recorderID);/得到所需要的页面 if (paper != null) int totalScoresForTester = 0;/计算分数 rptSu= paper.FillBlankList; rptSubjectOfFillBlankList.DataBind(); = paper.FillBlankList.Count.ToString(); if (paper.FillBlankList.Count > 0)/填空题页面框 lblFillBlankScores.Text= paper
11、.FillBlankList0.Scores.ToString(); = (paper.FillBlankList0.Scores* paper.FillBlankList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfFillBlank subject in paper.FillBlankList)/与参考答案匹配,并计算相应分数 totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+
12、= subject.ScoresForTester; lblFil= totalScoresForTesterOfSubject.ToString(); rptSubjectOfJudgeList.DataSource = paper.JudgeList; rptSubjectOfJudgeList.DataBind(); lblJudgeListCount.Text = paper.JudgeList.Count.ToString(); if (paper.JudgeList.Count > 0)/判断题页面框 = paper.JudgeList0.Scores.ToString();
13、 lblJudgeTotalScores.Text = (paper.JudgeList0.Scores * paper.JudgeList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfJudge subject in paper.JudgeList)/与参考答案匹配,并计算相应分数 totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTeste
14、r; lb= totalScoresForTesterOfSubject.ToString(); rptSubjectO= paper.SingleSelectionList; rptSubjectOfSingleSelectionList.DataBind(); = paper.SingleSelectionList.Count.ToString(); if (paper.SingleSelectionList.Count > 0)/单项选择题页面框 = paper.SingleSelectionList0.Scores.ToString(); lbl= (paper.SingleSe
15、lectionList0.Scores* paper.SingleSelectionList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfSingleSelection subject in paper.SingleSelectionList)/与参考答案匹配,并计算相应分数 totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; l
16、blSingleSel= totalScoresForTesterOfSubject.ToString(); rptSubject= paper.MultiSelectionList; rptSubjectOfMultiSelectionList.DataBind(); = paper.MultiSelectionList.Count.ToString(); if (paper.MultiSelectionList.Count > 0)/多项选择题页面框 = paper.MultiSelectionList0.Scores.ToString(); lb= (paper.MultiSele
17、ctionList0.Scores* paper.MultiSelectionList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfMultiSelection subject in paper.MultiSelectionList)/与参考答案匹配,并计算相应分数 totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblMul
18、tiSel= totalScoresForTesterOfSubject.ToString(); rptSubjectOfSimpleAnswerList.DataSource= paper.SimpleAnswerList; rptSubjectOfSimpleAnswerList.DataBind(); = paper.SimpleAnswerList.Count.ToString(); if (paper.SimpleAnswerList.Count > 0)/简答题页面框 int totalScores = 0; foreach (SubjectOfSimpleAnswer su
19、bject in paper.SimpleAnswerList)/与参考答案匹配,并计算相应分数 totalScores += subject.Scores; xt= totalScores.ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfSimpleAnswer subject in paper.SimpleAnswerList) totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subjec
20、t.ScoresForTester; lblSimple= totalScoresForTesterOfSubject.ToString(); = (Convert.ToInt32(lblFillBlankTotalScores.Text)/显示各个不同测试题的页面框 + Convert.ToInt32(lblJudgeTotalScores.Text) + Convert.ToInt32(lblSingleSelectionTotalScores.Text) + Convert.ToInt32(lblMultiSelectionTotalScores.Text) +Convert.ToInt
21、32(lblSimpleAnswerTotalScores.Text).ToString(); = totalScoresForTester.ToString(); protected void btnSave_Click(object sender, EventArgs e)/提交 TestMark mark = new TestMark(); mark.TestRecorder.RecorderID = recorderID; mark.TotalScore =Convert.ToUInt16(txtTotalScoresForTester.Text); mark.Marker = Ses
22、sionClass.GetLoginUser(); mark.MarkedTime = DateTime.Now; mark.Remark = txtRemark.Text; new BLLTestMark().CreateTestMark(mark, list1, list2, list3, list4, list5);/显示每个局部的分数 Response.Redirect("testerList.aspx?testID="+testID);/跳转到测试选项界面 管理员评卷:using System;using System.Collections;using Syst
23、em.Configuration;using System.Data;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Collections.Generic;using Entity;using BLL; protected void Page_Load(object sender,
24、 EventArgs e)/页面加载 RoleCheck.DenyLogin();/拒绝非管理员用户的登陆,拒绝后跳转到登陆页面 if (!IsPostBack) BindPaperInfo(); private int paperID/私有paperID get return Helper.GetUrlParmValue("paperID"); /获取paperID private int testID/私有testID get return Helper.GetUrlParmValue("testID"); /获取testID private int
25、 recorderID/私有recorderID get return Helper.GetUrlParmValue("recorderID"); /获取recorderID private void BindPaperInfo()/自动评卷页面 if (paperID < 0) return; PaperByRandomSelection paper = new BLLPaperByRandomSelection().GetPaper3(testID, recorderID);/得到所需要的页面 if (paper != null) int totalScoresF
26、orTester = 0;/计算分数 rptSubjectOfJudgeList.DataSource = paper.JudgeList; rptSubjectOfJudgeList.DataBind(); lblJudgeListCount.Text = paper.JudgeList.Count.ToString(); if (paper.JudgeList.Count > 0)/判断题页面框 = paper.JudgeList0.Scores.ToString(); lblJudgeTotalScores.Text = (paper.JudgeList0.Scores * pap
27、er.JudgeList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfJudge subject in paper.JudgeList)/与参考答案匹配,并计算相应分数 totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lb= totalScoresForTesterOfSubject.ToString(); rptSubjec
28、tO= paper.SingleSelectionList; rptSubjectOfSingleSelectionList.DataBind(); lblSingleS= paper.SingleSelectionList.Count.ToString(); if (paper.SingleSelectionList.Count > 0)/单项选择题页面框 = paper.SingleSelectionList0.Scores.ToString(); lblS= (paper.SingleSelectionList0.Scores* paper.SingleSelectionList.
29、Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfSingleSelection subject in paper.SingleSelectionList)/与参考答案匹配,并计算相应分数 totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblSingleSel= totalScoresForTesterOfSubject.ToSt
30、ring(); rptSubject= paper.MultiSelectionList; rptSubjectOfMultiSelectionList.DataBind(); = paper.MultiSelectionList.Count.ToString(); if (paper.MultiSelectionList.Count > 0)/多项选择题页面框 = paper.MultiSelectionList0.Scores.ToString(); lb= (paper.MultiSelectionList0.Scores* paper.MultiSelectionList.Cou
31、nt).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfMultiSelection subject in paper.MultiSelectionList)/与参考答案匹配,并计算相应分数 totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblMultiSel= totalScoresForTesterOfSubject.ToString()
32、; = (Convert.ToInt32(lblJudgeTotalScores.Text)/显示各个不同测试题的页面框 + Convert.ToInt32(lblSingleSelectionTotalScores.Text) + Convert.ToInt32(lblMultiSelectionTotalScores.Text).ToString(); = totalScoresForTester.ToString();/显示总分 using System.Web.UI.HtmlControls;using BLL;using Entity; protected void Page_Loa
33、d(object sender, EventArgs e) RoleCheck.DenyLogin();/拒绝非管理员用户的登陆,拒绝后跳转到登陆页面 if (!IsPostBack)/获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否首次被加载或访问 if(Request.QueryString"recorderID"!=null)/获取HTTP查询字符串变量集合 hfdRecorderID.Value=Request.QueryString"recorderID".ToString();/获取或设置隐藏字段的值,获取请求页面的对象,返回
34、System.String的此实例,不执行实际转换 if (Request.QueryString"testID" != null)= Request.QueryString"testID".ToString();/获取或设置隐藏字段的值,获取请求页面的对象,返回System.String的此实例,不执行实际转换 protected void btnSubmit_Click(object sender, EventArgs e)/提交 TextBoxtxtTesterMark= (TextBox)FormView1.FindControl("t
35、xtTesterMark");/输入答案的页面框 TextBoxtxtRemark= (TextBox)FormView1.FindControl("txtRemark");/参考答案的页面框 TestMark testMark = new TestMark();/数据绑定,参看分数 testMark.TotalScore = Convert.ToUInt16(txtTesterMark.Text); testMark.Remark = txtRemark.Text; testMark.Marker = SessionClass.GetLoginUser(); t
36、estMark.MarkedTime = DateTime.Now; testMark.TestRecorder.RecorderID =Convert.ToInt32( hfdRecorderID.Value); new BLLTestMark().CreateTestMark(testMark);/输入评语页面框 Response.Redirect("TesterList.aspx?testID="+hfdTestID.Value);/跳转到测试者列表页面 using System;using System.Data;using System.Configuration
37、;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Collections.Generic;using Entity;using BLL;using Tool; protected void Page_Load(object sende
38、r, EventArgs e)/页面加载 RoleCheck.DenyLogin();/拒绝非管理员用户的登陆,拒绝后跳转到登陆页面 if (!IsPostBack) int pageNum = 1;/页面数 if (Request.QueryString"pageNum" != null) pageNum= Convert.ToInt32(Request.QueryString"pageNum"); BindTestList(Helper.GetUrlParmValue("testID"), pageNum); private co
39、nst int PAGE_SIZE = 20;/页面大小 private void BindTestList(int testID, int pageNum) PageList<TestRecorder>list=new BLLTestRecorder().GetTestRecorderListByTestID(testID, pageNum, PAGE_SIZE);/显示该页面的相关内容 Repeater1.DataSource = list.RecorderList; Repeater1.DataBind();= StringHelper.MakePageUrl("?
40、testID="+testID+"&pageNum=", pageNum, list.PageCount, list.RecorderCount); using System;using System.Data;using System.Configuration;using System.Collections;using System.Collections.Generic;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebCont
41、rols;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using Entity;using BLL;using Tool; protected void Page_Load(object sender, EventArgs e)/页面加载 RoleCheck.DenyLogin();/拒绝非管理员用户的登陆,拒绝后跳转到登陆页面 if (!IsPostBack) int pageNum = 1;/页面数 if (Request.QueryString"pageNum" !
42、= null) pageNum= Convert.ToInt32(Request.QueryString"pageNum"); BindTestList(pageNum); private const int PAGE_SIZE = 20;/页面大小 private void BindTestList(int pageNum) PageList<Test> list = new BLLTest().GetTestList(pageNum, PAGE_SIZE);/显示该页面的相关内容 rplTestList.DataSource = list.RecorderL
43、ist; rplTestList.DataBind(); lblPageUrl.Text = StringHelper.MakePageUrl("?pageNum=", pageNum, list.PageCount, list.RecorderCount); 七、实验心得经过两个多月的简单学习和上课听讲,初步掌握了动态网页制作的一些简单的知识和根本常识,也能从老师讲的根本知识中简单的应用一下上课所学到的知识,感觉ASP.NET网站建设和维护不是很方便,其中不仅要应用各种方面的知识还要对所学的知识学会变通使用,虽然会有一些成功的地方,但是,更多的是困惑,有太多的东西都不懂,
44、以前学C+、数据库等一些相关知识的时候好好学,现在想真正做好这个网站就显得不那么容易了。曾经看到网上有这么一句话,一个优秀的网络程序员不但要了解自己领域的一些专业技术,而且很多时候还要充当半个网络工程师,半个美术设计师和半个数据库管理员。照这么说来,我单单学习是远远不够的,还要学习计算机网络、美术设计、数据库,我很喜欢有关计算机方面的东西,认为我们当代的生活越来越离不开计算机,并且我也很痴迷计算机所带来的强大功能。首先我们学习了怎么设计主页,一个好的主页可以给浏览者一个耳目一新的感觉,所以网站主页的布局就显得格外重要了,好的布局加上亲切的言语,以及强大的功能,都会是浏览者感到无比的亲切。其次我
45、们添加了用户注册界面,同时应用了模板页,模板页嵌套在注册页面上,同时与主页的注册按钮相连接,在主页引用了CSS样式,使得格局更加清晰。之后我们做了在线投票页面,同样引用了模板页,同时学会了使用Cookie,Session的使用。做好这些功能之后,我们开始用到了数据库,要实现用户的存储和调用,进行数据绑定,之后我们使用DataList控件实现了对后台代码文件中绑定其数据源,DataList控件使用模板显示内容,他允许每一行显示多条记录。可以使用HTML表对应模板项的呈现方式进行布局,从而控制各个单元格的顺序、方向和列数。在这之后我们又做了留言板,通过调用存储过程,做到了留言板功能的实现,。前面所学到的数据访问都是Web应用程序直接访问数据库。这种在Web窗体中直接访问和操作数据库中数据的方式是一种低效的资源使用方式,并且有可能产生平安风险。通过存储过程访问数据库,可以有效地提高数据访问效率和数据的平安性。可以在执行复杂任务时减少窗
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程EPC合同模板
- 公司采购合同会签制度
- 单位采购员轮岗制度
- 医院社工采购管理制度
- 急救类设备快速采购制度
- 副食品采购奖惩制度
- 办公设备采购制度及流程
- 学校食品采购验收制度
- 2026年山东省青岛市青岛大学附中自主招生化学模拟试卷(3月份)(含答案)
- 交通运输实验指导书 课件 第3章 道路交通基础实验实训
- 人教统编版六年级语文下册第二单元《习作:写作品梗概》公开课教学课件
- 2026年3月山东济南轨道交通集团运营有限公司社会招聘备考题库附参考答案详解(典型题)
- 2026内蒙古环投集团社会招聘17人笔试备考试题及答案解析
- 2026年高考物理二轮复习:专题16 热学(复习讲义)(全国适用)(原卷版)
- TSG 08-2026 特种设备使用管理规则
- 2026年安徽粮食工程职业学院单招职业技能考试题库附答案详细解析
- DBJ-T36-073-2026 江西省装配式建筑评价标准
- 2026年全国教育工作会议精神学习传达与贯彻落实指南
- 劳务工奖惩制度
- 投资项目《项目建议书》《可性研究报告》等编制服务方案投标文件(技术方案)
- 5.1《阿Q正传》课件+2025-2026学年统编版高二语文选择性必修下册
评论
0/150
提交评论