在线考试系统开源源码在线考试系统源代码

在线考试系统开源源码  时间:2021-06-25  阅读:()

在线考试系统毕业论文和源代码

摘 要 随着教育事业的发展和计算机技术的发展和普及,各种考试类型的不断增加和考试要求的不断提高,传统的考试方式己经不能适应现代考试的需要,计算机无纸化考试的趋势给我们提出了一系列新的课题。

基于web的中学英语在线考试系统结合了中学英语考试的特点,能帮助教师从烦琐、重复、容易出错的教师出卷、学生考试、教师阅卷、教师统计成绩等烦琐工作中解脱出来,它的实现能为学校的教学带来积极的作用。

本文主要论述了中学英语在线考试系统的研究现状和系统开发的意义、总体设计、体系结构、主要技术手段及其实现方法。

本文作者在详细研究计算机考试系统的发展和应用现状的基础上,用ASP技术设计了一种实用的在线考试系统方案。

该系统用ess作为后台数据库,通过将ASP技术与ess技术相结合,很好的实现了安全性、稳定性以及考试时间判断、考试结束自动交卷等功能。

关键词:在线考试系统,ASP技术,ess数据库

目 录 第一章 绪论 1 1.1 背景和意义 1 1.2 国内外研究现状 1 1.3开发趋势 1 第二章 系统各功能模块总体设计 2 2.1 系统的开发环境与工具 2 2.2 系统设计的预期目标 2 2.3 系统功能分析 2 2.4 面向客户端前台功能模块 2 2.5 面向管理终端的后台管理模块 4 2.6 系统工作构架 5 2.7 系统实用性设计 6 2.8 系统数据库设计 6 第三章 相关技术综述 12 3.1 关键技术――ASP(Active Server Pages) 12 3.1.1 ASP及其含义 12 3.1.2 ASP特点及其功能 12 3.1.3 ASP内置对象介绍 13 3.1.4 ASP的工作原理 13

参考资料: /search.asp?m=0&s=0&word=%BF%BC%CA%D4%CF%B5%CD%B3&x=34&y=8

开发在线考试系统后台答案怎样验证?

答案提交之后系统会进行答案匹配,网站的数据都是保存在数据库当中。

一般保存试卷的设置是整份做完之后保存。

其实这是看题目的性质,若是题目是做完一题答案马上显示的话,那必须是单题提交。

以上答案来自KESIONIEXAM。

学生考试管理系统,JAva源代码

