Professional Documents
Culture Documents
Bi 9: Cu trc
2010 - 2011
cu cu cu cu
Ni dung
Khi nim cu trc Khai bo v s dng cu trc X l d liu cu trc Mng cu trc
2 / 23
cu cu cu cu
! V d:
Thng tin v kt qu hc tp mn Tin i cng ca sinh vin: TenSV, MaSV, Diem Thng tin v cu th: Ten, Tuoi, CLB, SoAo, Vitri,. . .
3 / 23
cu cu cu cu
Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef
Khi nim cu trc Khai bo v s dng cu trc Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef X l d liu cu trc Mng cu trc
4 / 23
cu cu cu cu
Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef
! VD:
struct sinh_vien{
char SBD[10]; char ho_va_ten[40]; float diem_thi[10];
} }
struct point_3D{
float x; float y; float z;
}
5 / 23
cu cu cu cu
Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef
Khi nim cu trc Khai bo v s dng cu trc Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef X l d liu cu trc Mng cu trc
6 / 23
cu cu cu cu
Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef
! Khai bo bin:
struct ten_cau_truc ten_bien_cau_truc;
! VD:
struct sinh_vien a, b, c;
! Kt hp khai bo:
struct [ten_cau_truc ]{
khai bo cc trng DL;
} ten_bien_cau_truc ;
7 / 23
cu cu cu cu
Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef
struct sinh_vien{
char SBD[10]; char ho_va_ten[40]; struct diem_thi {
float dToan, dLy, dHoa;
} struct sinh_vien{
char SBD[10]; char ho_va_ten[40]; struct diem_thi ket_qua;
} ket_qua;
} thi_sinh_1, thi_sinh_2;
} thi_sinh_1, thi_sinh_2;
8 / 23
cu cu cu cu
Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef
Khi nim cu trc Khai bo v s dng cu trc Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef X l d liu cu trc Mng cu trc
9 / 23
cu cu cu cu
Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef
! C php:
typedef struct tn_c tn_mi ; hoc typedef struct [tn_c ] {
khai bo cc trng d liu;
} danh_sch_cc_tn_mi ;
10 / 23
cu cu cu cu
Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef
V d
! Khai bo cu trc:
struct point_3D {
float x, y, z;
} diem3D, ten_bat_ky;
Khai bo bin:
struct point_3D p1;
Khai bo bin:
diem3D p1; ten_bat_ky p2;
! nh ngha kiu d liu: typedef struct point_3D diem3D; Khai bo bin: diem3D p1;
11 / 23
cu cu cu cu
Khai bo kiu d liu cu trc Khai bo bin cu trc nh ngha kiu d liu cu trc vi typedef
V d
! Lu :
p1, p2: cc bin diem3D, ten_bat_ky: kiu d liu cu trc, khng phi l tn bin point_3D: tn cu trc
12 / 23
cu cu cu cu
Khi nim cu trc Khai bo v s dng cu trc X l d liu cu trc Truy cp cc trng d liu Php gn gia cc bin cu trc Mng cu trc
13 / 23
cu cu cu cu
! C php: tn_bin_cu_trc.tn_trng ! Lu :
Du .: ton t truy cp vo trng d liu trong cu trc Nu trng d liu l mt cu trc s dng tip du . truy cp vo thnh phn mc su hn
14 / 23
cu cu cu cu
V d v cu trc
! Xy dng mt cu trc biu din im trong khng gian 2 chiu. Nhp gi tr cho mt bin kiu cu trc ny, sau hin th gi tr cc trng d liu ca bin ny ra mn hnh.
Cu trc: tn im, ta x, ta y Nhp, hin th tng trng ca bin cu trc nh cc bin d liu khc
15 / 23
cu cu cu cu
V d v cu trc
#i n c l u d e <s t d i o . h> #i n c l u d e <c o n i o . h> typedef struct { char ten [ 1 0 ] ; int x , y ; } toado ; v o i d main ( ) { toado t ; p r i n t f ( "Nhap t h o n g t i n t o a do \n" ) ; p r i n t f ( "Ten diem : " ) ; g e t s ( t . t e n ) ; p r i n t f ( "Toa do x : " ) ; s c a n f ( "%d" ,& t . x ) ; p r i n t f ( "Toa do y : " ) ; s c a n f ( "%d" ,& t . y ) ; p r i n t f ( " G i a t r i c a c t r u o n g da nhap vao l a : \ n" ) ; p r i n t f ( "%10s%3d%3d\n" , t . t e n , t . x , t . y ) ; getch () ; }
16 / 23
cu cu cu cu
Khi nim cu trc Khai bo v s dng cu trc X l d liu cu trc Truy cp cc trng d liu Php gn gia cc bin cu trc Mng cu trc
17 / 23
cu cu cu cu
! Sao chp d liu t bin cu trc ny sang bin cu trc khc cng kiu
gn ln lt tng trng trong hai bin cu trc => th cng:
p2.x = p1.x; p2.y = p1.y; p2.z = p1.z;
18 / 23
cu cu cu cu
19 / 23
cu cu cu cu
Mng cu trc
! L tp hp cc phn t c cng kiu d liu l kiu cu trc ! Mc ch:
Lu tr mt tp hp cc phn t c cng kiu Mi phn t c cc thnh phn c th c gi tr khc nhau: thng tin cc sinh vin trong lp, i bng. . .
! Khai bo: struct tn_cu_trc tn_bin_mng [s phn t]; kiu_cu_trc tn_bin_mng [s phn t]; ! V d: struct point_3D mang_3D[10]; diem3D mang_3D[10];
20 / 23
cu cu cu cu
Bi tp
1 2 3 4 5 6
Khai bo mt cu trc gm: tn v im thi Tin i cng Khai bo mng tn l sv thuc kiu trn Nhp t bn phm s n l s sinh vin trong lp Nhp thng tin n sinh vin v lu vo mng sv Sp xp mng theo th t tng dn ca im, tn Hin th ra mn hnh danh sch cc sinh vin c im >=8
../VD_C/VD_Cautruc_Baitap.c
21 / 23
cu cu cu cu
22 / 23