Click to add title Giảng viên Lê Thị Hoàng Anh Email anhlthnuce edu vn Lập trình C++ Chương 11 Kiểu dữ liệu cấu trúc Kiểu dữ liệu cấu trúc 1 Khái niệm chung về cấu trúc dữ liệu kiểu cấu trúc 1 1. Định nghĩa cấu trúc dữ liệu kiểu cấu trúc Dùng để mô tả các đối tượng: Có cùng một số thuộc tính. Các thuộc tính có thể có kiểu dữ liệu khác nhau Các thuộc tính được gọi là các trường Mỗi trường đều được đặt tên và được khai báo kiểu dữ liệu. Khai báo gián tiếp Khai báo kiểu: typedef struct { kiểu trường 1 ; kiểu trường 2 < tên trường 2>; … kiểu trường n < tên trường n>; } ; Khai báo biến: tên biến struct; b. Khai báo trực tiếp struct { kiểu trường 1 ; kiểu trường 2 < tên trường 2>; … kiểu trường n < tên trường n>; } ; ;có thể không khai báo biến tại đây. Khai báo các biến struct tại vị trí khác: struct ;
Lập trình C++ Chương 11: Kiểu liệu cấu trúc Giảng viên: Lê Thị Hoàng Anh Email: anhlth@nuce.edu.vn Kiểu liệu cấu trúc Khái niệm chung cấu trúc liệu kiểu cấu trúc 1.1 Định nghĩa cấu trúc liệu kiểu cấu trúc 1.2 Các cách khai báo biến kiểu cấu trúc Truy nhập vào cấu trúc - Truy nhập biến cấu trúc - Truy nhập mảng cấu trúc Sử dụng cấu trúc - Nhập liệu vào cấu trúc - Xuất liệu từ cấu trúc - Phép gán, so sánh nội dung cấu trúc - Bài tập 22 Bài toán đặt vấn đề Bảng kết kiểm tra chất lượng Trường (Field) SBD Cấu trúc (Struct) Họ tên Toán Văn 01 Nguyễn An 10.0 9.0 02 Vũ Ngọc Bình 8.5 5.0 48 Trần Thu Trà 7.0 6.5 49 Đặng Anh Tuấn 5.0 7.5 50 Phan Vân 6.0 4.5 Tổng Kết Yêu cầu: Nhập vào thông tin học sinh, tính tổng xét kết quả, biết 09/27/22 tổng >=10 kết đạt Định nghĩa cấu trúc liệu kiểu cấu trúc • Dùng để mơ tả đối tượng: - Có số thuộc tính - Các thuộc tính có kiểu liệu khác • Các thuộc tính gọi trường • Mỗi trường đặt tên khai báo kiểu liệu Các cách khai báo biến kiểu cấu trúc a Khai báo gián tiếp - Khai báo kiểu: typedef struct { kiểu trường ; kiểu trường < tên trường 2>; … kiểu trường n < tên trường n>; } ; - Khai báo biến: tên biến struct; Các cách khai báo biến kiểu cấu trúc a Khai báo gián tiếp Ví dụ: typedef struct{ char title[50]; char author[50]; char subject[100]; int book_id; } Books; // Khai báo biến Books book1,book2; Các cách khai báo biến kiểu cấu trúc b Khai báo trực tiếp struct { kiểu trường ; kiểu trường < tên trường 2>; … kiểu trường n < tên trường n>; } ; ;//có thể khơng khai báo biến -Khai báo biến struct vị trí khác: struct ; Các cách khai báo biến kiểu cấu trúc b Khai báo trực tiếp Ví dụ: Struct Books { char title[50]; char author[50]; char subject[100]; int book_id; } book1, book2;//có thể khơng khai báo biến // Khai báo thêm biến khác struct Books book3,book4; Họ tên SBD Toán Văn 10.0 9.0 8.5 5.0 01 Nguyễn An 02 Vũ Ngọc Bình 48 Trần Thu Trà 7.0 6.5 49 Đặng Anh Tuấn 5.0 7.5 50 Phan Vân 6.0 4.5 Hocsinh { int SBD; string Hoten; float Toan,Van,Tong; string Ketqua; }; struct Hocsinh HS[50]; struct Hocsinh A,B; Tổng Kết struct Khai báo kiểu liệu cho trường (field) Khai báo biến kiểu cấu trúc (struct) Kiểu liệu cấu trúc Khái niệm chung cấu trúc liệu kiểu cấu trúc 1.1 Định nghĩa cấu trúc liệu kiểu cấu trúc 1.2 Các cách khai báo biến kiểu cấu trúc Truy nhập vào cấu trúc - Truy nhập biến cấu trúc - Truy nhập mảng cấu trúc Sử dụng cấu trúc - Nhập liệu vào cấu trúc - Xuất liệu từ cấu trúc - Phép gán, so sánh nội dung cấu trúc - Bài tập 10 10 Truy nhập vào trường cấu trúc • • Ví dụ: Truy cập đến trường biến A có kiểu Hocsinh A.SBD = 01; A.Hoten =“Nguyễn An”; A.Toan= 10.0; A.Van= 9.0; A.Tong=A.Toan + A.Van; 11 Truy nhập mảng cấu trúc • Truy nhập vào mảng cấu trúc • Ví dụ: Truy nhập đến trường học sinh số thứ i mảng HS[i].SBD=i; HS[i].Hoten=“Trần Kha” ; HS[i].Toan=7.5; HS[i].Van= 6.5; HS[i].Tong=HS[i].Toan+ HS[i].Van; 12 Kiểu liệu cấu trúc Khái niệm chung cấu trúc liệu kiểu cấu trúc 1.1 Định nghĩa cấu trúc liệu kiểu cấu trúc 1.2 Các cách khai báo biến kiểu cấu trúc Truy nhập vào cấu trúc - Truy nhập biến cấu trúc - Truy nhập mảng cấu trúc Sử dụng cấu trúc - Nhập liệu vào cấu trúc - Xuất liệu từ cấu trúc - Phép gán, so sánh nội dung cấu trúc - Bài tập 13 13 Nhập thông tin học sinh Các bước - Nhập số học sinh - Nhập liệu (các thuộc tính) cấu trúc Thể C++ coutn; for(i=0;i