Kĩ thuật lập trình - Chương 5. Kiểu dữ liệu có cấu trúc

Khái niệm

Khai báo

Cách truy xuất thành phần bên trong cấu trúc

Xử lý cấu trúc đơn

Xử lý mảng có cấu trúc

 

pptx22 trang | Chia sẻ: Mr Hưng | Lượt xem: 742 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Kĩ thuật lập trình - Chương 5. Kiểu dữ liệu có cấu trúc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRẦN MINH THÁIEmail: minhthai@itc.edu.vnWebsite: www.minhthai.edu.vn Cập nhật: 08 tháng 04 năm 2015Chương 5. Kiểu dữ liệu có cấu trúcNội dungKhái niệmKhai báoCách truy xuất thành phần bên trong cấu trúcXử lý cấu trúc đơnXử lý mảng có cấu trúcBài tậpKhái niệmKiểu dữ liệu có cấu trúc là kiểu dữ liệu do lập trình viên tự định nghĩa bằng cách gom nhóm các kiểu dữ liệu cơ bản có sẵn trong C thành một kiểu dữ liệu phức hợp gồm nhiều thành phầnKhai báo struct tên_struct { khai báo các thuộc tính; }; typedef struct tên_struct TênKDL;Khái niệmVí dụ khai báo kiểu dữ liệu lưu thông tin của ngày:struct ttDate{ char thu[10]; int ngay; int thang; int nam;};typedef struct ttDate Date;Truy cập các thuộc tính cấu trúcBiến kiểu cấu trúcTÊNKDL tên_biến;tên_biến.tên_thuộc_tính;Ví dụ Date x; x.ngay = 5;Truy cập các thuộc tính cấu trúcBiến con trỏ kiểu cấu trúcTÊNKDL *tên_biến_con_trỏ;tên_biến_con_trỏ -> tên_thuộc_tính;Ví dụ: Date *x ; x = (Date*) malloc(sizeof(Date)); x -> ngay = 5 ; struct tên_struct { khai báo các thuộc tính; struct tên_struct *tên_thuộc_tính_đệ_qui; };Khai báo đệ quyVí dụ: struct ttNode { int key; struct ttNode *pNext; };Khai báo đệ quyViế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;Ví dụ//File caidat.cpp#include "khaibao.h"void Nhap (Diem &d){ printf(“\nNhap vao toa do diem\n”); printf(“Hoanh do : “); scanf(“%d”, &d. x); printf(“Tung do : ”); scanf(“%d”, &d.y); }Ví dụvoid Xuat (Diem d){ printf(“\nToa do diem : (%d, %d)”, d.x, d.y);} Diem Tong (Diem d1, Diem d2){ Diem temp; temp.x = d1.x + d2.x ; temp.y = d1.y + d2.y ; return temp;}Ví dụ//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); printf(“\n Tong cua hai diem vua nhap la : ”); AB = Tong (A, B); Xuat (AB);}Ví dụBài tập 1Viết chương trình nhập vào thông tin của một sinh viên gồm:Mã số sinh viênHọ 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%Bài tập 2Sử dụng kiểu dữ liệu có cấu trúc để khai báo và viết chương trình (theo phương pháp thủ tục hàm) gồm các chức năng sau:Nhập vào 2 phân sốTính tổng và tích hai phân số (kết quả phải là phân số tối giản)Xuất kết quả ra màn hìnhBài tập 3Viế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)Mảng cấu trúcCá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ấu trú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ừng phầ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 đến thành phần cuối cùng có kiểu là dữ liệu cơ bảnNguyên tắc lập trình trên mảng cấu trúcDo kiểu dữ liệu có cấu trúc thường chứa rất nhiều thành phần nên khi viết chương trình loạ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. 17Ví dụViết hàm nhập vào mảng các phân sốstruct ttPhanSo{ int tu, mau;};typedef struct ttPhanSo PhanSo;Ví dụvoid NhapPS(PhanSo &ps){ printf("Nhap tu so: "); scanf("%d« , &ps.tu); printf("\nNhap mau so: “); scanf(“%d”, &ps.mau);}Ví dụvoid NhapMangPS(PHANSO dsps[], int n){ for(int i=0; i<n; i++) { printf(”\nNhap vao phan so thu %d: “, i+1); NhapPS(dsps[i]); }}Bài tập 44.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ảng4.2. Viết chương trình nhập vào danh sách các mặt hàng, in ra mặt hàng có xuất xứ “VietNam”, biết thông tin mặt hàng gồm: - Mã mặt hàng - Tên mặt hàng - Đơn giá - Xuất xứ Q&A

Các file đính kèm theo tài liệu này:

  • pptx_chuong5_kieudulieucocautruc_3913.pptx
Tài liệu liên quan