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

在线考试系统开源源码  时间: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

Friendhosting 黑色星期五 VDS/VPS可享四五折优惠促销

Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...

昔日数据月付12元起,湖北十堰机房10M带宽月付19元起

昔日数据怎么样?昔日数据是一个来自国内服务器销售商,成立于2020年底,主要销售国内海外云服务器,目前有国内湖北十堰云服务器和香港hkbn云服务器 采用KVM虚拟化技术构架,湖北十堰机房10M带宽月付19元起;香港HKBN,月付12元起; 此次夏日活动全部首月5折促销,有需要的可以关注一下。点击进入:昔日数据官方网站地址昔日数据优惠码:优惠码: XR2021 全场通用(活动持续半个月 2021/7...

Sharktech:美国/荷兰独立服务器,10Gbps端口/不限流量/免费DDoS防护60G,319美元/月起

sharktech怎么样?sharktech (鲨鱼机房)是一家成立于 2003 年的知名美国老牌主机商,又称鲨鱼机房或者SK 机房,一直主打高防系列产品,提供独立服务器租用业务和 VPS 主机,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹,所有产品均提供 DDoS 防护。此文只整理他们家10Gbps专用服务器,此外该系列所有服务器都受到高达 60Gbps(可升级到 100Gbps)的保护。...

在线考试系统开源源码为你推荐
bean是什么意思javabean和实体类的区别?短信营销方案有谁实验过短息营销,这个方法好吗?大家可以试试啊!暴力破解rar求暴力破解rar压缩包软件comexception电脑出现ConnectException: 是什么原因?云输入法QQ云输入法怎样调整候选词的个数?特斯拉model3降价小鹏P7和特斯拉Model 3,买哪个更加划算?ocr软件下载哪个图片转文字软件比较好用?particular教程怎样做ae粒子云效果backupexecBackup Exec 2014怎么备份Exchangeidataparameterinvalid parameter是什么意思
新加坡虚拟主机 域名备案号查询 秒解服务器 双12活动 2017年黑色星期五 创宇云 好玩的桌面 京东云擎 好看的桌面背景大图 网页背景图片 警告本网站 建站代码 商家促销 150邮箱 云全民 元旦促销 免费个人空间申请 php空间申请 阿里云浏览器 web服务器架设 更多