Grader on Windows with TC
ระบบมีสองส่วน คือส่วนที่เป็นระบบรับโปรแกรมบนเว็บ ซึ่งพัฒนาด้วยภาษา php บนระบบฐานข้อมูล MySQL และส่วนที่เป็นโปรแกรมทำงานที่เซิร์ฟเวอร์สำหรับตรวจโปรแกรม โดยจะเรียก Turbo C หรือ Borland C มาคอมไพล์และตรวจผลลัพธ์โปรแกรม
การติดตั้ง
ระบบรับโปรแกรมผ่านทางเว็บ
โปรแกรมตรวจ
การใช้งาน
โครงสร้างฐานข้อมูล
ตารางและคอลัมน์ต่าง ๆ มีดังนี้
TABLE: user_info COLUMNS: user_id varchar(10) รหัสประจำตัวผู้ใช้ name varchar(100) ชื่อ passwd varchar(10) รหัสผ่าน grp varchar(10) รหัสกลุ่ม (หรือศูนย์) type char(1) ประเภทผู้ใช้: 'C' คือผู้เข้าแข่งขัน (contestant) 'S' คืออาจารย์ผู้ดูแลกลุ่ม (supervisor) และ 'A' คือผู้ดูแลระบบ
TABLE: prob_info COLUMNS: prob_id varchar(10) รหัสปัญหา name varchar(100) ชื่อปัญหา avail char(1) เปิดให้ส่ง ('Y' หรือ 'N') prob_order int(10) ลำดับในการแสดงผล ปัญหาจะแสดงตาม prob_order จากน้อยไปมาก
TABLE: submission COLUMNS: user_id varchar(10) NOT NULL default , prob_id varchar(10) NOT NULL default , sub_num int(11) NOT NULL default '0', time datetime default '0000-00-00 00:00:00', code mediumtext NOT NULL, PRIMARY KEY: (`user_id`,`prob_id`,`sub_num`)
TABLE: grd_queue COLUMNS: q_id int(10) unsigned NOT NULL auto_increment, user_id varchar(10) NOT NULL default , prob_id varchar(10) NOT NULL default , sub_num int(10) unsigned NOT NULL default '0',
TABLE: grd_status COLUMNS: user_id varchar(10) NOT NULL default , prob_id varchar(10) NOT NULL default , res_id int(10) unsigned NOT NULL default '0', score int(10) unsigned default '0', compiler_msg text, PRIMARY KEY: (`user_id`,`prob_id`)
ตารางประกอบ
TABLE: res_desc COLUMNS: res_id int(10) unsigned NOT NULL auto_increment, res_text varchar(45) NOT NULL default , DATA: (1,'in queue'), (2,'grading'), (3,'accepted'), (4,'rejected');