//主类EnglishTest—— import java.awt.*; import java.awt.event.*; import javax.swing.*; public class EnglishTest extends JFrame { TestArea testPanel=null; Container con=null; public EnglishTest() { super("模拟考试"); testPanel=new TestArea(); con=getContentPane(); con.add(testPanel,BorderLayout.CENTER); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); setVisible(true); setBounds(60,40,660,460); con.validate(); validate(); } public static void main(String args[]) { new EnglishTest(); } } //读取试题 ReadTestquestion import java.io.*; import java.util.*; public class ReadTestquestion { String filename="", correctAnswer="", testContent="" , selection="" ; int score=0; long time=0; boolean 完成考试=false; File f=null; FileReader in=null; BufferedReader 读取=null; public void setFilename(String name) { filename=name; score=0; selection=""; try { if(in!=null&&读取!=null) { in.close(); 读取.close(); } f=new File(filename); in=new FileReader(f); 读取=new BufferedReader(in); correctAnswer=(读取.readLine()).trim(); String temp=(读取.readLine()).trim() ; StringTokenizer token=new StringTokenizer(temp,":"); int hour=Integer.parseInt(token.nextToken()) ; int minute=Integer.parseInt(token.nextToken()); int second=Integer.parseInt(token.nextToken()); time=1000*(second+minute*60+hour*60*60); } catch(Exception e) { testContent="没有选择试题"; } } public String getFilename() { return filename; } public long getTime() { return time; } public void set完成考试(boolean b) { 完成考试=b; } public boolean get完成考试() { return 完成考试; } public String getTestContent() { try { String s=null; StringBuffer temp=new StringBuffer(); if(读取!=null) { while((s=读取.readLine())!=null) { if(s.startsWith("**")) break; temp.append(" "+s); if(s.startsWith("endend")) { in.close(); 读取.close(); 完成考试=true; } } testContent=new String(temp); } else { testContent=new String("没有选择试题"); } } catch(Exception e) { testContent="试题内容为空,考试结束!!"; } return testContent; } public void setSelection(String s) { selection=selection+s; } public int getScore() { score=0; int length1=selection.length(); int length2=correctAnswer.length(); int min=Math.min(length1,length2); for(int i=0;i<min;i++) { try{ if(selection.charAt(i)==correctAnswer.charAt(i)) score++; } catch(StringIndexOutOfBoundsException e) { i=0; } } return score; }20:10 03-8-31 public String getMessages() { int length1=selection.length(); int length2=correctAnswer.length(); int length=Math.min(length1,length2); String message="正确答案:"+correctAnswer.substring(0,length)+" "+ "你的回答:"+selection+" "; return message; } } //考试区域TestArea import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; class FileName implements FilenameFilter { String str=null; FileName (String s) { str="."+s; } public boolean ept(File dir,String name) { return name.endsWith(str); } } public class TestArea extends JPanel implements ActionListener,ItemListener,Runnable { Choice list=null; JTextArea 试题显示区=null,消息区=null; JCheckBox box[]; JButton 提交该题答案,读取下一题,查看分数; ReadTestquestion 读取试题=null; JLabel eLabel=null; Thread countTime=null; long time=0; JTextField timeShow=null; boolean 是否关闭计时器=false, 是否暂停计时=false; JButton 暂停或继续计时=null; public TestArea() { list= new Choice(); String 当前目录=System.getProperty("user.dir"); File dir=new File(当前目录); FileName fileTxt=new FileName("txt"); String fileName[]=dir.list(fileTxt); for(int i=0;i<fileName.length;i++) { list.add(fileName[i]); } 试题显示区=new JTextArea(15,12); 试题显示区.setLineWrap(true); 试题显示区.setWrapStyleWord(true); 试题显示区.setFont(new Font("TimesRoman",Font.PLAIN,14)); 试题显示区.setForeground(Color.blue); 消息区=new JTextArea(8,8); 消息区.setForeground(Color.blue); 消息区.setLineWrap(true); 消息区.setWrapStyleWord(true); countTime=new Thread(this); String s[]={"A","B","C","D"}; box=new JCheckBox[4]; for(int i=0;i<4;i++) { box[i]=new JCheckBox(s[i]); } 暂停或继续计时=new JButton("暂停计时"); 暂停或继续计时.addActionListener(this); 提交该题答案=new JButton("提交该题答案"); 读取下一题=new JButton("读取第一题"); 读取下一题.setForeground(Color.blue); 提交该题答案.setForeground(Color.blue); 查看分数=new JButton("查看分数"); 查看分数.setForeground(Color.blue); 提交该题答案.setEnabled(false); 提交该题答案.addActionListener(this); 读取下一题.addActionListener(this); 查看分数.addActionListener(this); list.addItemListener(this); 读取试题=new ReadTestquestion(); JPanel pAddbox=new JPanel(); for(int i=0;i<4;i++) { pAddbox.add(box[i]); } Box boxH1=Box.createVerticalBox(), boxH2=Box.createVerticalBox(), baseBox=Box.createHorizontalBox(); boxH1.add(new JLabel("选择试题文件")); boxH1.add(list); boxH1.add(new JScrollPane(消息区)); boxH1.add(查看分数); timeShow=new JTextField(20); timeShow.setHorizontalAlignment(SwingConstants.RIGHT); timeShow.setEditable(false); JPanel p1=new JPanel(); p1.add(new JLabel("剩余时间:")); p1.add(timeShow); p1.add(暂停或继续计时); boxH1.add(p1); boxH2.add(new JLabel("试题内容:")); boxH2.add(new JScrollPane(试题显示区)); JPanel p2=new JPanel(); p2.add(pAddbox); p2.add(提交该题答案); p2.add(读取下一题); boxH2.add(p2); baseBox.add(boxH1); baseBox.add(boxH2); setLayout(new BorderLayout()); add(baseBox,BorderLayout.CENTER); eLabel=new JLabel("欢迎考试,提高英语水平",JLabel.CENTER); eLabel.setFont(new Font("隶书",Font.PLAIN,24)); eLabel.setForeground(Color.blue); add(eLabel,BorderLayout.NORTH); } public void itemStateChanged(ItemEvent e) { timeShow.setText(null); 是否关闭计时器=false; 是否暂停计时=false; 暂停或继续计时.setText("暂停计时"); String name=(String)list.getSelectedItem(); 读取试题.setFilename(name); 读取试题.set完成考试(false); time=读取试题.getTime(); if(countTime.isAlive()) { 是否关闭计时器=true; countTime.interrupt(); } countTime=new Thread(this); 消息区.setText(null); 试题显示区.setText(null); 读取下一题.setText("读取第一题"); 提交该题答案.setEnabled(false); 读取下一题.setEnabled(true); eLabel.setText("欢迎考试,你选择的试题:"+读取试题.getFilename()); } public void actionPerformed(ActionEvent e) { if(e.getSource()==读取下一题) { 读取下一题.setText("读取下一题"); 提交该题答案.setEnabled(true); String contentTest=读取试题.getTestContent(); 试题显示区.setText(contentTest); 消息区.setText(null); 读取下一题.setEnabled(false); try { countTime.start(); } catch(Exception event) { } } if(e.getSource()==提交该题答案) { 读取下一题.setEnabled(true); 提交该题答案.setEnabled(false); String answer="?"; for(int i=0;i<4;i++) { if(box[i].isSelected()) { answer=box[i].getText(); box[i].setSelected(false); break; } } 读取试题.setSelection(answer); } if(e.getSource()==查看分数) { int score=读取试题.getScore(); String messages=读取试题.getMessages(); 消息区.setText("分数:"+score+" "+messages); } if(e.getSource()==暂停或继续计时) { if(是否暂停计时==false) { 暂停或继续计时.setText("继续计时"); 是否暂停计时=true; } else if(是否暂停计时==true) { 暂停或继续计时.setText("暂停计时"); 是否暂停计时=false; countTime.interrupt(); } } } public synchronized void run() { while(true) { if(time<=0) { 是否关闭计时器=true; countTime.interrupt(); 提交该题答案.setEnabled(false); 读取下一题.setEnabled(false); timeShow.setText("用时尽,考试结束"); } else if(读取试题.get完成考试()) { 是否关闭计时器=true; timeShow.setText("考试效果:分数*剩余时间(秒)="+1.0*读取试题.getScore()*(time/1000)); countTime.interrupt(); 提交该题答案.setEnabled(false); 读取下一题.setEnabled(false); } else if(time>=1) { time=time-1000; long leftTime=time/1000; long leftHour=leftTime/3600; long leftMinute=(leftTime-leftHour*3600)/60; long leftSecond=leftTime%60; timeShow.setText(""+leftHour+"小时"+leftMinute+"分"+leftSecond+"秒"); } try { Thread.sleep(1000); } catch(InterruptedException ee) { if(是否关闭计时器==true) return ; } while(是否暂停计时==true) { try { wait(); } catch(InterruptedException ee) { if(是否暂停计时==false) { notifyAll(); } } } } } }

