1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO TIỂU LUẬN MÔN LẬP TRÌNH C# 2 ĐỀ TÀI : Chương trình trắc nghiệm Thi giấy phép lái xe 2 bánh

30 4,6K 34

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương trình trắc nghiệm thi giấy phép lái xe 2 bánh
Tác giả Phan Thế Tuấn
Người hướng dẫn GVHD : Trần Thị Anh Thi
Trường học Trường Đại Học Công Nghiệp TP.HCM
Chuyên ngành Lập Trình Window 2
Thể loại Báo cáo tiểu luận
Năm xuất bản 2012
Thành phố TP.HCM
Định dạng
Số trang 30
Dung lượng 2,49 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÁO CÁO TIỂU LUẬN MÔN LẬP TRÌNH C# 2 ĐỀ TÀI : Chương trình trắc nghiệm Thi giấy phép lái xe 2 bánh

Trang 1

Khoa Công Nghệ Thông Tin



BÁO CÁO TIỂU LUẬN MÔN LẬP TRÌNH C# 2

ĐỀ TÀI : Chương trình trắc nghiệm

Thi giấy phép lái xe 2 bánh

GVHD : Trần Thị Anh Thi SVTH : Phan Thế Tuấn – 10147611

Trang 2

MỤC LỤC

CHƯƠNG 1 : GIỚI THIỆU SƠ LƯỢC ĐỀ TÀI 5

1 Mục đích đề tài 5

2 Yêu cầu đặt ra 5

CHƯƠNG 2 : PHÂN TÍCH CƠ SỞ DỮ LIỆU 6

1 Sơ đồ dữ liệu 6

1.1 Bảng thí sinh 6

1.2 Bảng kết quả 7

1.3 Bảng đề thi 7

1.4 Bảng câu hỏi 7

1.5 Bảng đáp án 8

1.6 Bảng người dùng 8

2 Các ràng buộc toàn vẹn 9

2.1 Bảng câu hỏi và bảng đáp án 9

2.2 Bảng đề thi và bảng câu hỏi 9

2.3 Bảng kết quả và bảng thí sinh 10

2.4 Bảng đề thi và bảng kết quả 10

CHƯƠNG 3 : CÀI ĐẶT CHƯƠNG TRÌNH 11

1 Màn Hình Chính 11

2 Màn hình đăng nhập 11

3 Màn hình nhập thông tin 12

4 Màn hình Admin 13

5 Form Xem và sửa đề thi 14

6 Màn hình tạo đề thi 19

7 Form thí sinh 22

8 From user 27

9 Form Thi và thi thử 29

CHƯƠNG 4 : KẾT LUẬN 31

1 Nhận xét 31

Trang 3

3 Các chức năng chưa làm được 31

4 Hướng phát triển 31

Trang 4

CHƯƠNG 1 : GIỚI THIỆU SƠ LƯỢC

ĐỀ TÀI

1 Mục đích đề tài

Tạo phần mềm thi trắc nghiệm thi giấy phép lái xe 2 bánh, giúp người dùng tạo đề thi, nhập câu hỏi, quản lý các tài khoản và phân quyền cho tài khoản, tùy theo quyền hạn mà tài khoản sẽ được hạn chế các thao tác mình thực hiện trong phần mềm như là thêm, xóa, sửa Phần mềm còn thực hiện các thao tác in ấn và xuất ra các tập tin của dữ liệu của các câu hỏi, đáp án, danh sách người dùng hoặc thí sinh ở dạng file Excel, PDF, Word … Phần mềm còn giúp cho người dùng đánh trắc nghiệm trên máy, mỗi câu hỏi có thể có 2 đến 4 đáp án, người dùng có thể thi thật hoặcthi thử, nếu thi thật thì người dùng đó phải có mã thí sinh mới vào thi được, khi thi xong điểm sẽ được lưu vào database, nếu là thi lần 2 thì điểm của thí sinh đó sẽ được update lại Thi thử thì thí sinh nhập 1 mã số tùy ý và đc thi thử nhưng dữ liệu không lưu vào databse, thi xong thì thí sinh

sẽ đc biết kết quả

2 Yêu cầu đặt ra

Tạo đề thi, xóa đề thi

Thêm, xóa, sửa người dùng, thay đổi mật khẩu

Thêm, xóa, sửa thí sinh

Xem danh sách các câu hỏi theo đề thi, sửa câu hỏi và đáp án

In danh sách câu hỏi và đáp án

In danh sách thí sinh, người dùng, danh sách kết quả

Tạo chức năng thi và thi thử

Cho phép chọn câu khi thi để người dùng có thể di chuyển nhanh đến câu chưa làmĐáp án và câu hỏi load lên form theo 1 cách không có thứ tự

Trang 5

CHƯƠNG 2 : PHÂN TÍCH CƠ SỞ DỮ LIỆU

1 mathisinh nchar (20) Là khóa chính để phân biệt các thí sinh

2 tenthisinh nvarchar (50) Họ tên của thí sinh

3 sodienthoai nchar (20) Số điện thoại của thí sinh nếu có

Trang 6

VD :

1.2 Bảng kết quả

Chứa các thông tin kết quả thi của thí sinh gồm mã kết quả, điểm, kết quả, mã thí sinh, mã

đề Mã thí sinh và mã đề là khóa phụ tham chiếu tới bảng tbthisinh và bảng tbdethi

1 maketqua nchar (20) Là khóa chính để phân biệt các KQ khác

3 ketqua nvarchar(10) Kết quả của thí sinh “Rớt” hoặc “Đậu”

VD :

1.3.Bảng đề thi

Chứa thông tin của đề thi gồm mã đề thi và nội dung đề thi

1 madethi nchar (20) Là khóa chính để phân biệt các DT khác

2 noidungdethi ntext Nội dung của đề thi

VD :

1.4.Bảng câu hỏi

Chứa thông tin của câu hỏi gồm mã câu hỏi, nội dung câu hỏi, mã đề thi

1 macauhoi nchar (20) Là khóa chính để phân biệt các CH khác

2 noidungcauhoi ntext Nội dung của câu hỏi

3 madethi nchar (20) Mã đề thi tham chiếu đến tbdethi

Trang 7

1.5.Bảng đáp án

Chứa các thông tin của các đáp án gồm mã đáp án, nội dung đáp án, đáp án đúng, mã câu hỏi

1 madapan nchar (20) Là khóa chính để phân biệt các DA khác

4 macauhoi nchar (20) Mã câu hỏi tham chiếu đển bảng tbcauhoi

VD :

1.6.Bảng người dùng

Chứa các thông tin của người dùng gồm id, mật khẩu và các quyền hạn của người dùng

1 tennguoidung varchar (50) Là khóa chính để phân biệt các người dùng

2 password varchar (50) Password của người dùng

VD :

Trang 8

2.2.Bảng đề thi và bảng câu hỏi

Bảng tbdethi liên kết với bảng tbcauhoi theo madethi, madethi bên bảng tbcauhoi là foreign key bên bảng tbdethi là primary key mối quan hệ 1 nhiều, một đề thi có thể có nhiều

câu hỏi

2.3.Bảng kết quả và bảng thí sinh

Trang 9

Bảng tbthisinh liên kết với bảng tbketqua theo mathisinh, mathisinh bên bảng tbketqua là foreign key bên bảng tbthisinh là primary key mối quan hệ này là 1-1, một thí sinh chỉ có một

kết quả, hoặc là rớt hoặc là đậu

2.4.Bảng đề thi và bảng kết quả

Bảng tbdethi liên kết với bảng tbketqua theo madethi, made bên bảng tbketqua là foreign key madethi bên bảng tbdethi là primary key mối quan hệ 1 nhiều, một đề thi có thể có nhiều

đáp án

Trang 10

CHƯƠNG 3 : CÀI ĐẶT CHƯƠNG

Trang 11

Người dùng phải nhập đúng mật khẩu mới cho truy xuất vào bên trong, nếu sai tài khoản thì form sẽ báo sai tài khoản, nếu sai mật khẩu thì form sẽ báo sai mật khẩu

private void btnDangnhap_Click( object sender, EventArgs e)

//nê= u đúng thì ta bắ= t đấG u kiê/ m tra mật khấ/ u cu /a người dùng

this Visible = false ;

frmAdmin frm_Admin = new frmAdmin (tbNguoiDung);

DialogResult result = frm_Admin.ShowDialog();

Trang 12

Nếu là thi thì form sẽ kiểm tra xem có thí sinh này trong danh sách hay không, nếu thì thư thử thì người dùng có thể nhập tùy ý 1 mã số nào đó

4 Màn hình Admin

 Màn hình có 6 chức năng chính là:

 xem thông tin người dùng hiện tại

 thay đổi mật khẩu khẩu

 tạo đề thi

 vào form thí sinh

 vào form user

 vào form xem và sửa đề thi

Khi nhấn vào linklabel Xin chào :…thì sẽ xuất hiện thông tin của người dùng, form này chỉ cho người dùng xem chứ không chỉnh sửa gì về quyền của người dùng

Trang 13

Khi người dùng nhần vào linklabel thay đổi mật khẩu : cho phép nhập vào mật khẩu mới

và cập nhật mật khẩu

5 Form Xem và sửa đề thi

 Có 6 chức năng chính là :

 xem tất cả các câu hỏi của tất cả các đề thi

 xem theo đề thi

 sửa câu hỏi

 xóa đề thi

Trang 14

Mỗi user sẽ có các quyền khách nhau, nếu ko có quền thêm thì nút thêm sẽ ko cho thực hiện

Ngoài ra form còn có các contextmenu cho việc sửa câu hỏi

Để sửa câu hỏi người dùng phải chọn câu hỏi trước khi sửa, sau khi nhấn vào sửa sẽ xuất hiện form : Để loại bỏ đáp án chỉ cần bỏ check vào đáp án và chỉ được loại bỏ 2 đáp án cuối cùng

Trang 15

//cập nhật nội dung cấu ho /i và đáp án A,B

tbcauhoi.Rows[0][ "noidungcauhoi" ] = txtnoidungcauhoi.Text; tbDapAn.Rows[0][ "noidungdapan" ] = txtdapanA.Text;

tbDapAn.Rows[1][ "noidungdapan" ] = txtdapanB.Text;

//kiê/ m tra xem có cấu ho /i thêm hay xóa bớt hay ko

//số= đáp án là số= đáp án ban đấG u khi ta load lên, đê= m là số= đáp án hiện tại

//nê= u có >0 số= đáp án thì thêm vào

int dongthem = dem - sodapan;

Trang 17

case "A" : dung[0] = true ; break ;

case "B" : dung[1] = true ; break ;

case "C" : dung[2]= true ; break ;

case "D" : dung[3] = true ; break ;

Khi nhần vào button xóa thì sẽ xuất hiện danh sách các đề thi để người dùng xóa

Code khi nhấn vào nút xóa :

private void btnXoa_Click( object sender, EventArgs e)

