Bài giảng lập trình c nâng cao chương 5 kiểu dữ liệu có cấu trúc

22 370 0
Bài giảng lập trình c nâng cao chương 5  kiểu dữ liệu có cấu trúc

Đ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 Kiểu liệu có cấu trúc TRẦN MINH THÁI Email: minhthai@itc.edu.vn Website: www.minhthai.edu.vn Cập nhật: 08 tháng 04 năm 2015 Nội dung #2 Khái niệm Khai báo Cách truy xuất thành phần bên cấu trúc Xử lý cấu trúc đơn Xử lý mảng có cấu trúc Bài tập Khái niệm #3 Kiểu liệu có cấu trúc kiểu liệu lập trình viên tự định nghĩa bằng cách gom nhóm kiểu liệu có sẵn C thành kiểu liệu phức hợp gồm nhiều thành phần Khai báo struct tên_struct { khai báo thuộc tính; }; typedef struct tên_struct TênKDL; Khái niệm #4 Ví dụ khai báo kiểu liệu lưu thông tin ngày: struct ttDate { char thu[10]; int ngay; int thang; int nam; }; typedef struct ttDate Date; Truy cập thuộc tính cấu trúc #5 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; Truy cập thuộc tính cấu trúc #6 Biến 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 = (Date*) malloc(sizeof(Date)); x -> = ; Khai báo đệ quy #7 struct tên_struct { khai báo thuộc tính; struct tên_struct *tên_thuộc_tính_đệ_qui; }; Khai báo đệ quy #8 Ví dụ: struct ttNode { int key; struct ttNode *pNext; }; Ví dụ #9 Viết chương trình nhập vào toạ độ hai điểm 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ụ #10 //File caidat.cpp #include "khaibao.h" void Nhap (Diem &d) { printf(“\nNhap vao toa diem\n”); printf(“Hoanh : “); scanf(“%d”, &d x); printf(“Tung : ”); scanf(“%d”, &d.y); } Ví dụ #11 void Xuat (Diem d) { printf(“\nToa 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 #12 #include”khaibao.h” void main () { Diem A , B, AB; //khai bao 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); Bài tập #13 Viết chương trình nhập vào thơng tin sinh viên gồm: Mã số sinh viên Họ tên Điểm 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 #14 Sử dụng kiểu liệu có cấu trúc để khai báo viết chương trình (theo phương pháp thủ tục hàm) gồm chức sau: Nhập vào phân số Tính tổng tích hai phân số (kết phải là phân số tối giản) Xuất kết hình Bài tập #15 Viết chương trình nhập vào thời gian t1 t2 (thông tin thời gian gồm: giờ, phút giây); tính khoảng cách t1 t2 (đơn vị tính bằng giây) Mảng cấu trúc #16 Cách khai báo tương tự mảng chiều (Kiểu liệu kiểu liệu có cấu trúc) Cách truy cập phần tử mảng cũng truy cập mảng chiều Nhưng 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 phải truy cập đến thành phần cuối cùng có kiểu liệu Nguyên tắc lập trình mảng cấu trúc #17 Do kiểu liệu có cấu trúc thường chứa nhiều thành phần nên viết chương trình loại 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 17 Ví dụ #18 Viết hàm nhập vào mảng phân số struct ttPhanSo { int tu, mau; }; typedef struct ttPhanSo PhanSo; Ví dụ #19 void NhapPS(PhanSo &ps) { printf("Nhap tu so: "); scanf("%d« , &ps.tu); printf("\nNhap mau so: “); scanf(“%d”, &ps.mau); } Ví dụ #20 void NhapMangPS(PHANSO dsps[], int n) { for(int i=0; i

Ngày đăng: 04/09/2015, 15:20

Từ khóa liên quan

Mục lục

  • Slide 1

  • Nội dung

  • Khái niệm

  • Khái niệm

  • Truy cập các thuộc tính cấu trúc

  • Truy cập các thuộc tính cấu trúc

  • Khai báo đệ quy

  • Khai báo đệ quy

  • Ví dụ

  • Ví dụ

  • Ví dụ

  • Ví dụ

  • Bài tập 1

  • Bài tập 2

  • Bài tập 3

  • Mảng cấu trúc

  • Nguyên tắc lập trình trên mảng cấu trúc

  • Ví dụ

  • Ví dụ

  • Ví dụ

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

Tài liệu liên quan