如何搭建myexam在线考试系统

如果代码是php 最好装一个xampp5.6.3,是一个网站集成开发环境,提供WEB服务,MYSQL服务,PHP解析。

可装在几乎所有windows平台上,操作简单、稳定; 如果代码是asp就用IIS

myexam在线开源考试系统怎样搭建和使用

如果学校或单位确实想使用,那么建议用“教学测试一体化处理WEB版”。

1. 开源发售; 2. 在线考卷与传统制卷两误; 3. 带试题批录入的考试系统; 4. 能自动考卷恢复的在线考试系统; 5. 能进行考卷分析的在线考试系统; 6. 兼在线学习与训练,在线作业于一体的在线考试系统; 平台实例:

在线考试系统源代码

Asp.Net+Ef+MVC+Bootstrap 在线考试,试题维护,各种统计分析,试卷导出Word。

支持PC端和手机端。

271853837@qq.om

欧路云:美国CUVIP线路10G防御,8折优惠,19元/月起

欧路云新上了美国洛杉矶cera机房的云服务器,具备弹性云特征(可自定义需要的资源配置:E5-2660 V3、内存、硬盘、流量、带宽),直连网络(联通CUVIP线路),KVM虚拟,自带一个IP,支持购买多个IP,10G的DDoS防御。付款方式:PayPal、支付宝、微信、数字货币(BTC USDT LTC ETH)测试IP:23.224.49.126云服务器 全场8折 优惠码:zhujiceping...

老用户专享福利 腾讯云 免费领取轻量云2核4G服务器一年

感恩一年有你!免费领取2核4G套餐!2核4G轻量应用服务器2核 CPU 4GB内存 60G SSD云硬盘 6Mbps带宽领取地址:https://cloud.tencent.com/act/pro/lighthousethankyou活动规则活动时间2021年9月23日 ~ 2021年10月23日活动对象腾讯云官网已注册且完成实名认证的国内站用户(协作者与子用户账号除外),且符合以下活动条件:账号...

ShockHosting日本机房VPS测试点评

这个月11号ShockHosting发了个新上日本东京机房的邮件,并且表示其他机房可以申请转移到日本,刚好赵容手里有个美国的也没数据就发工单申请新开了一个,这里做个简单的测试,方便大家参考。ShockHosting成立于2013年,目前提供的VPS主机可以选择11个数据中心,包括美国洛杉矶、芝加哥、达拉斯、杰克逊维尔、新泽西、澳大利亚、新加坡、日本、荷兰和英国等。官方网站:https://shoc...

在线考试系统开源源码为你推荐
财务系统软件常用财务软件有哪些?renderpartialHtml.RenderPartial 报错漏洞查询如何查找漏洞 从那做起listviewitemListView具有多种item布局webservice框架什么是webservice,什么情况下使用,如何使用音乐代码css控制背景音乐代码selectintooracle有select into临时表的用法吗gas是什么意思GC什么意思东兴证券网站东兴证券超强版下载,东兴证券超强版v6下载官方网站,东兴证券软件下载泛微协同办公系统泛微OA系统怎么创建新人员
域名论坛 vps动态ip isatap 512av 谷歌香港 NetSpeeder 一元域名 网通ip 云全民 中国智能物流骨干网 最好的免费空间 免费防火墙 免费活动 服务器是干什么的 空间登录首页 丽萨 智能dns解析 免费的域名 个人免费邮箱 沈阳idc 更多