Bài giảng Cơ sở lập trình - Chương 6: Kiểu dữ liệu có cấu trúc

ppt 12 trang phuongnguyen 1521
Bạn đang xem tài liệu "Bài giảng Cơ sở lập trình - Chương 6: Kiểu dữ liệu có cấu trúc", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_co_so_lap_trinh_chuong_6_kieu_du_lieu_co_cau_truc.ppt

Nội dung text: Bài giảng Cơ sở lập trình - Chương 6: Kiểu dữ liệu có cấu trúc

  1. * Câú truć thực chât́ la ̀ môṭ kiêủ dữ liêụ do người dung̀ đinḥ nghiã băng̀ cach́ gom nhoḿ cać kiêủ dữ liêụ cơ ban̉ co ́ săñ trong C thanh̀ môṭ kiêủ dữ liêụ phức hợp nhiêù thanh̀ phâǹ *Khai báo struct tên_struct { khai báo các thuộc tính; }; typedef struct tên_struct tên_kiểu; 2
  2. * struct ttDate { char thu[5]; unsigned char ngay; unsigned char thang; int nam; }; typedef struct ttDate DATE; 3
  3. * tên_biến●tên_thuộc_tính Ví dụ: DATE x ; // khai bao bien x kieu DATE x.ngay = 5 ; // gan ngay bang 5 4
  4. * Viêt́ chương trinh̀ nhâp̣ vaò toa ̣ đô ̣ hai điêm̉ trong măṭ phăng̉ va ̀ tinh́ tông̉ hai toa ̣ đô ̣ naỳ *Bước 1: Khai báo kiểu dữ liệu có cấu trúc biểu diễn thông tin tọa độ của một điểm trong mặt phẳng gồm 2 thành phần: hoành độ và tung độ struct ttDIEM { int x; int y; }; typedef struct ttDIEM DIEM; 5
  5. *Bước 2: Cài đặt các hàm *Nhập vào tọa độ điểm void Nhap (DIEM &d); *Xuất tọa độ điểm void Xuat (DIEM d); *Tính tổng hai tọa độ DIEM Tong (DIEM d1,DIEM d2); 6
  6. void Nhap (DIEM &d) { cout >d. x; cout“Hoanh do : ”; cin>>d.y; } void Xuat (DIEM d) { cout<<“\nToa do diem : (“ <<d.x<< “,”<<d.y<<”)”; } 7
  7. DIEM Tong (DIEM d1,DIEM d2) { DIEM temp; temp.x = d1.x + d2.x ; temp.y = d1.y + d2.y ; return Temp; } void main () { DIEM A , B, AB; //khai bao 3 diem A, B, AB; cout<<“Nhap toa do diem thu 1: “<<endl; Nhap ( A ); Xuat ( A ); cout<<“Nhap toa do diem thu 2: “<<endl; Nhap ( B ); Xuat ( B ); cout<<“\n Tong toa do cua hai diem vua nhap la : ”; AB = Tong ( A, B); Xuat ( AB ); } 8
  8. * *Viêt́ chương trinh̀ sử dung̣ kiểu dữ liệu câú truć đê ̉ hiên̉ thi ̣ giờ, phut,́ giây ra maǹ hinh.̀ Tinh́ khoang̉ cach,́ so sánh 2 mốc thời gian và in biết kết quả. *Viêt́ chương trinh̀ sử dung̣ kiểu dữ liệu câú truć thê ̉ hiêṇ ngay,̀ thang,́ năm ra maǹ hinh.̀ Kiểm tra xem ngày tháng năm có hợp lệ không và in kết quả *Viêt́ chương trinh̀ khai baó kiêủ dữ liêụ đê ̉ biêủ diêñ môṭ phân sô.́ Haỹ viêt́ ham̀ thực hiêṇ những công viêc̣ sau: *Tinh́ tông,̉ hiêu,̣ tich,́ thương hai phân sô.́ *Rut́ goṇ phân sô.́ *So sanh́ hai phân sô.́ 9
  9. * *Cach́ khai baó tương tự như mang̉ môṭ chiêù hay ma trâṇ (Kiêủ dữ liêụ bây giờ la ̀ kiêủ dữ liêụ co ́ câú truc).́ *Cach́ truy câp̣ phâǹ tử trong mang̉ cung̃ như truy câp̣ trên mang̉ môṭ chiêù hay ma trân.̣ Nhưng do từng phâǹ tử co ́ kiêủ câú truć nên phaỉ chi ̉ đinḥ ro ̃ câǹ lâý thanh̀ phâǹ nao,̀ tức la ̀ phaỉ truy câp̣ đêń thanh̀ phâǹ cuôí cung̀ co ́ kiêủ la ̀ dữ liêụ cơ ban̉ (xem laị bang̉ cać kiêủ dữ liêụ cơ ban)̉ 10
  10. * #define MAX 100 struct ttPHANSO { int tu, mau; }; typedef struc ttPHANSO PHANSO; void main() { int n; //Kích thước của mảng PHANSO a[MAX]; //Mảng các phân số //Các lệnh } 11
  11. * Do kiêủ dữ liêụ co ́ câú truć thường chứa rât́ nhiêù thanh̀ phâǹ nên khi viêt́ chương trinh̀ loaị naỳ ta câǹ lưu y:́ *Xây dựng ham̀ xử ly ́ cho môṭ kiêủ câú truc.́ *Muôń xử ly ́ cho mang̉ câú truc,́ ta goị laị ham̀ xử ly ́ cho môṭ kiêủ câú truć đa ̃ được xây dựng băng̀ cach́ dung̀ vong̀ lăp.̣ 12