You are on page 1of 9

ĐỀ TÀI CTDL & GT

Sinh viên chọn một trong bốn đề tài bên dưới, thực hiện chương trình bằng ngôn ngữ
C/C++

Đề tài 1: Viết chương trình quản lý thiết bị

- Loại thiết bị bất kỳ do sinh viên tự chọn (y tế, trường học, cửa hàng, công
xưởng…)
- Mỗi thiết bị gồm tên thiết bị, số lượng, giá trị, ngày nhập thiết bị, thời hạn thanh
lý, tình trạng (tốt, hư hỏng, thất lạc, đã thanh lý…)…
- Tổ chức cấu trúc dữ liệu
o Có chức năng thêm thiết bị mới, tìm kiếm và cập nhật thiết bị đã có
- Dữ liệu được lưu trữ trong tập tin txt
o Có chức năng đọc/cập nhật dữ liệu
o Tạo sẵn một tập tin dữ liệu có ít nhất 30 thiết bị có nội dung đầy đủ
- Chương trình có chức năng liệt kê danh sách, xử lý thiết bị
o Liệt kê các tài sản còn tốt, hư hỏng, thất lạc, đến hạn thanh lý, tất cả.
o Cập nhật thông tin và trạng thái cho thiết bị, ví dụ: chuyển các thiết bị đã
đến hạn thanh lý sang trạng thái đã thanh lý, hoặc chuyển từ tốt sang hư
hỏng…
- Đánh giá cộng điểm nếu chương trình có những tiện ích khác, gợi ý:
o Bố trí giao diện hợp lý (gợi ý: tìm hiểu các console functions trong thư viện
windows.h, tham khảo các chương trình quản lý)
o Những tính năng hữu ích khác do sinh viên sáng tạo
- Thực hiện chương trình bằng C/C++

Đề tài 2: Viết chương trình trò chơi “Ai là triệu phú?”

- Trò chơi gồm bộ các câu hỏi và các phương án trả lời, người chơi sẽ được cộng
các mức điểm khác nhau (tham khảo chương trình “Ai là triệu phú?”)
- Tổ chức cấu trúc dữ liệu
o Có chức năng thêm câu hỏi mới, tìm kiếm và cập nhật câu hỏi
o Có phương án đánh dấu câu trả lời đúng cho mỗi câu hỏi
- Dữ liệu được lưu trữ trong tập tin txt
o Có chức năng đọc/cập nhật dữ liệu
o Tạo sẵn một tập tin dữ liệu có ít nhất 30 câu hỏi có nội dung đầy đủ
- Chương trình có chức năng thực hiện trò chơi và tính điểm theo luật của trò chơi
o Người chơi có quyền chơi tiếp hoặc dừng chơi để bảo lưu số điểm cuối
cùng
o Người chơi sẽ đạt được một số điểm cột mốc nhất định nếu trả lời sai câu
hỏi
- Đánh giá cộng điểm nếu chương trình có những tiện ích khác, gợi ý:
o Chức năng chọn quyền trợ giúp 50/50, gọi điện chuyên gia, lấy ý kiến khán
giả…
o Bố trí giao diện hợp lý (gợi ý: tìm hiểu các console functions trong thư viện
windows.h)
o Những tính năng hữu ích khác do sinh viên sáng tạo
- Thực hiện chương trình bằng C/C++

Đề tài 3: Từ điển Anh - Việt.

Yêu cầu: Chương trình cho phép người dùng tra từ điển Anh – Việt

- Từ điển Anh – Việt có 120.000 mục từ. Mỗi mục từ gồm có các thông tin: Từ gốc,
các từ loại, các nghĩa và có thể có ví dụ cho nghĩa tương ứng.
- Thao tác tra từ điển được thực hiện trong thời gian thực, vì thế người dùng không
muốn phải chờ đợi lâu mới nhận được kết quả. Cần phải tổ chức cấu trúc dữ liệu
và cũng như lựa chọn giải thuật phù hợp để đảm bảo yêu cầu này.
- Hiện thực trên ngôn ngữ lập trình C/C++.
Dữ liệu mẫu:
@sugar
*danh từ
- đường
- lời đường mật, lời nịnh hót
-(từ Mỹ, nghĩa Mỹ) (từ lóng) tiền, xìn
*ngoại động từ
- bỏ đường, rắc đường; bọc đường
-(nghĩa bóng) làm cho ngọt ngào, phết đường, bọc
đường
*nội động từ
-(từ lóng) làm việc chểnh mảng, không làm tròn bổn
phận

Đề tài 4: Viết chương trình thi trắc nghiệm

