摘要:C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。而且C语言作为计算机学科里的一门基础程式语言,对学生有着很大的启蒙作用,所有学好C对于深入研究计算机来说有着十分重要的作用。目前,市面上有很多类似的考试管理系统,但是大部分在涉及C语言程序时,并没有编译与运行功能,而且在运行程序时避免不了输入数据,这些都是需要克服的问题。本系统就针对C语言的特点、以及市场需求,特开发了一种系统,本系统可以帮助学生在不需要编译器的环境下,打开系统自带浏览器就可以练习C语言。从而管理者可以根据考试的答题状况有的放矢进行教学;另一方面学习者可以自我练习,提高学习效率。关键词:C语言;考试管理系统;在线编译运行;目录摘要………………………………………………………………………………………11引言……………………………………………………………………………………21.1开发背景与现状………………………………………………………………21.2当前业务存在的问题…………………………………………………………22关键技术介绍………………………………………………………………………22.1PHP简介…………………………………………………………………………32.2Mysql简介………………………………………………………………………32.3HTML语言介绍…………………………………………………………………42.4css、js、jquery语言介绍………………………………………………………53总体设计……………………………………………………………………………53.1总体模块说明……………………………………………………………………63.2软件安装包………………………………………………………………………63.3业务流程实现描述………………………………………………………………63.4工作数据流图描述………………………………………………………………74系统用例详细设计……………………………………………………………………84.1数据库设计………………………………………………………………………84.2系统设计…………………………………………………………………………95系统测试………………………………………………………………………………135.1系统测试的目的…………………………………………………………………135.2系统的测试环境…………………………………………………………………146开发总结………………………………………………………………………………147致谢……………………………………………………………………………………158参考文献………………………………………………………………………………16第一章引言1.1开发背景与现状当今世界已进入了在计算机信息管理领域中激烈竞争的时代,应用计算机已经变得十分普遍了,如同我们离不开的自行车、汽车一样。我们应该承认,谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能够在各种竞争中立于不败之地。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。越来越多的管理人员意识到信息管理的重要性。1.2当前业务存在的问题大部分的c语言教学过程中,存在学生写代码数量少、练习少等等状况,另一方面教师在教学过程中都是人为的进行题目选择,即考试还处于人工管理状态,所以两个方面语言导致C语言课程的教与学效率极其低下。第二章关键技术介绍2.1PHP简介PHP(外文名:PHP:HypertextPreprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。版本分类PHP4PHP5PHP6PHP核心特性■别名:在PHP4中,可以利用引用为变量赋值,这给编程带来了很大的灵活性。■扩充了API模块:PHP4.0为扩展的API模块的提供了扩展PHP接口模块,它比旧的API版本显著地快。PHP模块已有的及最常用的接口多数被转换到使用这个扩展的接口。■PHP4新增函数或功能增强函数:PHP4.0新增了许多函数,同时也将许多现有的函数功能进行了增强■面向对象的编程:PHP4.0为面向对象的编程和构造类及对象提供扩展的功能和新特征。PHP4实现了对象重载,引用技术等新技术。2.2MySQL的简介MySQL[1]是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。Linux作为操作系统,Apache和Nginx作为Web服务器,MySQL作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合[2]。。2.3HTML语言介绍万维网上的一个超媒体文档称之为一个页面(外语:page)。作为一个组织或者个人在万维网上放置开始点的页面称为主页(外语:Homepage)或首页,主页中通常包括有指向其他相关页面或其他节点的指针(超级链接),所谓超级链接,就是一种统一资源定位器(UniformResourceLocator,外语缩写:URL)指针,通过激活(点击)它,可使浏览器方便地获取新的网页。这也是HTML获得广泛应用的最重要的原因之一。在逻辑上将视为一个整体的一系列页面的有机集合称为网站(Website或Site)。超级文本标记语言(英文缩写:HTML)是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言。2.4css、javascript、jquery语言介绍CSS:级联样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS目前最新版本为CSS3,是能够真正做到网页表现与内容分离的一种样式设计语言。相对于传统HTML的表现而言,CSS能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。CSS能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。。JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。Node.js。[1]在1995年时,由Netscape公司的BrendanEich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。[2]Jquery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库,它兼容CSS3,还兼容各种浏览器(IE6.0+,FF1.5+,Safari2.0+,Opera9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。jQuery是一个兼容多浏览器的javascript库,核心理念是writeless,domore(写得更少,做得更多)。jQuery在2006年1月由美国人JohnResig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由DaveMethvin率领团队进行开发。如今,jQuery已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。jQuery是免费、开源的,使用MIT许可协议。jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页。第三章总体设计3.1总体模块说明项目内容:此系统使用了三层架构实现了前台、后台与数据库的数据交互工作。后台:登陆模块,插入题目模块,选出考题模块,学生信息管理模块,考试列表模块,使用者管理模块;前台:登陆模块,题目显示模块,考试选择模块,系统状态模块,答题区域,编译输入区,运行输入区,输出区域。登陆模块:login.html,checkpwd.php,前台与后台的登陆模块根据不同的;用户类别进入不同的界面。插入题目模块:包括多项选择题、改错题、编程题。其中包括Upload_choice.html:上传选择题页面Upload_check_choice.php:对上传的选择题包括其中的照片、格式等处理存入数据库中Upload_correction:上传改错题页面Upload_check_correction.php:对上传的改错题包括其中的照片、格式等处理存入数据库Upload_programming.html:上传编程题页面Upload_check_programming.php:对上传的编程题包括其中的照片、格式等处理存入数据库中选出考题模块:question_list.php上传后的题目都可以显示在本界面,通过钩选就可选出一份考题。使用者管理模块:User_list.php:使用者管理界面,可以增添、删除、修改使用本系统的管理员和学生。考试列表模块:Exam_list.php:考试管理界