Bài giảng lập trình hướng đối tượng (object oriented programming) chương 1 7 kiểu cấu trúc và kiểu liệt kê

15 1 0
Bài giảng lập trình hướng đối tượng (object oriented programming)   chương 1 7 kiểu cấu trúc và kiểu liệt kê

Đ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

Chương 01.7: Kiểu cấu trúc kiểu liệt kê I Kiểu cấu trúc (struct) II Kiểu liệt kê (enum) Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 I Kiểu cấu trúc Khái niệm kiểu cấu trúc Khai báo kiểu cấu trúc Khai báo biến cấu trúc Truy nhập thành phần cấu trúc Khởi tạo biến cấu trúc Phép gán biến cấu trúc Mảng cấu trúc Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 Khái niệm kiểu cấu trúc  Ngoài kiểu liệu có sẵn C++ người lập trình cịn tạo kiểu liệu riêng Trong chương nghiên cứu hai kiểu hay dùng kiểu cấu trúc kiểu liệt kê  Một cấu trúc nhóm phần tử có kiểu liệu khác Các phần tử gọi thành phần cấu trúc Kiểu cấu trúc C++ tương đương với kiểu ghi Pascal Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 Khai báo kiểu cấu trúc  Khai báo cấu trúc mô tả thành phần cấu trúc Cú pháp sau: Từ khoá struct Tên_kiểu_cấu trúc { Kiểu_1 Tên_thành_phần_1; Kiểu_2 Tên_thành_phần_2; Dấu chấm phẩy kết thúc }; khai báo kiểu cấu trúc Các thành phần cấu trúc Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 Khai báo kiểu cấu trúc (tiếp)  Ví dụ: Để lưu trữ thơng tin nhân phịng tổ chức với thông tin họ tên, ngày sinh, địa chỉ, lương ta khai báo kiểu cấu trúc sau: struct nhansu { char hoten[30]; char ngaysinh[10]; char diachi[40]; float luong; }; Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 Khai báo kiểu cấu trúc (tiếp)  Sau khai báo kiểu cấu trúc ta dùng tên kiểu cấu trúc tên kiểu liệu  Kiểu thành phần cấu trúc kiểu cấu trúc, tức cấu trúc chứa cấu trúc khác Ví dụ: struct ngaythang { int ngay,thang,nam; }; struct nhansu { char hoten[30]; ngaythang ngaysinh; char diachi[40]; float luong; }; Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 Khai báo biến cấu trúc  Việc khai báo kiểu cấu trúc không tạo vùng nhớ chứa cấu trúc mà mô tả cấu trúc xem có  Muốn có vùng nhớ chứa cấu trúc ta phải khai báo biến cấu trúc Cú pháp: Tên_kiểu_cấu_trúc Tên_biến_cấu trúc; Ví dụ: nhansu ng1,ng2; Ngơ Cơng Thắng - Bài giảng LTHDT - Chương 01_7 Truy nhập thành phần cấu trúc  Để truy nhập thành phần cấu trúc ta dùng toán tử chấm Cú pháp: Tên_biến_cấu_trúc.Tên_thành_phần Ví dụ: struct thisinh { char SBD[15]; float toan,ly,hoa; }; //Khai bao bien cau truc thisinh ts; //Nhap du lieu cho thi sinh coutts.SBD; coutts.toan; coutts.ly; coutts.hoa; Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 Khởi tạo biến cấu trúc  Khi khai báo biến cấu trúc ta khởi tạo giá trị cho thành phần cấu trúc khởi tạo cho phần tử mảng Ví dụ: //Khai bao kieu cau truc struct thisinh { char SBD[15]; float toan,ly,hoa; }; //Khai bao va khoi tao bien cau truc thisinh ts={"NNHA23456", 7, 8, 9}; Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 Phép gán biến cấu trúc  Ta gán biến cấu trúc cho biến cấu trúc kiểu Ví dụ: //Khai bao kieu cau truc struct thisinh { char SBD[15]; float toan,ly,hoa; }; //Khai bao bien cau truc thisinh ts1={"NNHA23456",7,8,9}; thisinh ts2; ts2=ts1; Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 10 Mảng cấu trúc  Sau khai báo kiểu cấu trúc tên kiểu cấu trúc dùng kiểu liệu khác Chẳng hạn, dùng cấu trúc làm kiểu phần tử mảng Ví dụ: //Khai bao kieu cau truc struct thisinh { char SBD[15]; float toan,ly,hoa; }; //Khai bao bien cau truc thisinh ds[100]; strcpy(ds[0].SBD,"NNHA23456"); ds[0].toan=8; ds[0].ly=8; ds[0].hoa=9; Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 11 II Kiểu liệt kê  Kiểu liệt kê kiểu liệu người lập trình tự định nghĩa cách liệt kê tất giá trị Các giá trị kiểu liệt kê tên tự đặt  Để định nghĩa kiểu liệt kê ta dùng từ khóa enum theo cú pháp sau: enum Tên_kiểu_liệt_kê {Danh sách tên tự đặt}; Ví dụ: enum boolean {TRUE, FALSE}; enum mausac {Xanh, Do, Tim, Vang}; enum days_of_week {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 12 II Kiểu liệt kê (tiếp)  Sau khai báo kiểu liệt kê ta khai báo biến kiểu liệt biến kiểu khác: Tên_kiểu_liệt_kê Danh_sách_các_biến; Ví dụ: Giả sử kiểu liệt kê khai báo trên, ta khai báo biến liệt kê: days_of_week day1, day2;  Để đưa giá trị vào biến liệt kê ta dùng lệnh gán: Ví dụ: day1 = Mon; day2 = Sat;  Ta không dùng lệnh cout cin với biến kiểu liệt kê Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 13 II Kiểu liệt kê (tiếp)  Các giá trị kiểu liệt kê lưu trữ số nguyên kiểu int, giá trị tên 0, giá trị tên 1,… Ví dụ: Với kiểu liệt kê days_of_week Sun có giá trị 0, Mon có giá trị 1, Tue có giá trị 3,…  Ta thay đổi giá trị số giá trị tên   Cho giá trị tên có giá trị số số khác Ví dụ: enum mausac {Xanh=5, Do, Tim, Vang}; Với khai báo Xanh có giá trị 5, Do có giá trị 6, Tim có giá trị 7, Vàng có giá trị Cho Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 14 Bài tập Viết chương trình nhập vào danh sách có n sinh viên, sinh viên có thơng tin họ tên, lớp, điểm TBC Sắp xếp danh sách sinh viên theo điểm TBC giảm dần Ngô Công Thắng - Bài giảng LTHDT - Chương 01_7 15

Ngày đăng: 30/06/2023, 08:58

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

Tài liệu liên quan