C语言源码评判系统设计与实现
以下是资料介绍,如需要完整的请充值下载. 本资料已审核过,确保内容和网页里介绍一致. 密 惠
无需注册登录,支付后按照提示操作即可获取该资料.
无需注册登录,支付后按照提示操作即可获取该资料.
资料介绍:
C语言源码评判系统设计与实现(程序代码,毕业论文16000字,外文翻译,答辩PPT)
摘要
C语言源码评判系统是智能信息处理技术的具体应用,系统可以自动完成选择题、填空题、简答题的自动评判,并自动编译、运行用户提交的源代码。实现的C语言源码评判系统,采用MySQL数据库保存用户身份信息,实现用户创建与删除,主要包括管理员、教师和学生三种身份。同时,在数据库中,还保存有学生的考试成绩与试卷提交时间,最重要的是数据库中保存有C语言试题库。Qt界面通过MySQL数据库API,访问并管理数据库中的相关数据信息,包括用户身份信息、成绩和C语言题库等。它通过Qt界面的方式提交用户针对特定问题设计的源代码,然后进行自动评判,立即反馈信息,给计算机专业数据结构、算法等课程的教学和学习带来极大的方便。本文在研究了当前流行的源代码自动评判系统后,针对源代码自动评判系统受时间地点限制、并发处理能力差、可伸缩性差等问题,完成改进的设计方案,并在LINUX和Windows环境下用C/C++开发实现。系统遵循软件工程设计规范,针对提高系统可用性作了设计,并进行了性能测试和优化设计。
关键词:多线程,高可用性,自动阅卷
C Program Automatic Judge System
Abstract
The C program automatic judge system is intelligent information processing technology, specific application, the system Call automatically compile and run the riser to submit the source code and system time consumed by user programs.Judging system of implementation of the C language source code, using MySQL database to store the user identity information, realizes the user to create and delete, including administrators, teachers and students of three kinds of identity. At the same time, in the database, but also hold the students' test scores and test submission time, database is the most important mediator with C language test. Qt interface through the MySQL database API, access and management of the related data in the database information, including user identity information, grades and C language test, etc.It is submitted via a Qt UI designed for users to issue-specific source code,and then automatically judged immediately feedback to the computer science data structures,algorithms such source from the teaching and learning has brought great convenience.This paper studies the source code for the popular automatic judge system,the source code for the automatic judge system by the time and place constraints,concurrent processing capability is poor,and poor scalability issues,the completion of an improved design,and in LINUX & Windows with the C/C++ development environment to achieve.System,follow the software engineering design specifications for improving system availability was designed and carried out performance testing and optimization of the design.
Keywords: Multi-threading,High availability, automatic scoring
通过近几个月的论文研究工作,课题研究完成了以下几个方面工作:
1) 查阅国内外相关文献,分析当前C语言源码评判技术的研究现状;
2) 搭建开发环境,包括图形界面开发工具Qt、数据库MySQL;
3) 熟练掌握Qt开发工具的使用以及编程方法;
4) 熟练掌握数据库MySQL使用以及编程方法;
5) 完成MySQL数据库中的C语言题库录入;
6) 完成MySQL数据库的用户身份信息设计与录入,包括管理员、教师与学生;
7) 完成Qt界面的用户登录窗口、管理员后台管理窗口、教师成绩查询窗口、学生考试窗口,管理员可以通过界面完成对教师和学生帐号的添加与删除;
8) 完成Qt界面学生考试窗口中编程题的评判系统,支持从外部导入源程序,进行编译和运行,并将编译与运行结果在窗口中进行动态显示;
支持评判编程题是否抄袭的功能;
功能划分
c语言源代码评判系统设计与实现可分为两部分:(1).登录界面(2).mysql数据库管理
2.3 功能描述
(1) 登陆界面功能:
登录窗口:完成用户登录,可以选择管理员、教师和学生;
管理员窗口:可以完成教师和学生的身份信息添加与删除;
教师管理窗口:教师可以通过该窗口获取学生的考试成绩;
学生考试窗口:学生通过该窗口可以完成C语言考试,并获取成绩。
(2)mysql数据库管理:
Qt界面通过MySQL数据库API,访问并管理数据库中的相关数据信息,包括用户身份信息、成绩和C语言题库等。
本课题实现的C语言源码评判系统,采用MySQL数据库保存用户身份信息,实现用户创建与删除,主要包括管理员、教师和学生三种身份。同时,在数据库中,还保存有学生的考试成绩与试卷提交时间,最重要的是数据库中保存有C语言试题库。
Qt界面设计
Qt界面通过MySQL数据库API,访问并管理数据库中的相关数据信息,包括用户身份信息、成绩和C语言题库等。
Qt界面主要包括登录窗口、管理员管理窗口、教师管理窗口和学生考试窗口,各个窗口的功能说明如下所示:
1) 登录窗口:完成用户登录,可以选择管理员、教师和学生;
2) 管理员窗口:可以完成教师和学生的身份信息添加与删除;
3) 教师管理窗口:教师可以通过该窗口获取学生的考试成绩;
4) 学生考试窗口:学生通过该窗口可以完成C语言考试,并获取成绩。
C语言考试题型分析
C语言考试有其自身的特点,大多C语言考试一般通过以下几种题型考察学生对编程能力的综合掌握程度:
1)选择题:考察学生对基本概念的掌握程度,覆盖知识点较多;
2)填空题:考察学生对知识掌握的精确度;
3)简答题:要求考生对问题进行合适回答;
4)编程题:编制一个源程序,并进行编译、调试、连接及运行,得到正确结果。
目录
摘要 I
ABSTRACT II
1 绪论 1
1.1 课题国内外现状和发展趋势 1
1.2 课题研究目的和意义 1
1.2.1 考试管理信息化 1
1.2.2 提高效率和质量 1
1.2.3 减轻负担 1
1.2.4 决策依据 2
1.3 本文结构 2
1.4 本论文完成的工作 2
2 需求分析 3
2.1 系统定义 3
2.2 功能划分 3
2.3 功能描述 3
2.4 外部界面需求 3
2.5 性能需求 3
2.6 运行需求 4
3 关键技术 5
3.1 图形界面QT开发 5
3.1.1 简介 5
3.1.2 历史发展 5
3.1.3 平台支持 6
3.1.4 什么是Qt Creator 6
3.1.5 什么是Qt Linguist 6
3.1.6 Qt开发的优势 6
3.1.7 使用Qt开发的成功实例 7
3.1.8 发行版本 9
3.2 开源数据库MYSQL 10
3.2.1 简介 10
3.2.2 应用环境 10
3.2.3 系统特性 10
3.2.4 存储引擎 11
3.2.5 索引功能 11
3.2.6 索引类别 12
4 系统设计及总体设计 15
4.1 系统设计开发原则 15
4.2 系统主要功能与处理流程 15
4.3 方案设计及基本流程 15
4.4 系统结构设计 16
4.5 系统开发环境 16
5系统详细设计 18
5.1 数据库管理 18
5.2 QT界面设计 20
5.3 C语言考试题型分析 21
5.4 功能实现 21
5.4.1 密码修改 21
5.4.2 随机选题 22
5.4.3 计算成绩 23
5.4.4 检测抄袭 24
5.4.5 加载源文件 24
5.4.6 下一题 25
5.4.7 数据库连接 26
5.4.8 获取值 27
6 系统测试 28
6.1 测试方案 28
6.2 运行界面 28
6.2.1 登录系统 28
6.2.2 管理员窗口 29
6.2.3 教师管理窗口 31
6.2.4 学生考试窗口 32
6.3 系统测试 33
结论 38
致 谢 40
外文原文 41
中文翻译 57