intTypePromotion=3

Kỹ thuật lập trình - Cấu trúc

Chia sẻ: Phan Giang | Ngày: | Loại File: PDF | Số trang:4

0
101
lượt xem
39
download

Kỹ thuật lập trình - Cấu trúc

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu tham khảo chuyên ngành công nghệ thông tin - Kỹ thuật lập trình - Cấu trúc

Chủ đề:
Lưu

Nội dung Text: Kỹ thuật lập trình - Cấu trúc

  1. tv n bi u di n m t dãy các ph n t cùng ki u ta ã bi t s d ng m ng. Tuy nhiên khi các ph n t không cùng ki u ch ng h n, d Chương 5 li u v m t sinh viên g m: - mã sinh viên (là m t chu i). - h tên sinh viên (chu i). - i m trung bình (s th c) - gi i tính (s nguyên) C u trúc (structure) - ... thì m ng không còn phù h p. Trong C c u trúc ư c dùng bi u di n nh ng i tư ng như v y. nh nghĩa: C u trúc (struct) là dãy h u h n các ph n t (có th không cùng ki u d li u v i nhau) g i là các trư ng hay các thành ph n c a c u trúc ó. Khai báo ki u c u trúc Khai báo ki u c u trúc (tt) nh nghĩa ki u d li u trư c: - Khai báo ki u sinh viên: typedef struct { typedef struct SinhVien //khai báo các thành ph n { }; char ma[10]; Khai báo bi n sau: ; Ví d : char hoTen[30]; - khai báo s ph c: float diemTB; typedef struct SoPhuc { int gTinh; float phanThuc; float phanAo; }; }; SoPhuc z,z1,z2; //khai báo các bi n SoPhuc. SinhVien sv1,sv2; SinhVien lop[50]; //khai báo m ng lop g m 50 sv.
  2. Truy xu t d li u bi n c u trúc Truy xu t d li u bi n c u trúc (tt) Qui t c: truy xu t d li u bi n c u trúc ta ph i truy xu t t ng Chú ý: có th gán tr c ti p 2 bi n c u trúc thành ph n c a nó, theo cú pháp: cùng ki u. . Ví d : sv1 = sv2; sv1 = lop[10]; N u p là 1 con tr c u trúc thì phép truy xu t Ví d : v i các bi n ã khai báo ví d trư c ta có th truy xu t như sau: thành ph n c a p như sau: printf(“%0.2f”,z.phanThuc);//in ph n th c z. for(i=0;i Chú ý: trong C không có phép toán l y a ch m t thành ph n c a c u trúc. T c là phép toán: &sv.diemTB và câu l nh Ví d : SinhVien *p; scanf(“%f”,&sv.diemTB) là không h p l . kh c ph c i u này ta có th s d ng bi n trung gian: p=&sv1 scanf(“%f”,&tam);//tam là bi n trung gian. Khi ó: p->hoTen tương ương v i sv1.hoTen sv.diemTB=tam; M ng c u trúc M ng c u trúc (tt) Nh n xét: Cách truy xu t m ng c u trúc tương t như void inDS2(SinhVien *p, int n) m ng thông thư ng. T c là ph i truy xu t t ng ph n t c a m ng tuy nhiên v i m i ph n t c a m ng ta { áp d ng quy t c truy xu t i v i bi n c u trúc. Ví d : 2 hàm sau ây u in danh sách l p ra màn int i; hình: for(i=0;ihoTen); int i; for(i=0;i
  3. M t s ví d v s d ng struct M t s ví d v s d ng struct (tt) Ví d 1: Th c hi n các phép toán trên phân //hàm in phân s ra màn hình: void inPS(PhanSo p) s . { //Bi u di n phân s : printf(“%d/%d”,p.tu,p.mau); } typedef struct PhanSo //hàm tìm ư c chung l n nh t c a 2 s nguyên: { int ucln(int x, int y) int tu; { while(x*y) int mau; if(x>y)x=x%y; } else y=y%x; return (x+y); PhanSo p,p1,p2; } M t s ví d v s d ng struct (tt) M t s ví d v s d ng struct (tt) //hàm nh p 1 phân s t bàn phím: //hàm rút g n phân s : void nhapPS(PhanSo *p) { void rutGon(PhanSo *p) int tam; printf(“\ntu so = “);scanf(“%d”,&tam); { p->tu=tam; printf(“\nmau so = “);scanf(“%d”,&tam); int d; p->mau=tam; if(mautu,p->mau); { tu=-tu; p->tu=(p->tu)/d; mau=-mau; } p->mau=(p->mau)/d; rutGon(p); } }
  4. M t s ví d v s d ng struct (tt) M t s ví d v s d ng struct (tt) //hàm c ng 2 phân s : //hàm nhân 2 phân s : PhanSo cong(PhanSo p, PhanSo q) PhanSo nhan(PhanSo p, PhanSo q) { { PhanSo t; PhanSo t; t.tu=p.tu*q.mau+p.mau*q.tu; t.tu=p.tu*q.tu; t.mau=p.mau*q.mau; t.mau=p.mau*q.mau; rutGon(&t); rutGon(&t); return t; return t; } } H i áp

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản