Tải bản đầy đủ (.pdf) (7 trang)

Tài liệu Bài tập thực hành Lập trình C trên Windows pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (254.91 KB, 7 trang )

© Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.HCM 1/7
Môn học Lập trình C trên Windows
Bài tập thực hành
oOo

Chương 0:

1. Làm quen với 1 chương trình C viết trên thư viện API
a. Phần 1:

- Sử dụng VC++ 6, dùng chức năng New project, chọn loại project “Win32 Application”
- Chọn chức năng “A typical Hello World !” application
- Hoàn tất tạo project, biên dịch và chạy thử nghiệm chương trình
b. Phần 2:

- Thay đổi tiêu đề của của sổ thành “Chuong trinh C/API”
- Thay đổi nội dung hiển thị trên màn hình client area thành:
“Day la chuong trinh dau tien…
… viet bang VC++…
… tren HDH Windows…
… bang thu vien API. “

2. Tài nguyên của chương trình: lấy chương trình kết quả của bài tập 1, thực hiện tiếp:
a. Phần 1:

- Thay đổi biểu tượng của chương trình
- Thay đổi con trỏ chuột
- Thay đổi nội dung của hộp thoại “About”
b. Phần 2:

- Bổ sung thêm vào menu “File” các mục sau: New, Open, Save


- Thêm mới 1 menu popup “Edit” với các item sau: Undo, Cut, Copy, Paste, Select all
- Mỗi menu item đều có phím tắt tương ứng

3. Lập trình sự kiện: lấy chương trình kết quả của bài tập 2, thực hiện tiếp:
a. Phần 1:

- Khi user chọn menu item, hiển thị dialog box thông báo:
“Ban vua chon chuc nang XXXX”
- Khi user thoát chương trình, hiển thị dialog box hỏi xác nhận
b. Phần 2:

- Khi user click mouse trái/phải, hiển thị dialog box thông báo:
“Ban vua nhan mouse trai [phai], tai toa do X=, Y=”

Chương 1:

4. Làm quen với 1 chương trình C viết bằng thư viện MFC
a. Phần 1:

- Sử dụng VC++ 6, dùng chức năng New project, chọn loại project “MFC AppWizard (exe)”
- Chọn loại ứng dụng “Single document”
- Hoàn tất tạo project, biên dịch và chạy thử nghiệm chương trình
b. Phần 2:

- Thay đổi biểu tượng của chương trình
- Thay đổi con trỏ chuột
- Thay đổi nội dung của hộp thoại “About”
c. Phần 3:

- Khi user click mouse trái/phải, hiển thị dialog box thông báo:

“Ban vua nhan mouse trai [phai], tai toa do X=, Y=”

5. Một chương trình soạn thảo văn bản đơn giản
- Tạo ứng dụng MFC ở chế độ “Single document”
© Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.HCM 2/7
- Khi user chọn chức năng “New” Æ tạo 1 cửa sổ soạn thảo EDIT trong vùng client
của cửa sổ giao diện chính
- Xử lý WM_SIZE để kích thước của cửa sổ soạn thảo EDIT luôn trùng khớp với
kích thước vùng client của cửa sổ giao diện chính
- Thực hiện các chức năng: Open, Save, Save as, Undo, Cut, Copy, Paste

6. Một chương trình quản lý đơn giản
- Tạo ứng dụng MFC ở chế độ “Dialog based”
- Màn hình giao diện gợi ý như hình vẽ



- Chương trình cho phép nhập và lưu thông tin lý lịch của các nhân viên. Dữ liệu
được lưu vào file nhị phân dạng record.
- Người dùng nhập thông tin chi tiết cho 1 nhân viên rồi nhấn “Lưu” để lưu record
vào file. Sau khi lưu xong, xóa các ô nhập liệu để thực hiện cho nhân viên tiếp
theo.
- Mục “Trình độ” có các lựa chọn sau: tiểu học, trung học, trung cấp, đại học, sau
đại học
- Nút “Chọn hình” mở hộp thoại cho phép chọn 1 file hình ảnh (BMP). Tên file
được thể hiện trên ô “Tên file hình”, ảnh được hiển thị trên ô trống

7. Phát triển từ bài tập 6
- Tạo ứng dụng MFC ở chế độ “Dialog based”
- Màn hình giao diện gồm 2 phần:

o Bên trái là 1 danh sách các Mã NV (đọc từ file record)
o Bên phải có giao diện giống bài tập 6
- User chọn 1 Mã NV trong danh sách, các thông tin tương ứng của NV sẽ hiển thị

Chương 2:

8. Áp dụng kỹ thuật lập trình sự kiện và kỹ thuật Hook (chặn các thông điệp) để xây dựng
chương trình “bộ gõ tiếng Việt.”
Yêu cầu:

- Chương trình chạy background, hiển thị icon ở system tray
- Hỗ trợ 1 trong các cách gõ: VNI, TELEX
- Hỗ trợ 1 trong các bảng mã: VNI, TCVN3
- Áp dụng được trong tất cả các ứng dụng trên Windows
- Chỉ nộp chương trình, không cần sưu liệu

