C语言源码评判系统设计与实现
摘要
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 impr