Bài giảng Kỹ thuật lập trình nâng cao: Chương 5 - Trần Minh Thái
Số trang: 19
Loại file: pdf
Dung lượng: 477.88 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Kỹ thuật lập trình nâng cao - Chương 5: Kiểu dữ liệu có cấu trúc" cung cấp cho người học các kiến thức: Khái niệm, kiểu dữ liệu có cấu trúc, truy cập các thuộc tính cấu trúc,... Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình nâng cao: Chương 5 - Trần Minh TháiTRẦN MINH THÁIminhthai@itc.edu.vn 1 *Kiểu dữ liệu có cấu trúc thực chất là một kiểu dữliệu do người dùng định nghĩa bằng cách gomnhóm các kiểu dữ liệu cơ bản có sẵn trong Cthành một kiểu dữ liệu phức hợp nhiều thànhphần*Khai báo struct tên_struct { khai báo các thuộc tính; }; typedef struct tên_struct TÊNKDL; 2 **Ví dụ khai báo kiểu dữ liệu lưu thông tin của ngày: struct ttDate { char thu[10]; unsigned char ngay; unsigned char thang; int nam; }; typedef struct ttDate DATE; 3 **Biến kiểu cấu trúc TÊNKDL tên_biến; tên_biến.tên_thuộc_tính;*Ví dụ DATE x; x.ngay = 5; 4 **Biến con trỏ kiểu cấu trúc TÊNKDL *tên_biến_con_trỏ; tên_biến_con_trỏ -> tên_thuộc_tính; Ví dụ: DATE *x ; x -> ngay = 5 ; 5*Khai báo đệ quistruct tên_struct{ khai báo các thuộc tính; struct tên_struct *tên_thuộc_tính_đệ_qui;}; 6*Ví dụ:struct ttNode{ int key; struct ttNode *pNext;}; 7Ví dụ: Viết chương trình nhập vào toạđộ hai điểm độtrong mặt phẳng vàtính tổng hai toạ này//File Khaibao.h#include struct ttDIEM{ int x; int y;};typedef struct ttDIEM DIEM; 8//File caidat.cpp#include khaibao.hvoid Nhap (DIEM &d){ coutd.y;} 9void Xuat (DIEM d){ cout//File main.cpp#include”khaibao.h”void main (){ DIEM A , B, AB; //khai bao 3 diem A, B, AB; Nhap (A); Xuat (A); Nhap (B); Xuat (B); cout *Viết chương trình nhập vào thông tin của mộtsinh viên gồm:*Mã số sinh viên*Họ và tên*Điểm giữa kỳ (GK)*Điểm thực hành (TH)*Điểm lý thuyết (LT)Tính điểm tổng kết môn theo công thức: GK*10%+TH*30%+LT*60% 12 *Viết chương trình nhập vào 2 thời gian t1 vàt2 (thông tin thời gian gồm: giờ, phút vàgiây); tính khoảng cách giữa t1 và t2 (đơn vịtính bằng giây) 13 **Cách khai báo tương tựnhư mảng một chiều(Kiểu dữ liệu bây giờlà kiểu dữ liệu có cấutrúc).*Cách truy cập phần tửtrong mảng cũng nhưtruy cập trên mảng một chiều. Nhưng do từngphần tửcó kiểu cấu trúc nên phải chỉ định rõcần lấy thành phần nào, tức là phải truy cập đếnthành phần cuối cùng có kiểu là dữliệu cơ bản(xem lại bảng các kiểu dữliệu cơ bản) 14 *Do kiểu dữliệu có cấu trúc thường chứa rấtnhiều thành phần nên khi viết chương trìnhloại này ta cần lưu ý:*Xây dựng hàm xửlýcho một kiểu cấu trúc.*Muốn xửlýcho mảng cấu trúc, ta gọi lại hàm xửlýcho một kiểu cấu trúc đã đượ c xây dựng bằng cách dùng vòng lặp. 15 *Viết hàm nhập vào mảng các phân sốstruct ttPhanSo{ int tu, mau;};typedef struct ttPhanSo PHANSO; 16 *void NhapPS(PHANSO &ps){ coutps.tu; coutps.mau;} 17 *void NhapMangPS(PHANSO dsps[], int n){ for(int i=0; i *3.1. Viết chương trình nhập vào mảng các phân số,cho biết phân số có giá trị lớn nhất trong mảng3.2. Viết chương trình nhập vào danh sách các mặthàng, in ra mặt hàng có xuất xứ “VietNam”, biếtthông tin mặt hàng gồm: - Mã mặt hàng - Tên mặt hàng - Đơn giá - Xuất xứ 19
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình nâng cao: Chương 5 - Trần Minh TháiTRẦN MINH THÁIminhthai@itc.edu.vn 1 *Kiểu dữ liệu có cấu trúc thực chất là một kiểu dữliệu do người dùng định nghĩa bằng cách gomnhóm các kiểu dữ liệu cơ bản có sẵn trong Cthành một kiểu dữ liệu phức hợp nhiều thànhphần*Khai báo struct tên_struct { khai báo các thuộc tính; }; typedef struct tên_struct TÊNKDL; 2 **Ví dụ khai báo kiểu dữ liệu lưu thông tin của ngày: struct ttDate { char thu[10]; unsigned char ngay; unsigned char thang; int nam; }; typedef struct ttDate DATE; 3 **Biến kiểu cấu trúc TÊNKDL tên_biến; tên_biến.tên_thuộc_tính;*Ví dụ DATE x; x.ngay = 5; 4 **Biến con trỏ kiểu cấu trúc TÊNKDL *tên_biến_con_trỏ; tên_biến_con_trỏ -> tên_thuộc_tính; Ví dụ: DATE *x ; x -> ngay = 5 ; 5*Khai báo đệ quistruct tên_struct{ khai báo các thuộc tính; struct tên_struct *tên_thuộc_tính_đệ_qui;}; 6*Ví dụ:struct ttNode{ int key; struct ttNode *pNext;}; 7Ví dụ: Viết chương trình nhập vào toạđộ hai điểm độtrong mặt phẳng vàtính tổng hai toạ này//File Khaibao.h#include struct ttDIEM{ int x; int y;};typedef struct ttDIEM DIEM; 8//File caidat.cpp#include khaibao.hvoid Nhap (DIEM &d){ coutd.y;} 9void Xuat (DIEM d){ cout//File main.cpp#include”khaibao.h”void main (){ DIEM A , B, AB; //khai bao 3 diem A, B, AB; Nhap (A); Xuat (A); Nhap (B); Xuat (B); cout *Viết chương trình nhập vào thông tin của mộtsinh viên gồm:*Mã số sinh viên*Họ và tên*Điểm giữa kỳ (GK)*Điểm thực hành (TH)*Điểm lý thuyết (LT)Tính điểm tổng kết môn theo công thức: GK*10%+TH*30%+LT*60% 12 *Viết chương trình nhập vào 2 thời gian t1 vàt2 (thông tin thời gian gồm: giờ, phút vàgiây); tính khoảng cách giữa t1 và t2 (đơn vịtính bằng giây) 13 **Cách khai báo tương tựnhư mảng một chiều(Kiểu dữ liệu bây giờlà kiểu dữ liệu có cấutrúc).*Cách truy cập phần tửtrong mảng cũng nhưtruy cập trên mảng một chiều. Nhưng do từngphần tửcó kiểu cấu trúc nên phải chỉ định rõcần lấy thành phần nào, tức là phải truy cập đếnthành phần cuối cùng có kiểu là dữliệu cơ bản(xem lại bảng các kiểu dữliệu cơ bản) 14 *Do kiểu dữliệu có cấu trúc thường chứa rấtnhiều thành phần nên khi viết chương trìnhloại này ta cần lưu ý:*Xây dựng hàm xửlýcho một kiểu cấu trúc.*Muốn xửlýcho mảng cấu trúc, ta gọi lại hàm xửlýcho một kiểu cấu trúc đã đượ c xây dựng bằng cách dùng vòng lặp. 15 *Viết hàm nhập vào mảng các phân sốstruct ttPhanSo{ int tu, mau;};typedef struct ttPhanSo PHANSO; 16 *void NhapPS(PHANSO &ps){ coutps.tu; coutps.mau;} 17 *void NhapMangPS(PHANSO dsps[], int n){ for(int i=0; i *3.1. Viết chương trình nhập vào mảng các phân số,cho biết phân số có giá trị lớn nhất trong mảng3.2. Viết chương trình nhập vào danh sách các mặthàng, in ra mặt hàng có xuất xứ “VietNam”, biếtthông tin mặt hàng gồm: - Mã mặt hàng - Tên mặt hàng - Đơn giá - Xuất xứ 19
Tìm kiếm theo từ khóa liên quan:
Bài giảng Kỹ thuật lập trình nâng cao Kỹ thuật lập trình nâng cao Kỹ thuật lập trình Kiểu dữ liệu có cấu trúc mảng cấu trúcTài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 270 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 212 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 198 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 170 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 154 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 120 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 110 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 107 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 93 0 0