9. Xây dựng chương trình “DateBook”. Công dụng của chương trình là cho phép ghi nhận
các việc phải làm trong ngày, nhắc nhở user khi đến thời điểm qui định.
Yêu cầu:

© Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.HCM 3/7
- Chương trình chạy background, hiển thị icon ở system tray
- Khi user click lên icon của chương trình, sẽ mở giao diện hộp thoại như sau:

- Khi user click chọn 1 ngày trên lịch, chương trình sẽ mở giao diện hộp thoại quản lý
công việc như sau:

• Ngày: là ngày/tháng/năm đã chọn
• Các công việc: danh sách các công việc đã được định nghĩa trong ngày.
Thể hiện dạng ListView 2 cột. 1 cột là “Tên công việc”; 1 cột là “Thời

gian thực hiện”.
• Add: chức năng định nghĩa mới 1 công việc
• Delete: chức năng xóa bỏ 1 công việc trong danh sách.
• Close: đóng dialog

- Khi user chọn chức năng “Add”, chương trình mở dialog cho phép định nghĩa mới 1
công việc trong ngày như sau:

• Ngày: là ngày/tháng/năm đã chọn
• Giờ: user chọn giờ để thực hiện công việc
• Shutdown: tự động shutdown máy khi đến giờ qui định
© Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.HCM 4/7
• Nhắc nhở: hiển thị 1 message-box với câu thông báo lên màn hình khi đến
giờ qui định, đồng thời phát 1 tiếng sound.
• OK: xác nhận công việc đã nhập
• Cancel: hủy bỏ công việc đang nhập
- Sau khi user đã định nghĩa các công việc, chương trình sẽ tự động kiểm tra và nhắc
nhở. Chu kỳ kiểm tra là 1 phút.
- Lưu trữ:
• Lưu lại tất cả công việc trong 1 tập tin, tên file do user chỉ định
• Tên file được lưu vào file WIN.INI trong section [DateBook]
• Khi user mở dialog “Quản lý công việc trong ngày”, chương trình tự động
đọc file và load tất cả các công việc của ngày đã chọn vào danh sách.
- Xây dựng các chức năng chính dưới dạng DLL, bao gồm:
• Quản lý công việc trong ngày
• Tạo mới 1 công việc trong ngày
• Shutdown hệ thống
• Hiển thị nhắc nhở
- Nộp chương trình và sưu liệu thiết kế DLL. Sưu liệu mô tả chi tiết prototype của các
hàm trong thư viện DLL, các cấu trúc dữ liệu quan trọng của chương trình.


Chương 4 & 5:

10. Xây dựng chương trình “Simple Drawing”. Chương trình cho phép user dùng mouse để
vẽ các đối tượng hình, tô màu.

Mô tả chi tiết:

Giao diện gợi ý như hình vẽ (SDI - Single Document Interface).



a. Các chức năng của chương trình bao gồm:

- File:
o New: xóa màn hình, bắt đầu vẽ mới.
o Exit: thoát chương trình
- Edit:
o Cut: cắt khu vực đang chọn, đưa vào Clipboard (dạng bitmap)
o Copy: copy khu vực đang chọn, đưa vào Clipboard (dạng bitmap)
o Paste: dán dữ liệu trong Clipboard ra màn hình, tại tọa độ (0, 0)
© Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.HCM 5/7
- Drawing:
o Line: chọn chế độ vẽ đường thẳng. User dùng mouse để vẽ đoạn thẳng
o Rectangle: chọn chế độ vẽ hình chữ nhật. User dùng mouse để vẽ hình chữ
nhật
o Circle: chọn chế độ vẽ đường tròn. User dùng mouse để vẽ đường tròn.
o Select: chọn chế độ đánh dấu vùng (để Cut/Copy)
o Fill: chọn chế độ tô màu. User click mouse để chọn điểm bắt đầu tô màu.
o Line Color: mở hộp thoại Color, cho phép user chọn màu vẽ đường.

o Fill Color: mở hộp thoại Color, cho phép user chọn màu để tô.
- View:
o Toolbar: Xem/ẩn thanh ToolBar
o Statusbar: Xem/ẩn thanh StatusBar
- Help:
o About: giới thiệu về chương trình
b. Các yêu cầu khác:

- Tất cả các chức năng đều thể hiện trên ToolBar
- Mỗi chức năng đều có ToolTip Text và có hướng dẫn trên StatusBar
- Tất cả chức năng liên quan đến Clipboard (Cut/Copy/Paste) được tổ chức thành 1
DLL riêng

11. Xây dựng chương trình “Object Drawing”. Chương trình cho phép user dùng mouse để
vẽ các đối tượng hình, copy, cắt dán các đối tượng.
Mô tả chi tiết:

Giao diện gợi ý như hình vẽ (SDI - Single Document Interface).



a. Các chức năng của chương trình bao gồm:

- File:
o New: xóa màn hình, bắt đầu vẽ mới.
o Exit: thoát chương trình
- Edit:
o Cut: cắt đối tượng đang được chọn, đưa vào Clipboard (dạng object)
o Copy: copy đối tượng đang được chọn, đưa vào Clipboard (dạng object)
o Paste: dán đối tượng trong Clipboard ra màn hình, tại tọa độ (0, 0)

- Drawing:
© Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.HCM 6/7
o Line: chọn chế độ vẽ đường thẳng. User dùng mouse để vẽ đoạn thẳng. Đối
tượng đường thẳng có các thuộc tính: (x1, y1), (x2, y2), nét vẽ (pen, bao gồm:
màu (color), độ rộng (thickness), dạng (style)).
o Rectangle: chọn chế độ vẽ hình chữ nhật. User dùng mouse để vẽ hình chữ
nhật. Đối tượng hình chữ nhật có các thuộc tính: (x1, y1), (x2, y2), nét vẽ
(pen, bao gồm: màu (color), độ rộng (thickness), dạng (style)), mẫu tô (brush,
bao gồm: dạng (style), màu (color), hatch).
o Ellipse: chọn chế độ vẽ đường tròn. User dùng mouse để vẽ đường tròn. Đối
tượng ellipse có các thuộc tính: (x, y), bán kính nhỏ, bán kính lớn, nét vẽ (pen,
bao gồm: màu (color), độ rộng (thickness), dạng (style)), mẫu tô (brush, bao
gồm: dạng (style), màu (color), hatch).
o Select: chuyển sang chế độ chọn đối tượng (để Cut/Copy). Đối tượng được
chọn sẽ “high-light” và user có thể dùng mouse di chuyển đối tượng.
o Settings: mở hộp thoại xác định các thuộc tính vẽ. Hộp thoại cho phép xác
định 2 loại thuộc tính sau:
 Nét vẽ (Pen): màu (color), độ rộng (thickness), dạng (style)
 Mẫu tô (Brush): dạng (style), màu (color), hatch
Các thuộc tính vẽ sẽ được áp dụng cho những đối tượng sau đó.
- View:
o Toolbar: Xem/ẩn thanh ToolBar
o Statusbar: Xem/ẩn thanh StatusBar
- Help:
o About: giới thiệu về chương trình
b. Các yêu cầu khác:

- Tất cả các chức năng đều thể hiện trên ToolBar. Toolbar không thể hiện các chức
năng không có trong yêu cầu của đề bài.
- Mỗi chức năng đều có ToolTip Text (trên Toolbar) và có hướng dẫn trên StatusBar.

- Tất cả chức năng liên quan đến Clipboard (Cut/Copy/Paste) được tổ chức thành 1
DLL riêng.

Chương 6:

12. Xây dựng chương trình “Trò chơi lật hình”. Chương trình có 1 số cặp hình giống nhau
(bị dấu). Người dùng click mouse để lật từng hình, nếu lật được 2 hình giống nhau liên
tiếp thì ghi được 1 điểm; nếu không hình sẽ trở lại trạng thái bị dấu.
Mô tả chi tiết:

- Giao diện gợi ý như hình vẽ. Thư viện các hình sử dụng có thể lấy các file ICO và
import vào chương trình sẵn.
- Màn hình bên trái dạng ListView thể hiện các hình.
- Option “Số hình”: cho phép user chọn số cặp hình muốn chơi. Không quá MAX = 10
cặp hình
- Option “Play nhạc”: cho phép play 1 file nhạc (WAV) trong lúc chơi. Nhạc bắt đầu
play khi user nhấn “New game” để bắt đầu 1 game mới.
- Option “Play 1 lần”: play xong file nhạc 1 lần rồi dừng
- Option “Play liên tục”: play liên tiếp bài nhạc cho đến khi hết game hay thoát
© Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.HCM 7/7

- Option “Chọn file WAV”: cho phép user chọn file WAV để play. Tên file đã chọn thể
hiện trên mục “Tên file”
- “Kết quả” thể hiện số điểm đạt được và thời gian đã trôi qua (từ lúc bắt đầu game)
- Nút “New game” để bắt đầu 1 game mới
- Nút “Kết thúc”: thoát chương trình.
Yêu cầu:

- Khi kết thúc chương trình, tất cả các thông số đều được ghi lại vào file TCLH.INI.
File này lưu cùng thư mục với chương trình. Những thông số cần lưu gồm:

o Số hình
o Có play nhạc hay không
o Play 1 lần hay play liên tục
o Tên file WAV
o Tọa độ góc trên của cửa sổ giao diện
- Khi bắt đầu chạy, chương trình kiểm tra file TCLH.INI, nếu có thì xác lập tất cả các
thông số như đã lưu; nếu không có thì xác lập các thông số mặc định
o Số hình = 6
o Không play nhạc
o Cửa sổ giao diện hiển thị ngay chính giữa màn hình.

Hết

×