- Môn học bất kỳ do sinh viên tự chọn (lái xe, anh văn, tin học, lập trình,…)
- Mỗi câu trắc nghiệm gồm 1 câu hỏi và 4 phương án trả lời A, B, C, D
- Tổ chức cấu trúc dữ liệu
o Chức năng thêm, tìm kiếm, cập nhật các câu hỏi
o Có phương án đánh dấu câu trả lời đúng cho mỗi câu hỏi.
- Dữ liệu được lưu trữ trong tập tin txt
o Có chức năng đọc/cập nhật dữ liệu
o Tạo sẵn một tập tin dữ liệu có ít nhất 30 câu hỏi có nội dung chuẩn xác
- Chương trình có chức năng thực hiện bài thi, đánh giá điểm
- Đánh giá cộng điểm nếu chương trình có một hoặc một vài tính năng khác, gợi ý:
o Có thể chọn số lượng câu hỏi cho bài làm, giới hạn thời gian làm bài
o Thứ tự câu hỏi hoặc thứ tự các câu trả lời xuất hiện ngẫu nhiên
o Bố trí giao diện hợp lý (gợi ý: tìm hiểu các console functions trong thư viện
windows.h, tham khảo các chương trình thi trắc nghiệm)
o Những tính năng hữu ích khác do sinh viên sáng tạo

Đề tài 5: Một công ty giao hàng nhanh quản lý các đơn hàng bằng cây nhị cân bằng.
Mỗi đơn hàng bao gồm thông tin về: mã đơn hàng, địa chỉ nhận, địa chỉ giao, ngày
nhận, ngày giao, trạng thái (1 nếu giao hàng thành công, 0 nếu giao hàng không thành
công). Cây nhị cân bằng được xây dựng theo mã đơn hàng, tương ứng với dữ liệu được
cho trước bên dưới đây:
typedefstruct NODE
struct NGAYTHANG{
{
int ngay;
DONHANG data;
int thang;
NODE* left;
int nam;
NODE* right;
};
};
struct DONHANG{
typedefstruct NODE* TREE;
charMDH[10];
char diachinhan[255];
chardiachigiao[255];
NGAYTHANG ngaynhan;
NGAYTHANG ngaygiao;
int trangthai;
};

a. Create(): Khởi tạo một cây rỗng, thủ tục này sẽ trả ra một con trỏ trỏ tới gốc của cây,
con trỏ ban đầu sẽ có giá trị không xác định
b. Contain(T,x) : Thực hiện việc tìm kiếm , xác định xem trong cây đã có nút
nào có giá trị x cho trước hay không? Nếu có, hãy chỉ ra chỉ số của nút chứa giá trị đó
c. Insert(T, x) : Bổ sung một nút mới có giá trị là x cho trước vào một cây T.
Trong quá trình bổ sung có thực hiện tìm kiếm, nếu giá trị x đã có trong cây, không cần
tiến hành bổ sung
d. Delete(T,x): Loại bỏ một nút có giá trị x cho trước ra khỏi cây T
e. Print(T) : Thủ tục này cho phép hiển thị một cây T lên màn hình
f. IsAVL(T) : Kiểm tra xem một cây T có phải là một cây AVL không?
Phần mở rộng: Mở rộng thủ tục Insert để có thể đáp ứng được yêu cầu như đối với cây
AVL (thực hiện các thao tác quay để đảm bảo tính cân bằng của cây)
3. Chú ý
Ngôn ngữ lập trình : Tùy chọn, ưu tiên sử C, Java hoặc C++
Sinh viên cần phải viết các chương trình để kiểm thử kết quả hoạt động của các thao tác
đã được cài đặt.
SInh viên nên cung cấp một giao diện để người dung có thể tự nhập dữ
liệu đầu vào và kiểm thử các thao tác đã được cài đặt
Đề tài 6: Lập trình Queue giải quyết bài toán quản lý cấp số thứ tự đến khám chữa
bệnh (đến trước – cấp STT trước) như sau:
struct NGAYTHANG{
int ngay;
int thang;
int nam;
};
struct BENHNHAN{
int STT;
char hoten[30];
char diachi[255];
char sdt[12];
char BHYT[12];;
NGAYTHANG ngaykham;
char trangthai[255];
};

Tổ chức cấu trúc dữ liệu dạng QUEUE


o Có chức năng thêm sách mới, tìm kiếm và cập nhật bệnh nhân đã có, xóa
bệnh nhân
- Dữ liệu được lưu trữ trong tập tin txt
o Có chức năng đọc/cập nhật dữ liệu
o Tạo sẵn một tập tin dữ liệu có ít nhất 30 bệnh nhân có nội dung đầy đủ
- Chương trình có chức năng liệt kê danh sách, xử lý dữ liệu về bệnh nhân
o Liệt kê các bệnh nhân trạng thái: chờ khám, điều trị ngoại trú, điều trị nội
trú
o Cập nhật thông tin và trạng thái bệnh nhân, ví dụ: chuyển trạng thái bệnh
nhân chờ khám sang trạng thái điều trị ngoại trú, hoặc điều trị nội trú
- Đánh giá cộng điểm nếu chương trình có những tiện ích khác, gợi ý:
o Bố trí giao diện hợp lý (gợi ý: tìm hiểu các console functions trong thư viện
windows.h, tham khảo các chương trình quản lý)
o Những tính năng hữu ích khác do sinh viên sáng tạo
- Thực hiện chương trình bằng C/C++

Đề tài 7:

Người ta cần quản lý thông tin của các quyển sách trong thư viện. Các thông tin cần
quản lý bao gồm: Mã số sách, tên sách, năm xuất bản, nhà xuất bản, tác giả và số lượng.
Cấu trúc dữ liệu được cho trước bên dưới đây:

struct THONG_TIN_SACH{ struct NODE{

char maSach[10]; THONG_TIN_SACH


data;
char tenSach[30];
NODE *link;
int namXB;
};
char nhaXB[255];
char tacGia[255];
char tinhtrang[255];
int soLuong;
};
Tổ chức cấu trúc dữ liệu dạng cây cân bằng
o Có chức năng thêm sách mới, tìm kiếm và cập nhật hoặc xóa sách đã có
- Dữ liệu được lưu trữ trong tập tin txt
o Có chức năng đọc/cập nhật dữ liệu
o Tạo sẵn một tập tin dữ liệu có ít nhất 30 sách có nội dung đầy đủ
- Chương trình có chức năng liệt kê danh sách, xử lý sách
o Liệt kê các sách còn tốt, hư hỏng, thất lạc, đến hạn thanh lý, tất cả.
o Cập nhật thông tin và tình trạng cho sách, ví dụ: chuyển các sách đã đến
hạn thanh lý sang trạng thái đã thanh lý, hoặc chuyển từ tốt sang hư hỏng…
- Đánh giá cộng điểm nếu chương trình có những tiện ích khác, gợi ý:
o Bố trí giao diện hợp lý (gợi ý: tìm hiểu các console functions trong thư viện
windows.h, tham khảo các chương trình quản lý)
o Những tính năng hữu ích khác do sinh viên sáng tạo
- Thực hiện chương trình bằng C/C++

Đề tài 8: Để quản lý thông tin của các chuyến bay. Người ta đã tổ chức dữ liệu bằng danh sách
liên kết đơn. Thông tin của mỗi chuyến bay gồm có: Mã chuyến bay, họ tên phi công, ngày bay,
sức chứa. Cấu trúc dữ liệu được cho trước bên dưới đây:
struct NGAYTHANG{ struct NODE

int ngay; {

int thang; CHUYENBAY data;

int nam; NODE* pNext;

}; };

struct CHUYENBAY
{

char MaChuyen[5];

char HoTenPC[30];

NGAYTHANG NgayBay;

int SucChua;

};

Tổ chức cấu trúc dữ liệu dạng cây cân bằng


o Có chức năng thêm sách mới, tìm kiếm và cập nhật hoặc xóa chuyến bay đã

- Dữ liệu được lưu trữ trong tập tin txt
o Có chức năng đọc/cập nhật dữ liệu
o Tạo sẵn một tập tin dữ liệu có ít nhất 30 chuyến bay có nội dung đầy đủ
- Chương trình có chức năng liệt kê danh sách, xử lý thông tin chuyến bay
o Liệt kê các chuyến bay có sức chứa lớn nhất.
o Tính tổng số chuyến bay trong 1 ngày
o Liệt kê các phi công có số chuyến bay nhiều nhất trong 1 tháng bất kỳ
- Đánh giá cộng điểm nếu chương trình có những tiện ích khác, gợi ý:
o Bố trí giao diện hợp lý (gợi ý: tìm hiểu các console functions trong thư viện
windows.h, tham khảo các chương trình quản lý)
o Những tính năng hữu ích khác do sinh viên sáng tạo
- Thực hiện chương trình bằng C/C++

Đề tài 9: Lập trình giải quyết bài toán quản lý khám chữa bệnh như sau:
struct NGAYTHANG{
int ngay;
int thang;
int nam;
};
struct BENHNHAN{
int STT;
char hoten[30];
char diachi[255];
char sdt[12];
char BHYT[12];;
NGAYTHANG ngaykham;
char trangthai[255];
};
Tổ chức cấu trúc dữ liệu dạng cây cân bằng
o Có chức năng thêm sách mới, tìm kiếm và cập nhật bệnh nhân đã có, xóa
bệnh nhân
- Dữ liệu được lưu trữ trong tập tin txt
o Có chức năng đọc/cập nhật dữ liệu
o Tạo sẵn một tập tin dữ liệu có ít nhất 30 bệnh nhân có nội dung đầy đủ
- Chương trình có chức năng liệt kê danh sách, xử lý dữ liệu về bệnh nhân
o Liệt kê các bệnh nhân trạng thái: chờ khám, điều trị ngoại trú, điều trị nội
trú
o Cập nhật thông tin và trạng thái bệnh nhân, ví dụ: chuyển trạng thái bệnh
nhân chờ khám sang trạng thái điều trị ngoại trú, hoặc điều trị nội trú
- Đánh giá cộng điểm nếu chương trình có những tiện ích khác, gợi ý:
o Bố trí giao diện hợp lý (gợi ý: tìm hiểu các console functions trong thư viện
windows.h, tham khảo các chương trình quản lý)
o Những tính năng hữu ích khác do sinh viên sáng tạo
- Thực hiện chương trình bằng C/C++

You might also like