{

DialogResult result= MessageBox Show( "Bạn có muố= n xóa hay

khống" , "Thống báo" , MessageBoxButtons OKCancel, MessageBoxIcon Question);

try

{

if (result == DialogResult OK)

Trang 18

Để load được dữ liệu ta phải có các đoạn code sau

DataTable tb = objCauHoi.LayBangCauHoi_TheoDapAn().Tables[ "tbcauhoi" ];

crtCauHoi obj = new crtCauHoi ();

Trang 19

Khi nhấn vào nút tạo mới form sẽ tự động xuất hiện các control động,

Sau khi nhập vào đề thi xong thì nhấn vào tạo đề thi

Trang 20

Người dùng ko cần nhập vào mã câu hỏi, mà nó sẽ tự phát sinh theo mã đề và thứ tự câu hỏi, khi người dùng nhập xong và quay lại thì vẫn giữ nội dung câu hỏi và đáp án cho người dùng, sau khi quay lại nếu người dùng bỏ check vào đáp án thì đáp án đó sẽ được xóa và ko cập nhật vào CSDL

Trang 21

7 Form thí sinh

 Form có 8 chức năng :

 Thêm, xóa, sửa thí sinh

 Xem kết quả của thí sinh

 Nạp lại danh sách

 In danh sách thí sinh

 In danh sách kết quả của các thí sinh

 Tìm kiếm

Trang 22

Form còn có các menucontext cho việc xóa, sửa và xem kết quả thí sinh

Form khi nhấn vào button thêm

Trang 23

code khi nhấn vào nút thêm

private void btnthem_Click( object sender, EventArgs e)

DataRow r_new = tbThiSinh.NewRow();

r_new[ "mathisinh" ] = txtmathisinh.Text;

r_new[ "tenthisinh" ] = txttenthisinh.Text;

r_new[ "sodienthoai" ] = txtsodienthoai.Text;

r_new[ "ngaysinh" ] =

Convert ToDateTime(dateTimePicker1.Value).ToShortDateString();

r_new[ "diachi" ] = txtdiachi.Text;

r_new[ "quequan" ] = txtquequan.Text;

Trang 24

Code khi nhấn vào nút lưu :

try

{

if (kiemtrarong())

{

tbThiSinh.Rows[0][ "tenthisinh" ] = txttenthisinh.Text;

tbThiSinh.Rows[0][ "sodienthoai" ] = txtsodienthoai.Text;

tbThiSinh.Rows[0][ "quequan" ] = txtquequan.Text;

tbThiSinh.Rows[0][ "diachi" ] = txtdiachi.Text;

tbThiSinh.Rows[0][ "ngaysinh" ] = dateTimePicker1.Value;

Trang 25

Form In danh sách thí sinh khi nhấn vào nút In DS

Form In danh sách các kết quả khi nhấn vào nút In KQ

Trang 26

Ngoài ra form còn có contextmenu cho việc xóa và sửa người dùng

Nếu user không có quyền xem người dùng thì chỉ được xem tài khoản của mình, không được xem các tài khoản khác

Form xuất hiện khi nhấn vào nút thêm

Trang 27

Form xuất hiện khi nhấn vào nút sửa

Form khi nhấn vào nút In DS

Trang 28

9 Form Thi và thi thử

Khi load lên một form emty có background màu đen sẽ xuất hiện trước và gọi form thi lên theo kiểu dialog, độ trong xuốt của form emty là 80%, được maximum và ko có nút đóng form

Thời gian mặc định cho thí sinh thi là 10 phút, và số điểm để thí sinh đậu là 10 điểm

Khi nhấn vào chọn câu thì sẽ xuất hiện form chọn câu, form cho phép người dùng chọn vào câu bất kì để di chuyển tới câu đó, form còn cho người dùng biết câu làm chưa làm và đã làm

Trang 29

Code để dịch chuyển tới vị trí câu được check

private void rad1_CheckedChanged( object sender, EventArgs e)

{

RadioButton rad=( RadioButton )sender;

//lấ= y tên cu /a rad nhưng chỉ / lấ= y số= ví dụ rad12 thì ta lấ= y 12

string vitri = rad.Name.Replace( "rad" , "" );

//chuyê/ n vêG thành số= -1

dem = Convert ToInt32(vitri)-1;

//nê= u là form thi gán gán cho form thi ngược lại gán cho form thi thư/

Trang 30

Tạo đề thi, xóa đề thi

Thêm, xóa, sửa người dùng, thay đổi mật khẩu

Thêm, xóa, sửa thí sinh

Xem danh sách các câu hỏi theo đề thi, sửa câu hỏi và đáp án

In danh sách câu hỏi và đáp án

In danh sách thí sinh, người dùng, danh sách kết quả

Tạo chức năng thi và thi thử

Cho phép chọn câu khi thi

Đáp án và câu hỏi load lên form theo 1 cách không có thứ tự

3 Các chức năng chưa làm được

- Đã hoàn thành các chức năng đưa ra ban đầu

4 Hướng phát triển

- Rút ngắn code của chương trình và dung lượng của chương trình

- Xây dựng giao diện của phần mềm đẹp hơn

- Xây dựng thêm các chức năng chọn số câu để thi và chỉnh sửa thời gian thi của phần mềm

- Thêm cơ sở dữ liệu hình vào chương trình để có để load lên các tính huống giao thông hoặc biển báo trong hình

Ngày đăng: 07/01/2014, 15:02

HÌNH ẢNH LIÊN QUAN

1. Sơ đồ dữ liệu - BÁO CÁO TIỂU LUẬN MÔN LẬP TRÌNH C# 2  ĐỀ TÀI : Chương trình trắc nghiệm     Thi giấy phép lái xe 2 bánh
1. Sơ đồ dữ liệu (Trang 5)
1.2. Bảng kết quả - BÁO CÁO TIỂU LUẬN MÔN LẬP TRÌNH C# 2  ĐỀ TÀI : Chương trình trắc nghiệm     Thi giấy phép lái xe 2 bánh
1.2. Bảng kết quả (Trang 6)
Bảng tbcauhoi liên kết với bảng tbdapan theo macauhoi, macauhoi bên bảng tbdapan là - BÁO CÁO TIỂU LUẬN MÔN LẬP TRÌNH C# 2  ĐỀ TÀI : Chương trình trắc nghiệm     Thi giấy phép lái xe 2 bánh
Bảng tbcauhoi liên kết với bảng tbdapan theo macauhoi, macauhoi bên bảng tbdapan là (Trang 8)
Bảng tbdethi liên kết với bảng tbcauhoi theo madethi, madethi bên bảng tbcauhoi là - BÁO CÁO TIỂU LUẬN MÔN LẬP TRÌNH C# 2  ĐỀ TÀI : Chương trình trắc nghiệm     Thi giấy phép lái xe 2 bánh
Bảng tbdethi liên kết với bảng tbcauhoi theo madethi, madethi bên bảng tbcauhoi là (Trang 8)
Bảng tbthisinh liên kết với bảng tbketqua theo mathisinh, mathisinh bên bảng tbketqua là - BÁO CÁO TIỂU LUẬN MÔN LẬP TRÌNH C# 2  ĐỀ TÀI : Chương trình trắc nghiệm     Thi giấy phép lái xe 2 bánh
Bảng tbthisinh liên kết với bảng tbketqua theo mathisinh, mathisinh bên bảng tbketqua là (Trang 9)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w