Đề cương thực hành lập trình hướng đối tượng và c (CT114)

6 1.9K 11
Đề cương thực hành  lập trình hướng đối tượng và c (CT114)

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

Thông tin tài liệu

Đề cương thực hành Lập trình hướng đối tượng C++ (CT114) ĐỀ CƯƠNG THỰC HÀNH Môn : Lập trình hướng đối tượng C++ (CT114) Số tiết: 30 tiết - Số buổi thực hành: buổi Áp dụng cho học kỳ 1, năm học 2014-2015 Chú ý: Sinh viên phải thực tất chủ điểm quy định buổi thực hành, không yêu cầu thực tất buổi Buổi : o Mục đích : Sinh viên tập làm quen với phong cách lập trình hướng đối tượng Cài đặt số lớp đơn giản Viết phương thức hàm xây dựng lớp Sử dụng lớp vừa định nghĩa o Yêu cầu : Bài : Cài đặt lớp Diem (Điểm không gian chiều) gồm: Thuộc tính: x, y số nguyên Các phương thức bao gồm : + Hàm xây dựng: Diem(int h=0, int t=0); + Nhập tọa độ cho điểm từ bàn phím: void NhapDiem(); + In hình tọa độ điểm theo dạng (x,y): void InDiem(); + Lấy giá trị hoành độ điểm: int GiaTriX(); + Lấy giá trị tung độ điểm: int GiaiTriY(); + Tính khoảng cách từ điểm đến điểm khác: float KhoangCach(Diem m); Viết hàm main() khai thác lớp vừa định nghĩa : + Tạo điểm A tọa độ (3,4) In tọa độ điểm A hình + Tạo điểm B với giá trị nhập từ bàn phím In tọa độ điểm B hình + Tạo điểm C đối xứng với điểm B qua gốc tọa độ In tọa độ điểm C hình + Hiển thị hình khoảng cách từ điểm B đến tâm O + Tính khoảng cách từ điểm C đến điểm B Bài : Cài đặt lớp Clock gồm: Các thuộc tính: giờ, phút, giây kiểu int Các hàm xây dựng: + Hàm xây dựng mặc nhiên: Clock(); + Hàm xây dựng có nhiều đối số: Clock(int h, int m, int s); Các hàm thành viên gồm : + Hàm nhập giá trị từ bàn phím + Hàm hiển thị thông tin hình dạng: giờ:phút:giây + Hàm làm tròn thời gian: void LamTron(); Chẳng hạn: 13:67:150 làm tròn thành 14:09:30 + Viết hàm cộng Clock với n phút đó: Clock Cong(int n); Viết hàm main() khai thác lớp vừa định nghĩa: + Tạo Clock a có giá trị 9:15:38 In giá trị hình + Tạo Clock b có giá trị mặc định Nhập giá trị cho đối tượng b In hình + Cộng 45 phút cho Clock b Làm tròn b in hình Bài : Cài đặt lớp Date gồm : Các thuộc tính: ngay, thang, nam Các hàm thành viên gồm : + Hàm xây dựng + Hàm nhập giá trị hàm thông tin ngày hình + Hàm kiểm tra xem ngày có hợp lệ hay không ? int HopLe(); Chẳng hạn: Ngày 31/6/2000 hay 29/2/1999 không hợp lệ + Hàm cộng Date với ngày, kết ngày hôm sau: Date Cong(); Ví dụ: Gọi hàm Cong() đối tượng ngày 30/06/2007 01/07/2007 Bộ môn Mạng MT TT Trang Đề cương thực hành Lập trình hướng đối tượng C++ (CT114) + Hàm cộng Date với số ngày n đó: Date Cong(int n); Ví dụ: ngày 15/6/2000 cộng thêm 20 05/7/2000 Viết hàm main() khai thác lớp vừa định nghĩa Buổi : o Mục đích : Sinh viên tiếp tục thực tập cài đặt lớp, viết hàm phức tạp Định nghĩa hàm xây dựng, hàm xây dựng chép, hàm hủy Dùng nhiều cách khác để khởi tạo đối tượng o Yêu cầu : Bài : Thiết kế lớp PhanSo ( Phân số ) gồm: Các thuộc tính : tử số mẫu số kiểu int Các hàm xây dựng gồm : + Hàm xây dựng : PhanSo(); + Hàm xây dựng gồm nhiều đối số : PhanSo(int tu , int mau); Các hàm thành viên gồm : + Hàm nhập giá trị cho phân số Nếu phân số vừa nhập có mẫu số = yêu cầu nhập lại + Hàm hiển thị phân số theo dạng tu / mau -tu/mau Yêu cầu: tử số =0 in số 0, mẫu số =1 in tử số + Hàm nghịch đảo thân phân số void NghichDao(); + Hàm tìm phân số nghịch đảo phân số PhanSo GiaTriNghichDao(); + Hàm tính giá trị thực phân số Chẳng hạn phân số 1/2 có giá trị 0.5 + Hàm so sánh giá trị phân số với phân số a int SoSanh(PhanSo a); Kết = 0: phân số nhau, > 0: phân số xét lớn a < 0: phân số xét nhỏ a + Hàm cộng, trừ, nhân, chia phân số với phân số a Kết hàm phân số Chẳng hạn: PhanSo Cong(PhanSo a); … Viết hàm main() sử dụng lớp PhanSo : + Tạo phân số a = 3/7 , b = 4/9 In giá trị chúng hình + Tạo phân số x y Nhập giá trị cho x y từ bàn phím + In giá trị nghịch đảo phân số x hình (không làm thay đổi giá trị x) + Tính tổng x + y in kết hình + Nhập vào danh sách gồm n phân số ( n : nhập từ bàn phím ) + Tính tổng n phân số + Tìm phân số lớn danh sách phân số + Sắp xếp danh sách phân số theo thứ tự tăng dần Bài : Cài đặt lớp ThueBaoDT (thuê bao điện thoại) gồm thông tin sau : - Số điện thoại: kiểu char[11] - Họ tên người thuê bao: kiểu char* - Địa nơi đặt điện thoại: kiểu char* - Số phút gọi nội hạt tháng: kiểu int Viết hàm : + Hàm xây dựng, hàm hủy, phép gán (=) + Hàm nhập hiển thị thông tin người thuê bao + Hàm lấy giá trị liệu thành viên Chẳng hạn: char* LayHoTen(); + Hàm tính cước điện thoại nội hạt tháng Biết : - Thuê bao tháng là: 20.000 đ - Cước gọi phút: 200 đ Viết hàm main thực công việc sau : + Nhập vào danh sách gồm n người thuê bao điện thoại + Tính cước cho tất số thuê bao Bộ môn Mạng MT TT Trang Đề cương thực hành Lập trình hướng đối tượng C++ (CT114) + In danh sách tính tổng số tiền thu + Nhập họ tên, tìm số điện thoại người có họ tên vừa nhập danh sách + In danh sách thuê bao theo thứ tự Alphabe tên người thuê bao Gợi ý: Cần định nghĩa hàm độc lập dùng để tách tên họ tên tổng quát Bài 3: Tách tất lớp thành phần : + < Tên lớp >.hpp chứa phần khai báo lớp + < Tên lớp >.cpp chứa định nghĩa hàm lớp Định nghĩa hàm main() file riêng dùng để sử dụng lớp định nghĩa file khác Chú ý: áp dụng cách viết tránh định nghĩa nhiều lần lớp Buổi : o Mục đích : Sinh viên tiếp tục thực tập cài đặt lớp định nghĩa hàm Sử dụng thêm kỹ thuật : hàm bạn, định nghĩa toán tử, nhập xuất file o Yêu cầu : Bài 1: Cài đặt lớp Gach (gạch lót nền) sau: Thuộc tính: + mã số, màu: kiểu char* + số lượng viên hộp, chiều dài, chiều ngang viên gạch (đv tính cm): kiểu int + giá bán hộp: kiểu float Phương thức: + Hàm xây dựng + Hàm xây dựng có nhiều đối số + Hàm xây dựng chép + Phép gán + Hàm hủy + Tái định nghĩa toán tử nhập (>>) cho hộp gạch + Tái định nghĩa toán tử xuất ( ) Viết hàm độc lập : void SapXep(PhanSo* ds, int soluong); dùng để xếp danh sách phân số theo thứ tự tăng dần Viết lại hàm main() với cách dùng toán tử định nghĩa Thực thêm hàm main() : + Tìm phân số lớn in vị trí phân số lớn danh sách + Sắp xếp danh sách phân số theo thứ tự giảm dần Buổi : o Mục đích : Sinh viên cài đặt lớp theo dạng : thuộc tính lớp đối tượng lớp khác o Yêu cầu : Điều chỉnh lớp Clock Date (đã định nghĩa phía trước) theo dạng sau: class Clock { class Date { int gio, phut, giay; int ngay, thang, nam; public: public: Clock(int=0, int=0, int=0); Date(int=0, int=0, int=0); void In(); void In(); void Nhap(); void Nhap(); int operator > (Clock); int operator > (Date); Clock operator + (int sophut); Date operator + (int songay); Clock operator + (Clock ); Date operator + (Date ); }; }; Bài : Cài đặt lớp CauThuBD (Cầu thủ bóng đá) gồm : + Thuộc tính: - mã số cầu thủ: kiểu char[7] - Họ tên, câu lạc bộ: kiểu char* - ngày sinh: kiểu Date - chiều cao: kiểu float + Các hàm xây dựng, hàm hủy, phép gán + Các hàm thành viên: Nhập, In thông tin, + Hàm kiểm tra xem cầu thủ có sinh sau ngày d hay không: int Test(Date d); + Các hàm dùng để lấy giá trị thuộc tính lớp Viết hàm main() thực công việc sau: + Nhập danh sách gồm n cầu thủ tham gia giải + Tìm cầu thủ có chiều cao giải Bộ môn Mạng MT TT Trang Đề cương thực hành Lập trình hướng đối tượng C++ (CT114) + Đếm xem có cầu thủ đủ tuổi để thi đấu cho đội tuyển U23 + Tìm câu lạc có nhiều cầu thủ danh sách Bài : Cài đặt lớp ThueBaoDD (thuê bao di động trả trước) gồm : + Thuộc tính: - số điện thoại: kiểu char[12] - Số CMND thuê bao: kiểu char[10] - Họ tên thuê bao: kiểu char* - ngày hết hạn gọi: kiểu Date - số tiền tài khoản: kiểu long + Các hàm xây dựng, hàm hủy, phép gán + Các hàm thành viên: Nhập, In thông tin, + Hàm kiểm tra xem thuê bao sử dụng không: int ConSD(Date homnay); + Hàm nạp tiền vào tài khoản: void NapTien(Date ngaynap, long sotien); Biết rằng: thẻ 100, 200, 300, 500 ngàn có thời hạn gọi tương ứng 30, 70, 115, 215 ngày + Hàm tính ngày hết hạn nghe tài khoản Biết rằng: thời hạn nghe = thời hạn gọi + 10 ngày + Hàm dùng để tính tiền gọi: long Goi(int sogiay); Biết rằng: cước giây đầu 138 đ, giây có giá 23 đ + Các hàm dùng để lấy giá trị thuộc tính lớp Viết hàm main() thực công việc sau: + Nhập thông tin cho thuê bao di động + Nạp tiền cho tài khoản + Cho tài khoản gọi gọi, tính lại số tiền tài khoản Bài : Cài đặt lớp DoanThang (đoạn thẳng) gồm : + Thuộc tính: d1, d2 điểm đầu mút đối tượng thuộc lớp Diem (đã có sẵn) + Các hàm xây dựng: DoanThang(); DoanThang(Diem, Diem); DoanThang(int ax, int ay, int bx, int by); + Các hàm thành viên: - Nhập tọa độ đoạn thẳng - In giá trị đầu mút đoạn thẳng - Tính độ dài đoạn thẳng - Tính góc đoạn thẳng với trục hoành - Hàm tịnh tiến đoạn thẳng dộ dời (dx, dy) Thiết kế hàm main thực công việc sau : + Tạo điểm A(2, 5), B(20, 35) Tạo đoạn thẳng AB Tịnh tiến AB đoạn (5,3) + Tạo đoạn thẳng CD Nhập giá trị cho đoạn thẳng CD + Hiển thị hình độ dài CD, góc CD với trục hoành Bài : Thiết kế lớp HinhAnh ( Hình ảnh) gồm : + Thuộc tính : Diem* ds; // Tập hợp điểm int vitri; // Số lượng điểm có hình int max; // Số lượng điểm tối đa hình + Hàm xây dựng : HinhAnh(int maxdiem=100); // Tạo ảnh gồm tối đa maxdiem + Hàm xây dựng chép + Phép gán + Hàm hủy + Các hàm thành viên : - Thêm điểm vào hình ảnh (nếu vượt số lượng điểm tối đa tăng max lên lần) - Bỏ điểm vị trí cuối khỏi ảnh - Bỏ điểm vị trí ảnh Bộ môn Mạng MT TT Trang Đề cương thực hành Lập trình hướng đối tượng C++ (CT114) - Bỏ tất điểm có giá trị d khỏi ảnh - Hiển thị tọa độ toàn điểm có ảnh - Xuất giá trị điểm vị trí thứ i ảnh (có thể dùng cách tái ĐN phép toán []) Viết hàm main() sử dụng lớp để kiểm tra tính đắn hàm thành viên ĐN Buổi : o Mục đích : Sinh viên thiết kế lớp theo dạng thừa kế Sử dụng tính chất thừa kế o Yêu cầu : Bài : Thiết kế lớp DiemMau ( Điểm có màu) thừa kế từ lớp Diem có thêm thuộc tính màu Bài : Một trường phổ thông cần quản lý thông tin giáo viên học sinh trường Trong : tất thành viên (Người) có thông tin chung : Họ tên, Giới tính, Năm sinh, Nơi sinh, Địa Giáo viên có thêm thông tin riêng : + Năm bắt đầu giảng dạy + Chuyên môn Và Học sinh có thông tin riêng : + Điểm môn chính: Văn, Toán, Ngoại ngữ + Xếp loại theo tiêu chuẩn sau : Giỏi : ĐTB môn 6.5 Khá : ĐTB 6.5 môn Trung Bình : ĐTB môn Kém : ĐTB Hãy thiết kế lớp cho việc quản lý nhân hiệu Thiết kế hàm main thực công việc sau : + Nhập vào danh sách gồm n Học sinh ( n : nhập vào từ bàn phím) + Nhập vào danh sách gồm m Giáo viên ( m : nhập vào từ bàn phím) + In danh sách + In danh sách Học sinh xếp loại Khá Giỏi + In danh sách Giáo viên có thâm niên 10 năm chuyên môn Toán Lý Bài 3: Một nông trại có nuôi số vật sau: bò, heo, gà, dê Tất vật có thông tin chung : giống, màu lông, cân nặng, … tiếng kêu vật khác Viết hàm main() thực công việc sau: + Tạo n vật gồm loài vật Nhập thông tin cho vật + Cho n vật kêu Yêu cầu đặt : Thiết kế lớp cho sau này, nông trại có nuôi thêm loài vật khác không ảnh hưởng đến thiết kế chung chương trình Bộ môn Mạng MT TT Trang ... c u thủ c chiều cao giải Bộ môn Mạng MT TT Trang Đề c ơng th c hành Lập trình hướng đối tượng C+ + (CT114) + Đếm xem c c u thủ đủ tuổi để thi đấu cho đội tuyển U23 + Tìm c u l c có nhiều c u thủ... Nhập vào danh sách gồm n người thuê bao điện thoại + Tính c c cho tất số thuê bao Bộ môn Mạng MT TT Trang Đề c ơng th c hành Lập trình hướng đối tượng C+ + (CT114) + In danh sách tính tổng số... Trang Đề c ơng th c hành Lập trình hướng đối tượng C+ + (CT114) - Bỏ tất điểm c giá trị d khỏi ảnh - Hiển thị tọa độ toàn điểm c ảnh - Xuất giá trị điểm vị trí thứ i ảnh (c thể dùng c ch tái

Ngày đăng: 03/12/2015, 20:38

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan