Lập trình với C ++ - KIỂU CẤU TRÚC
Số trang: 10
Loại file: doc
Dung lượng: 59.50 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu lập trình với c ++ - kiểu cấu trúc, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Lập trình với C ++ - KIỂU CẤU TRÚC CHƯƠNG7:KIỂUCẤUTRÚCKháiniệm:Cấutrúclàmộtkiểudữliệukiểubảnghi(record),chophépnhiềuloạidữliệuđượcnhómlạivớinhau.(KháiniệmcấutrúctrongCtươngtựnhưpascalhayFoxpro).7.1/Khaibáokiểucấutrúc:a/structtên_kiểucấutrúc{khaibáocácthànhphầncủanó(cácfieldvàkiểudữliệucủafield)};Vídụ1:structkieuHVò>tênkiểucấutrúc.{charTen[30];intnamsinh;floatdiemTB;}HV;(biếnHV)Vídụ2:structkieuHV{cácthànhphần}structkieuHVHV;/*khaibáobiếntheocách2*/b/Dùngtoántửtypedefđểkhaibáokiểucấutrúc(địnhnghĩakiểumới);Vídụ3:typedefstruct{charTen[30]intnamsinh;floatdiemTB;}kieuHV;kieuHVHocvien;kieuHVDSLop[20];kieuHVLop[]={{nguyễnvănÐông,1980,10.0},{TrầnvănTây,1982,5.5},{PhạmvănNam,1979,9.5}};Vídụ4:structngay{intngay;charThang[10];intnam; };typestruct{charTen[30]; ngaynamsinh;/*thànhphầncấutrúccókiểucấutrúc*/ floatdiemTB;}kieuHV;kieuHVHV;*Chúý:Khaibáostructphảinằmởvịtrítoàncụccủachươngtrình,thườngsaucác#include.Cấutrúcthườngdùngđểxâydựngmộtbảngcáccấutrúc.+Vídụ:kieuHVDSLop[30];structkieuHVperson[50];Cóthểtruyềncấutrúcnhưmộtthamsốhìnhthức,nhưngvớinhữngcấutrúckíchthướclớnsẽkhôngtốiưuvềthờigianlẫnđộnhớ.Khikhôngnênsửdụngcontrỏcấutrúc.+Vídụ:struckieuHV*HV;7.2/Truycậpđếncácthànhphầncủakiểucấutrúc:Têncấutrúc.TênthànhphầnHoặcTêncấutrúc.Têncấutrúccon.Tênthànhphần.Vídụ:+nhậpvàotên,nămsinh,điểmchobiếncấutrúchọcviên(vídụ3).gets(hocvien.ten)/*nhậpPhạmthịBắcvàEnter*/scanf(%d,&hocvien.namsinh);scanf(%f,&tam);hocvien.diem=tam;(*)+Nhậpnămsinhchobiếnhọcviênởvídụ4:scanf(%d,&hv.ngay.namsinh);*Chúý:Nếucácthànhphầnkhôngphảilànguyên(int)=>nhậpquatrunggiannhư(*).puts(hocvien.ten);=>PhạmthịBắcprintf(%d%f,hocvien.namsinh,hocvien.diemTB);*Lệnhgán:+Tacóthểgán2biếncấutrúccócùngkiểuchonhau:Vídụ:hv2=hv1;+GángiátrịđầuchobiếncấutrúcvàkhaibáomộtmãngcấuTRÚC(XEMVÍDỤ3)BàITậP:viếtchươngtrìnhnhậpdanhsáchhọcviêngồmcáctrườnghọtên,tuổi,điểm,vàtìmkiếmtrongdánháchcóaitênPhạmTèokhông.TênTuổiđiểmHV[0]NguyễnA205.5HV[1]TrầnB226.5HV[2]PhạmTèo258.5HV[3]LêC217.5#include#definen10typedefstruct{charTen[30];inttuoi;floatdiem;}kieuHV;kieuHVHV[11]voidmain(){inti;floattam;kieuHVHV;/*nhậpdữliệucách1*/for(i=0;i/*cách2nhậpvàobiếncấutrúcvàgánhv[i]=h*/for(i=0;ib/truycậpthôngquacontrỏ:Cách1:têncontrỏătênthànhphần.Cách2:(*têncontrỏ).tênthànhphần.Vídụ:p=&HV;p=&Lop[2]=>HV.Tenĩpătên;Lop[2].tuổiĩ(p*).tuoiĩpătuổi;*p=HV;*P=Lop[2]Giảsửcầnnhậpsốliệuchvùngtrênthì3cáchviếtsaulàtươngđương:+(1):gets(HV.ten)+(2)gets(păten)ĩgets((*p).ten).+(3)scanf(%d,&HV.tuoi);ĩscanf(%d,pătuổi);scanf(%d,(*p).tuoi);Giảsửcầnnhậpdữliệuchomãngcấutrúcthìcáccáchviếtsauđâytươngđương:+Vídụ:p=lop;for(i=0;ifor(i=0;ithừavùngnhớ.Ðểcấpphátvừađủsĩsốhọcviênnhưtamuốn=>tadùngphươngphápcấpphátbộnhớđộnghàmmallochoặccalloc(.)Vídụ:Nhậdanhsáchnhọcviêngồmhọtên,điểmvàsắpxếpgiảmdầntheođiểm.#include#include#include#includetypedefstruct{charten[30];intdiem;charkq[5];}kieuHV;kieuHV*lop,*p,tam;/*Hàmnhậpdansách*/voidnhapDS(intn,kieuHVlop[]){inti,diem;p=lop;for(i=0;i/*chươngtrìnhchính*/voidmain(){inti,j,n,t,diem;printf( Nhậpsĩsố:);scanf(%d,&n);lop=(kieuHV*)malloc(n*sizeof(kieuHV));printf(%c,getchar()); nhapds(n,lop);sapxep(n,lop);inds(inlop); getch();}KIểUFILE(TậPTIN/TệPTIN)TrongngônngữC,mộttậptinlàmộtkháiniệmlogic,đượcápdụngkhôngnhữngđốivớicáctậptintrênđĩamàcảvớicácterminal(bànphím,mànhình,máyin...).Filecó2loại:+Textfile(filevănbản).+Binary(nhịphân:dbf,doc,bitmap,...).Filevănbảnchỉkhácbinarykhixửlýkýtựchuyểndòng(LF)(mã10)đượcchuyểnthành2kýtựCR(mã13)vàLF(mã10)vàkhiđọc2kýtựliêntiếpCRvàLFtrênfilechotamộtkýtựLF.CácthaotáctrênfilethựchiệnthôngquacontrỏkiểuFILE.MỗibiếnFILEcó1contrỏlúcđầusẽtrỏvàophầntửđầutiêncủafile.Saumỗithaotácđọchayghidữliệucontrỏtựđộngdờixuố ...
Nội dung trích xuất từ tài liệu:
Lập trình với C ++ - KIỂU CẤU TRÚC CHƯƠNG7:KIỂUCẤUTRÚCKháiniệm:Cấutrúclàmộtkiểudữliệukiểubảnghi(record),chophépnhiềuloạidữliệuđượcnhómlạivớinhau.(KháiniệmcấutrúctrongCtươngtựnhưpascalhayFoxpro).7.1/Khaibáokiểucấutrúc:a/structtên_kiểucấutrúc{khaibáocácthànhphầncủanó(cácfieldvàkiểudữliệucủafield)};Vídụ1:structkieuHVò>tênkiểucấutrúc.{charTen[30];intnamsinh;floatdiemTB;}HV;(biếnHV)Vídụ2:structkieuHV{cácthànhphần}structkieuHVHV;/*khaibáobiếntheocách2*/b/Dùngtoántửtypedefđểkhaibáokiểucấutrúc(địnhnghĩakiểumới);Vídụ3:typedefstruct{charTen[30]intnamsinh;floatdiemTB;}kieuHV;kieuHVHocvien;kieuHVDSLop[20];kieuHVLop[]={{nguyễnvănÐông,1980,10.0},{TrầnvănTây,1982,5.5},{PhạmvănNam,1979,9.5}};Vídụ4:structngay{intngay;charThang[10];intnam; };typestruct{charTen[30]; ngaynamsinh;/*thànhphầncấutrúccókiểucấutrúc*/ floatdiemTB;}kieuHV;kieuHVHV;*Chúý:Khaibáostructphảinằmởvịtrítoàncụccủachươngtrình,thườngsaucác#include.Cấutrúcthườngdùngđểxâydựngmộtbảngcáccấutrúc.+Vídụ:kieuHVDSLop[30];structkieuHVperson[50];Cóthểtruyềncấutrúcnhưmộtthamsốhìnhthức,nhưngvớinhữngcấutrúckíchthướclớnsẽkhôngtốiưuvềthờigianlẫnđộnhớ.Khikhôngnênsửdụngcontrỏcấutrúc.+Vídụ:struckieuHV*HV;7.2/Truycậpđếncácthànhphầncủakiểucấutrúc:Têncấutrúc.TênthànhphầnHoặcTêncấutrúc.Têncấutrúccon.Tênthànhphần.Vídụ:+nhậpvàotên,nămsinh,điểmchobiếncấutrúchọcviên(vídụ3).gets(hocvien.ten)/*nhậpPhạmthịBắcvàEnter*/scanf(%d,&hocvien.namsinh);scanf(%f,&tam);hocvien.diem=tam;(*)+Nhậpnămsinhchobiếnhọcviênởvídụ4:scanf(%d,&hv.ngay.namsinh);*Chúý:Nếucácthànhphầnkhôngphảilànguyên(int)=>nhậpquatrunggiannhư(*).puts(hocvien.ten);=>PhạmthịBắcprintf(%d%f,hocvien.namsinh,hocvien.diemTB);*Lệnhgán:+Tacóthểgán2biếncấutrúccócùngkiểuchonhau:Vídụ:hv2=hv1;+GángiátrịđầuchobiếncấutrúcvàkhaibáomộtmãngcấuTRÚC(XEMVÍDỤ3)BàITậP:viếtchươngtrìnhnhậpdanhsáchhọcviêngồmcáctrườnghọtên,tuổi,điểm,vàtìmkiếmtrongdánháchcóaitênPhạmTèokhông.TênTuổiđiểmHV[0]NguyễnA205.5HV[1]TrầnB226.5HV[2]PhạmTèo258.5HV[3]LêC217.5#include#definen10typedefstruct{charTen[30];inttuoi;floatdiem;}kieuHV;kieuHVHV[11]voidmain(){inti;floattam;kieuHVHV;/*nhậpdữliệucách1*/for(i=0;i/*cách2nhậpvàobiếncấutrúcvàgánhv[i]=h*/for(i=0;ib/truycậpthôngquacontrỏ:Cách1:têncontrỏătênthànhphần.Cách2:(*têncontrỏ).tênthànhphần.Vídụ:p=&HV;p=&Lop[2]=>HV.Tenĩpătên;Lop[2].tuổiĩ(p*).tuoiĩpătuổi;*p=HV;*P=Lop[2]Giảsửcầnnhậpsốliệuchvùngtrênthì3cáchviếtsaulàtươngđương:+(1):gets(HV.ten)+(2)gets(păten)ĩgets((*p).ten).+(3)scanf(%d,&HV.tuoi);ĩscanf(%d,pătuổi);scanf(%d,(*p).tuoi);Giảsửcầnnhậpdữliệuchomãngcấutrúcthìcáccáchviếtsauđâytươngđương:+Vídụ:p=lop;for(i=0;ifor(i=0;ithừavùngnhớ.Ðểcấpphátvừađủsĩsốhọcviênnhưtamuốn=>tadùngphươngphápcấpphátbộnhớđộnghàmmallochoặccalloc(.)Vídụ:Nhậdanhsáchnhọcviêngồmhọtên,điểmvàsắpxếpgiảmdầntheođiểm.#include#include#include#includetypedefstruct{charten[30];intdiem;charkq[5];}kieuHV;kieuHV*lop,*p,tam;/*Hàmnhậpdansách*/voidnhapDS(intn,kieuHVlop[]){inti,diem;p=lop;for(i=0;i/*chươngtrìnhchính*/voidmain(){inti,j,n,t,diem;printf( Nhậpsĩsố:);scanf(%d,&n);lop=(kieuHV*)malloc(n*sizeof(kieuHV));printf(%c,getchar()); nhapds(n,lop);sapxep(n,lop);inds(inlop); getch();}KIểUFILE(TậPTIN/TệPTIN)TrongngônngữC,mộttậptinlàmộtkháiniệmlogic,đượcápdụngkhôngnhữngđốivớicáctậptintrênđĩamàcảvớicácterminal(bànphím,mànhình,máyin...).Filecó2loại:+Textfile(filevănbản).+Binary(nhịphân:dbf,doc,bitmap,...).Filevănbảnchỉkhácbinarykhixửlýkýtựchuyểndòng(LF)(mã10)đượcchuyểnthành2kýtựCR(mã13)vàLF(mã10)vàkhiđọc2kýtựliêntiếpCRvàLFtrênfilechotamộtkýtựLF.CácthaotáctrênfilethựchiệnthôngquacontrỏkiểuFILE.MỗibiếnFILEcó1contrỏlúcđầusẽtrỏvàophầntửđầutiêncủafile.Saumỗithaotácđọchayghidữliệucontrỏtựđộngdờixuố ...
Tìm kiếm theo từ khóa liên quan:
kiểu cấu trúc lập trình C ngôn ngữ C tài liệu về C giáo trình lập trình CGợi ý tài liệu liên quan:
-
114 trang 219 2 0
-
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 124 0 0 -
Giáo trình Kỹ thuật lập trình C: Căn bản & nâng cao - Phần 1
202 trang 114 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 112 0 0 -
Giáo trình Ngôn ngữ lập trình C căn bản
142 trang 95 0 0 -
Giáo trình Tin học đại cương: Phần 2 - Trần Đình Khang
118 trang 90 0 0 -
Program C Ansi Programming Embedded Systems in C and C++ phần 4
12 trang 83 0 0 -
101 thuật toán chương trình C: Phần 2
130 trang 83 0 0 -
91 trang 81 0 0
-
Lập trình C - Cấu trúc dữ Liệu
307 trang 70 0 0