ผลต่างระหว่างรุ่นของ "Grader on Windows with TC"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
| แถว 8: | แถว 8: | ||
==โครงสร้างฐานข้อมูล== | ==โครงสร้างฐานข้อมูล== | ||
| + | ตารางและคอลัมน์ต่าง ๆ มีดังนี้ | ||
| + | |||
| + | '''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'); | ||
รุ่นแก้ไขเมื่อ 16:02, 2 เมษายน 2551
ระบบมีสองส่วน คือส่วนที่เป็นระบบรับโปรแกรมบนเว็บ ซึ่งพัฒนาด้วยภาษา 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');