1. Trang chủ
  2. » Công Nghệ Thông Tin

Cấu trúc dữ liệu người dùng tự định nghĩa

61 459 1

Đ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

Khoa CNTT KTLT Chương TRỪU TƯỢNG HOÁ DỮ LIỆU Trần Quốc Vinh Khoa CNTT KTLT KHÁI NIỆM  Trừu tượng hoá liệu phương pháp tích hợp kiểu liệu đơn, kiểu liệu có sẵn nhằm mô tả, biểu diễn thông tin khái niệm hay đối tượng giới thực Trần Quốc Vinh Khoa CNTT KTLT CÚ PHÁP struct KieuDuLieu { }; typedef struct KieuDuLieu KIEUDULIEU; Trần Quốc Vinh Khoa CNTT KTLT CÚ PHÁP - PHÂN SỐ  Ví dụ 1: Khai báo kiểu liệu biểu diễn khái niệm phân số toán học struct PhanSo { int tu; int mau; }; typedef struct PhanSo PHANSO; Trần Quốc Vinh Khoa CNTT KTLT CÚ PHÁP - ĐIỂM  Ví dụ 2: Khai báo kiểu liệu biểu diễn khái niệm điểm mặt phẳng Oxy toán học struct Diem { float x; float y; }; typedef struct Diem DIEM; Trần Quốc Vinh Khoa CNTT KTLT CÚ PHÁP - HỖN SỐ  Ví dụ 3: Khai báo kiểu liệu biểu diễn khái niệm hỗn số toán học struct HonSo { int nguyen; int tu; int mau; }; typedef struct HonSo HONSO; Trần Quốc Vinh Khoa CNTT KTLT CÚ PHÁP ĐIỂM KHÔNG GIAN  Ví dụ 4: Khai báo kiểu liệu biểu diễn khái niệm điểm không gian Oxyz toán học struct DiemKhongGian { float x; float y; float z; }; typedef struct DiemKhongGian DIEMKHONGGIAN; Trần Quốc Vinh Khoa CNTT KTLT CÚ PHÁP - THỜI GIAN  Ví dụ 5: Khai báo kiểu liệu biểu diễn khái niệm thời gian giới thực struct ThoiGian { int gio; int phut; int giay; }; typedef struct ThoiGian THOIGIAN; Trần Quốc Vinh Khoa CNTT KTLT CÚ PHÁP - NGÀY  Ví dụ 6: Khai báo kiểu liệu biểu diễn khái niệm ngày giới thực struct Ngay { int ng; int th; int nm; }; typedef struct Ngay NGAY; Trần Quốc Vinh Khoa CNTT KTLT CÚ PHÁP - SỐ PHỨC  Ví dụ 7: Khai báo kiểu liệu biểu diễn khái niệm số phức toán học struct SoPhuc { float thuc; float ao; }; typedef struct SoPhuc SOPHUC; Trần Quốc Vinh 10 Khoa CNTT KTLT NHẬP & XUẤT TAM GIÁC  Ví dụ 10: Hãy định nghĩa hàm nhập hàm xuất cho kiểu liệu tam giác (TAMGIAC) void Nhap(DIEM &P) { printf(“Nhap x: ”); scanf(“%f”,&P.x); printf(“Nhap y: ”); scanf(“%f”,&P.y); } Trần Quốc Vinh 47 Khoa CNTT KTLT NHẬP & XUẤT TAM GIÁC  Ví dụ 10: Hãy định nghĩa hàm nhập hàm xuất cho kiểu liệu tam giác (TAMGIAC) void Xuat(DIEM P) { printf(“\n x=%f”,P.x); printf(“\n y=%f”,P.y); } Trần Quốc Vinh 48 Khoa CNTT KTLT NHẬP & XUẤT TAM GIÁC  Ví dụ 10: Hãy định nghĩa hàm nhập hàm xuất cho kiểu liệu tam giác (TAMGIAC) void Nhap(TAMGIAC &t) { printf(“Nhap dinh thu nhat: ”); Nhap(t.A); printf(“Nhap dinh thu hai: ”); Nhap(t.B); printf(“Nhap dinh thu ba: ”); Nhap(t.C); } Trần Quốc Vinh 49 Khoa CNTT KTLT NHẬP & XUẤT TAM GIÁC  Ví dụ 10: Hãy định nghĩa hàm nhập hàm xuất cho kiểu liệu tam giác (TAMGIAC) void Xuat(TAMGIAC t) { printf(“\nDinh thu nhat: ”); Xuat(t.A); printf(“\nDinh thu hai: ”); Xuat(t.B); printf(“\nDinh thu ba: ”); Xuat(t.C); } Trần Quốc Vinh 50 Khoa CNTT KTLT NHẬP & XUẤT HÌNH CẦU Ví dụ 11: Hãy định nghĩa hàm nhập hàm xuất cho kiểu liệu hình cầu (HINHCAU) struct DiemKhongGian { float x; float y; float z; }; typedef struct DiemKhongGian DIEMKHONGGIAN; struct HinhCau { 10 DIEMKHONGGIAN I; 11 float R; 12 }; 13 typedef struct HinhCau HINHCAU;  Trần Quốc Vinh 51 Khoa CNTT KTLT NHẬP & XUẤT HÌNH CẦU  Ví dụ 11: Hãy định nghĩa hàm nhập hàm xuất cho kiểu liệu hình cầu (HINHCAU) void Nhap(DIEMKHONGGIAN &P) { printf(“Nhap x: ”); scanf(“%f”,&P.x); printf(“Nhap y: ”); scanf(“%f”,&P.y); printf(“Nhap z: ”); scanf(“%f”,&P.z); } Trần Quốc Vinh 52 Khoa CNTT KTLT NHẬP & XUẤT HÌNH CẦU  Ví dụ 11: Hãy định nghĩa hàm nhập hàm xuất cho kiểu liệu hình cầu (HINHCAU) void Xuat(DIEMKHONGGIAN P) { printf(“\n x= %f”, P.x); printf(“\n y= %f”, P.y); printf(“\n z= %f”, P.z); } Trần Quốc Vinh 53 Khoa CNTT KTLT NHẬP & XUẤT HÌNH CẦU  Ví dụ 11: Hãy định nghĩa hàm nhập hàm xuất cho kiểu liệu hình cầu (HINHCAU) void Nhap(HINHCAU &c) { printf(“Nhap tam: ”); nhap(c.I); printf(“Nhap ban kinh: ”); scanf(“%f”,&c.R); } Trần Quốc Vinh 54 Khoa CNTT KTLT NHẬP & XUẤT HÌNH CẦU  Ví dụ 11: Hãy định nghĩa hàm nhập hàm xuất cho kiểu liệu hình cầu (HINHCAU) void Xuat(HINHCAU c) { printf(“\n Tam: ”); Xuat(c.I); printf(“\n Ban kinh:%f”, c.R); } Trần Quốc Vinh 55 Khoa CNTT KTLT CHƯƠNG TRÌNH ĐẦU TIÊN  Bài toán: Viết chương trình thực yêu cầu sau: a) Nhập vào phân số b) Xuất phân số c) Kiểm tra xem phân số có phân số dương hay không? Trần Quốc Vinh 56 Khoa CNTT KTLT CHƯƠNG TRÌNH ĐẦU TIÊN #include #include struct PhanSo { int tu; int mau; }; typedef struct PhanSo PHANSO; void Nhap(PHANSO&); 10.void Xuat(PHANSO); 11.int KtDuong(PHANSO); Trần Quốc Vinh 57 Khoa CNTT KTLT CHƯƠNG TRÌNH ĐẦU TIÊN void main() { PHANSO ps; Nhap(ps); printf(“Phan so ban dau:”); Xuat(ps); int kq = KtDuong(ps); if(kq==1) printf(“…”); else printf(“…”); 10 11 12.} Trần Quốc Vinh 58 Khoa CNTT KTLT CHƯƠNG TRÌNH ĐẦU TIÊN void Nhap(PHANSO &x) { printf(“Nhap tu: ”); scanf(“%d”,&x.tu); printf(“Nhap mau: ”); scanf(“%d”,&x.mau); } Trần Quốc Vinh 59 Khoa CNTT KTLT CHƯƠNG TRÌNH ĐẦU TIÊN void Xuat(PHANSO x) { printf(“\n Tu=%d”,x.tu); printf(“\n Mau=%d”,x.mau); } Trần Quốc Vinh 60 Khoa CNTT KTLT CHƯƠNG TRÌNH ĐẦU TIÊN int KtDuong(PHANSO x) { if (x.tu*x.mau>0) return 1; return 0; } Trần Quốc Vinh 61 [...]... XUẤT KIỂU CẤU TRÚC  Hãy định nghĩa hàm nhập và hàm xuất trừu tượng cho kiểu dữ liệu KDL 1 struct Kdl 2 { 3 ; 4 ; 5 6 }; 7 typedef struct Kdl KDL; Trần Quốc Vinh 15 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC 1 void Nhap(KDL &x) 2 { 3 4 } 5 void Xuat(KDL x) 6 { 7 8 } Trần Quốc Vinh 16 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – PHÂN SỐ  Ví dụ 1: Hãy định nghĩa hàm nhập... Trần Quốc Vinh 18 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – PHÂN SỐ  Ví dụ 1: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu PHANSO 1 void Xuat(PHANSO x) 2 { 3 printf(“\n Tu=%d”,x.tu); 4 printf(“\n Mau=%d”,x.mau); 5 } Trần Quốc Vinh 19 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – ĐIỂM  Ví dụ 2: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu DIEM 1 struct Diem 2 { 3 float x; 4 float y;... Vinh 20 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – ĐIỂM  Ví dụ 2: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu DIEM 1 void Nhap(DIEM &P) 2 { 3 printf(“Nhap x: ”); 4 scanf(“%f”,&P.x); 5 printf(“Nhap y: ”); 6 scanf(“%f”,&P.y); 7 } Trần Quốc Vinh 21 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – ĐIỂM  Ví dụ 2: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu DIEM 1 void Xuat(DIEM P) 2 { 3 printf(“\n... Quốc Vinh 22 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – HỖN SỐ  Ví dụ 3: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu HONSO 1 struct HonSo 2 { 3 int nguyen; 4 int tu; 5 int mau; 6 }; 7 typedef struct HonSo HONSO; Trần Quốc Vinh 23 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – HỖN SỐ  Ví dụ 3: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu HONSO 1 void Nhap(HONSO &x) 2 { 3 printf(“Nhap... Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – HỖN SỐ  Ví dụ 3: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu HONSO 1 void Xuat(HONSO x) 2 { 3 printf(“\nNguyen:%d”,x.nguyen); 4 printf(“\nTu:%d”,x.tu); 5 printf(“\nMau:%d”,x.mau); 6 } Trần Quốc Vinh 25 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – DIEMKG  Ví dụ 4: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu điểm không gian (DIEMKHONGGIAN)... Trần Quốc Vinh 31 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – NGÀY  Ví dụ 6: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu ngày (NGAY) 1 struct Ngay 2 { 3 int ng; 4 int th; 5 int nm; 6 }; 7 typedef struct Ngay NGAY; Trần Quốc Vinh 32 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – NGÀY  Ví dụ 6: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu ngày (NGAY) 1 void Nhap(NGAY &x) 2 { 3 printf(“Nhap... Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – NGÀY  Ví dụ 6: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu ngày (NGAY) 1 void Xuat(NGAY x) 2 { 3 printf(“\nNgay= %d”, x.ng); 4 printf(“\nThang=%d”, x.th); 5 printf(“\n Nam=%d”, x.nm); 6 } Trần Quốc Vinh 34 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – SỐ PHỨC  Ví dụ 7: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu số phức (SOPHUC) 1 struct... NHẬP & XUẤT KIỂU CẤU TRÚC – DIEMKG  Ví dụ 4: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu điểm không gian (DIEMKHONGGIAN) 1 void Nhap(DIEMKHONGGIAN &P) 2 { 3 printf(“Nhap x: ”); 4 scanf(“%f”,&P.x); 5 printf(“Nhap y: ”); 6 scanf(“%f”,&P.y); 7 printf(“Nhap z: ”); 8 scanf(“%f”,&P.z); 9 } Trần Quốc Vinh 27 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – DIEMKG  Ví dụ 4: Hãy định nghĩa hàm nhập và... NHẬP & XUẤT KIỂU CẤU TRÚC – PHÂN SỐ  Ví dụ 1: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu PHANSO 1 struct PhanSo 2 { 3 int tu; 4 int mau; 5 }; 6 typedef struct PhanSo PHANSO; Trần Quốc Vinh 17 Khoa CNTT KTLT 3 NHẬP & XUẤT KIỂU CẤU TRÚC – PHÂN SỐ  Ví dụ 1: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu PHANSO 1 void Nhap(PHANSO &x) 2 { 3 printf(“Nhap tu: ”); 4 scanf(“%d”,&x.tu); 5 printf(“Nhap... GIAN  Ví dụ 5: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu thời gian (THOIGIAN) 1 void Nhap(THOIGIAN &x) 2 { 3 printf(“Nhap gio: ”); 4 scanf(“%d”,&x.gio); 5 printf(“Nhap phut: ”); 6 scanf(“%d”,&x.phut); 7 printf(“Nhap giay: ”); 8 scanf(“%d”,&x.giay); 9 } Trần Quốc Vinh 30 Khoa CNTT KTLT 3 NHẬP & XUẤT THỜI GIAN  Ví dụ 5: Hãy định nghĩa hàm nhập và hàm xuất cho kiểu dữ liệu thời gian (THOIGIAN)

Ngày đăng: 21/06/2016, 08:59

Xem thêm: Cấu trúc dữ liệu người dùng tự định nghĩa

TỪ KHÓA LIÊN QUAN

w