Danh mục

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    
10.10.2023

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ố ...

Tài liệu được xem nhiều: