Lap trinh C++ - FINAL
-
Upload
hung-binh-tran -
Category
Documents
-
view
259 -
download
5
Transcript of Lap trinh C++ - FINAL
-
7/26/2019 Lap trinh C++ - FINAL
1/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 2
LP TRNH C++y l nhng ni dung c bn SV cn nm vng:
Chng I: Gii thiuTin hc i cng (hay lp trnh C++), ni chung tinh thn ca mn hc
l cng da phn ln vo cch lp trnh m chng tng nghin cu tin hci cng A1 (lp trnh Pascal). V vy a s nhng lnh c trong pascal chngta s gp li trong ngn ng C++, mc d c mt s im sai khc (nh cu
php), nhng nhn chung mc ch ca nhng lnh hon ton ging vi ngnng Pascal m chng ta hc . i vi nhng tp lnh ny chng ta s khngnghin cu chi tit v mt l thuyt, m ch yu tp trung vo phn thc hnh,vn dng (c th dng phn mm chuyn ngn ng t pascal sang C++ hiu r hn- download ti http://fit.hcmup.edu.vn/~thqthu).
Ring vi nhng tp lnh c th ring ca C++ chng ta s nghin cuk hn v phn l thuyt.
+ Ngn ng lp trnh: C+++ Mi trng lp trnh: Visual C++ 6.0 hoc Dev-Cpp
+ B gip ngn ng (help): MSDN 2001
-
7/26/2019 Lap trinh C++ - FINAL
2/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 3
1.1.To v bin dch mt chng trnh C++ trn mi trng Visual C++Phn tch v d n gin: Chng trnh Hello World
Kt qu xut ra mn hnh (Bm phm CTRL + F5, hoc F5)
Chthch
Chy chng trnh
Khai bo thvin ca lnh
std::cout
Lnh xut chui ramn hnh
Lnh xunghng
Ni thng boli , n u c l i
bm F4tm li
Hm main:Chng trnh lun b t
u t y
Ni bo cnh bo: cnh bo
khng lm nh hng n vicchy ct, tuy nhiu i vi mts cnh bo quan trng ta nn
kim tra k
-
7/26/2019 Lap trinh C++ - FINAL
3/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 4
Mt s yu cu khi trnh by son tho mt chng trnh (bt buc)
Tab
Ni khai both vin vhm main cchnhau 1 dng
Cc dng lnh c ngha khc nhaunn cch nhau 1dng
S dng phmTab lngcc dng lnhvi nhau
Nn c ch thch cc dng lnhquan trng
-
7/26/2019 Lap trinh C++ - FINAL
4/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 5
1.2 Lm quen vi mi trng lp trnh Visual C++ 6.0
1. Chy chng trnh Microsoft Visual C++ 6.02. Vo File -> New
-
7/26/2019 Lap trinh C++ - FINAL
5/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 6
3. Ti th Projects,chn Win32 Console Application,nh tn bi lm voproject name( y l BaiLamQuenVC6), chn ni lu tr bi Location( y chn lu D:\BaiLamQuenVC6) => ok
-
7/26/2019 Lap trinh C++ - FINAL
6/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 7
4. Chn An empty project, nhnfinish , nhn ok
5. Vo File -> New
-
7/26/2019 Lap trinh C++ - FINAL
7/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 8
6. Ti th File, ta chn C++ source file, v nh tn file vo File Name(y l FileSource) (Ch nhng vng mu )
-
7/26/2019 Lap trinh C++ - FINAL
8/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 9
7. G ni dung chng trnh Hello World
8. Bin dch: vo Build-> Rebuild All
-
7/26/2019 Lap trinh C++ - FINAL
9/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 10
Quan st cui mn hnh, nu bin dch thnh cng ta s thy dng ch 0
error(s), 0 warning(s). Nu khng thnh cng th cn xem li on m
mnh g vo ng cha, bm F4 tm li
Lu :Mt thi quen tt l nn ghi li v hiu cc dng bo li lnsau c th t sa li.
9. Chy chng trnh, bm Ctrl + F5(hoc F5, nu bm F5 Mn hnh chychng trnh c th hin th ri tt rt nhanh, do cn quan st k.)
Lu quan trng:1. Trong mt chng trnh:
-Hm main l ni chng trnh bt u.
-Mt chng trnh ch c mt hm main duy nht
2. Khi vit xong mt chng trnh, vit tip chng trnh khc, ta phi
ng chng trnh trc i bng cch vo menu File - > Close Workspace
3 . m mt chng trnh c sn, trong mi trng VC6++, vo File ->
OpenWorkspace ri chn file *.dsw
4. Trong th mc cha chng trnh, ta lun c 1 th mc Debug, trong th
mc ny c mt file *.exel file chy trc tip, cn nhng file khc l nhngfile bin dch khng quan trng, ta nn xo chng khi copy t my trng vnh hoc np bi tp cho gio vin.
-
7/26/2019 Lap trinh C++ - FINAL
10/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 11
Chng 2: Bin v Kiu d liu
2.1. Kiu d liu:a. Cc loi d liu thng dng:
Tn kiu d liu Phm vi ngha V d
int -32768 -> 32767 Kiu s nguyn -2
unsigned int 0 -> 65535 S nguyn khng m 5
long -2147483648->2147483647 S nguyn di 3445
float S thc 4.5
double S thc 7.8
char -128 -> 127 K t A, +
unsigned char 0 -> 255 K t B,-
bool true, false Kiu logic
Ch :
- Kiu k t cng c th l mt dng ca kiu s nguyn
- Kiu bool L kiu th hin gi tr ng sai
+ C hai gi tr: true hoc false
+ Cc php ton:
&& php AND (v)
|| php OR (hoc)
! php NOT (ph nh)
b. Kiu d liu do ngi dng nh ngha
- T kho: typedef
- C php: typedef tn_kiu_c tn_kiu_mi
- ngha: sau khi khai bo, ta c th s dng tn_kiu_mi nh mt
kiu d liu bnh thng khc.
-
7/26/2019 Lap trinh C++ - FINAL
11/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 12
V d:
- nh ngha li tn kiu d liu s nguyn
typedef int so_nguyen;
Khi khi so_nguyenl mt kiu d liu nh kiu int
2.2. Bin: nh ngha - Cc thnh phn ca bin - Khai bo bin- Mi bin cn phi khai bo trc khi s dng.
- Vic khai bo bin c thc hin theo c php sau:
Kiu_d_liu tn_bin;
Kiu tn_bin = gi_tr_ban_u_ca_bin;
Kiu tn_bin1, tn-bin2,...;
V d:int i, j; //i v j l 2 kiu s nguyn
char a; //a l kiu k t
float f; // f l kiu s thc
- Lu :
+ Mt tn hp l l mt dy ca cco Ch (hoa v thng)
o S (Mt tn khng c bt u bi s)
o Du ni di (Khng nn bt u bng du ni di)
+ Cc tn c phn bit ch hoa v ch thng
V d: Bien1 khc vi BIEN1
+Tn bin khng c trng vi tn ca cc lnh, cc t khotrong C++ (v d khng c t tn bin l int, return, cout,...)
2.3. Biu thc v ton t: Biu thc - Ton t v u tin ca ton tTn ton t ngha V d
+ cng a+b
- tr a-b
* nhn a*b
-
7/26/2019 Lap trinh C++ - FINAL
12/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 13
/ chia a/b
% chia ly phn d a%b
> a>b
< a
-
7/26/2019 Lap trinh C++ - FINAL
13/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 14
2.4. Cu lnh gn: C php - Thi hnh cu lnh gnC php: tn_bin = biu thc (hoc bin);
ngha:
Gi tr ca bin bn tri du = s bng gi tr ca biu thc sau
khi tnh ton xong(hoc gi tr ca bin) bn phi du =
V du:
int i, j ; //khai bo bin i v j l kiu s nguyn
i = 3; // i s c gi tr l 3;
j = i +7; // j s c gi tr l 10 ( 3 + 7)
Lu :
So snh php ton a++vi ++a(tng t cho a--v -- a)
V du:
/* khai bo bin a v b l kiu s nguyn v cng c gi tr ban u l 5
*/
int a = 5;
int b = 5;int i,j; //khai bo bin i v j
i = ++a; ngha:
- Thc hin php ton a=a+1 trc, tc gi tr a tng
ln 1 n v, hay a s c gi tr l 6
- Sau i s c gn gi tr 6 ca a
- Gi tr ca a sau lnh ny s c gi tr l 6j = b++; ngha:
- Thc hin php gn j=b trc, do gi tr ca b hin
gi l 5, nn j s c c tr l 5
- Sau php ton b=b+1 s c thc hin, tc gi
tr ca b s c tng ln 1 n v, khi b s c gi tr
l 6
-
7/26/2019 Lap trinh C++ - FINAL
14/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 15
2.5. Chuyn i kiu (p kiu)p kiu l mt th thut kh hay dng bin i kiu ca mt bin,
hay mt biu thc sang mt kiu d liu ph hp vi nhu cu tnh ton ca
chng trnh.
C php: (tn kiu mi) tn_bin(hoc biu thc);
Lu : gi tr ca php p kiu s chuyn gi tr sang kiu d liu
mi, nhng kiu d liu ca nhng bin tham gia vo php p kiu vn
khng b thay i kiu d liu
V d 1:
1.34 : l mt s thc, thuc kiu s thc
(int) 1.34 : gi tr c p kiu sang kiu s nguyn, khi kt
qu s l 1
V d 2:
float i = 2.34; /* i c khai bo l kiu s thc, vi gi tr ban
u l 2.34 */
int j = (int) i ; // p kiu khi j s c gi tr l 2, tuy nhingi tr ca i vn l 2.34
-
7/26/2019 Lap trinh C++ - FINAL
15/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 16
Nhng lu quan trng:
Tt c lnh u kt thc bng du chm phy ;
Cch ch thch:
o Ch thch 1 dng: dng k hiu //
o Ch thch nhiu dng: dng k hiu m /* v k kiu ng */
V d:
/*y l dng ch thch dng 1
y l dng ch thch dng 2 */
Mt s k t c bit:
\n l m xung dng
\tl m du Tab
\ l m du nhy kp
\\l m du \
Chui: bt u v kt thc bng du v
o V d:
y l mt chui
y l mt chui c xung dng \n
-
7/26/2019 Lap trinh C++ - FINAL
16/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 17
2.6Lnh xut/nhp chun:
Mt s lnh c bn cn nm
- std::cout (xut d liu ra mn hnh)
V d:
std::cout
-
7/26/2019 Lap trinh C++ - FINAL
17/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 18
getch(); //Dng mn hnh
return 0;
}
-
7/26/2019 Lap trinh C++ - FINAL
18/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 19
Chng 3: Cu trc iu kin
3.1. iu kin if:a. C php:
1. if (BT lgic)
{
................ //Khi lnh
}
2. if (BT lgic)
{
.................... //Khi lnh 1
}
else
{
.................... //Khi lnh 2
}
BT lgic
Khi lnh
true false
Khi lnh 2
BT lgic
Khi lnh 1
true false
-
7/26/2019 Lap trinh C++ - FINAL
19/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 20
3. if (BT lgic)
{
.................... //Khi lnh
}else
if (BT lgic)
{
............. //Khi lnh
}
b. Bi tp:i. Bi tp 1: Nhp vo mt s x, xc nh tnh chn l ca x
ii. Bi tp 1: Nhp vo mt s x, xc nh s x l s dng, hay s m
hoc bng 0 ?
iii. Bi tp 2: Nhp vo 2 s nguyn a,b. Tm s ln nht.
iv. Bi tp 2: Nhp vo 3 s nguyn a,b,c. Tm s ln nht v s nh
nht trong 3 s .
Ch :
+ C++ qui c:
true != 0
false == 0
+ Kiu Logic:
L kiu th hin gi tr ng sai C hai gi tr: true hoc false Cc php ton:
&& php AND (v) || php OR (hoc) ! php NOT (ph nh)
-
7/26/2019 Lap trinh C++ - FINAL
20/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 21
v. Gii phng trnh Ax + B = 0. Vi A, B l hai h s c nhp vo
t bn phm
vi*. Nhp vo mt s n, xc nh xem c phi l s chnh phng hay
khng?
-
7/26/2019 Lap trinh C++ - FINAL
21/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 22
3.2. Cu trc la chn switch case a. Trng hp s dng Khi c qu nhiu la chn dn n nu dng cu trc if else
if s di dng v kh hiu. Khi s so snh ch l so snh bng, khng phi so snh th t.
b. C php:switch(biu thc nguyn){
casetrng hp 1:Cc cu lnh 1;break;
casetrng hp 2:Cc cu lnh 2;break;
default:
Cc cu lnh n;break;
}
Lu :- Biu thc nguyn: Bin kiu nguyn, biu thc c gi tr nguyn, hoc
kiu k t, kiu logic.- Trng hp ... : l s nguyn, hng k t, hoc biu thc hng, gi tr
logic.- default: (trng hp ngoi l), s c thc thi nu cc trng hp
trn khng xy ra (thnh phn khng bt buc).
c. Bi tp:
Bi tp 1: Nhp vo mt s x, xc nh tnh chn l ca x
Bi tp 2: Vit chng trnh cho tr chi thi trc nghim
- Xut ra mn hnh mt cu hi v 4 p n a, b, c, d.
- Nu ngi chi chn p n sai th xut cu thng bo sai ri
- Cn nu ngi chi chn p n ng th bo ng ri
Biu thc= TH1
exit
true Cc cu lnh 1
true
false Cc cu lnh n(default)
Biu thc= TH2
Cc cu lnh 2
false
break
break
break
Khng break
Khng break
-
7/26/2019 Lap trinh C++ - FINAL
22/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 23
Bi tp 3: Xut kt qu ca php ton
A php_ton B
Vi A, B l 2 s thc nhp t bn php
V php ton l mt trong nhng php ton sau: +, -, *, /
Bn hy vit chng trnh xut ra kt qu ca php ton trn ph
hp vi php ton m ngi dng nhp vo.
V d:
Ngi dng nhp A = 2
B = 3.5
Php ton: *
Khi kt qu ca php ton l: 2 * 3.5 = 7
-
7/26/2019 Lap trinh C++ - FINAL
23/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 24
Chng 4: Cu trc lp4.1. Cc cu trc lp:
1. while (BT lgic)
{
................ //Khi lnh
}
2. do
{
................ //Khi lnh}while (BT lgic);
Lu :
-c du ; cui lnh while
- Khi lnh lun c thc hin t
nht 1 ln
BT lgic
//khi lnh
true false
BT lgic
//khi lnh
true
false
-
7/26/2019 Lap trinh C++ - FINAL
24/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 25
3. for (khi to; iu kin; lnh thchin sau)
{........... //Khi lnh
}
V d:for(int i=0; i< 5; i++)
cout
-
7/26/2019 Lap trinh C++ - FINAL
25/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 26
- continue (thng thy trong vng lp for): Trong vng lp khi gp t
kho ny th chng trnh bt u mt vng mi ca vng lp.
4.2. Mi lin quan gia for v while:a. Chuyn lnh for thnh while:
Khi_to_for;
while (iu_kin_ca_for)
{
.... //Khi lnh trong thn lnh for
Lnh_thc_hin_sau_ca_for;
}
b. Chuyn lnh while thnh for:for ( ; iu_kin_ca_while; )
{
..... //Khi lnh trong thn lnh while
}
2. Bi tp:Thc hin bng cu trc while, do... while, for cho c 3 cu i, ii, iii
i. Tnh tng 1 + 2 + 3 + 4 + ... + n
ii. Tnh tng 1 + 1/2 + 1/3 + 1/4 + ... +1/ n
iii.Tnh tng 12+ 22+ 32+ 42+ ... + n2
iv.Nhp vo mt s n, xc nh xem c phi l s nguyn t khng?
v. Xut ra cc s nguyn t t 1 n n, vi n l s nguyn dng nhp t bn
phm
-
7/26/2019 Lap trinh C++ - FINAL
26/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 27
Chng 5: Cu trc
5.1. Nhc li cch khai bo mt kiu d liu mi (typedef):a. C php:
typedef Kiu_d_liu_c Kiu_d_liu_mi;
b. ngha:
Khi khai bo mt kiu d liu mi bng typedef, tc l
Kiu_d_liu_mi l 1 kiu d liu nh kiu Kiu_d_liu_c
Ta c th s dng kiu d liu mi nh nhng kiu d liu bnhthng khc (s dng ging nh kiu d liu int, float, double,
char, )
c. V d:
typedef int so_nguyen;
so_nguyen i;
int j;for (so_nguyen t = 0; t
-
7/26/2019 Lap trinh C++ - FINAL
27/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 28
b. C php:
i. Cch 1: dng tyedef nh ngha kiu mi
typedef struct{
kiu_d_liu trng_1;
kiu_d_liu trng_2;
.....
}tn_cu_trc;
ii. Cch 2: khng dngtyedef nh ngha kiu mi
struct tn_cu_trc{
kiu_d_liu trng_1;
kiu_d_liu trng_2;
.....
};
khai bo tn cu trc ng thi c th khai bo cng lc cc
bin kiu cu trc.
struct tn_cu_trc{
kiu_d_liu trng_1;
kiu_d_liu trng_2;
.....
}bin_1, bin_2,...;
Lu :
- C du chm phy (;) cui khai bo cu trc- Ta s dng kiu cu trc nh mi kiu bnh thng khc
-
7/26/2019 Lap trinh C++ - FINAL
28/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 29
c. V d:
Xy dng kiu cu trc PHN S, vi 2 trng l T v MU kiu s
nguyn
Cch 1:
typedefstruct
{
int tu;
int mau;
} PHANSO;
Cch 2:
struct PHANSO
{
int tu;
int mau;
};
khi ta c th s dng kiu cu trc PHANSO nh l mt kiu bnh
thng
PHANSO ps;
c. Cch truy cp vo cc trng ca cu trc:
Ta dng c php sau truy cp vo trng ca cu trc
Tn_bin_kiu_cu_trc.trng
(lu : c du chm (.) ngn cch gia bin_kiu_cu_trc v trng
c gi)V d, vi cu trc PHANSO c khai bo nh trn, ta c th nhp v
xut cc trng ca bin ps c kiu cu trc PHANSO nh sau:
PHANSO ps;
cin>>ps.tu>>ps.mau;
cout
-
7/26/2019 Lap trinh C++ - FINAL
29/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 30
5.2. Bi tp cu trc1) Vit chng trnh nhp vo 2 phn s ps1, ps2
o Tnh tng, hiu, tch, nhn 2 phn s , kt qu tr v l
phn s
(Lu : phi kim tra tnh ng n ca d liu nhp vo, v d mu
ca phn s phi lun khc khng)
2) Vit chng trnh nhp vo 3 im A, B, C trong h trc ta Oxy,
hy:
o Kim tra xem 3 im c thng hng hay khng
o Tnh khong cch t A n B, A n C, v B n Co Nu A,B,C khng thng hng hy tnh din tch, chu vi ca
tam gic ABC
3) Vit chng trnh qun l im ca sinh vin, vi
o S lng sinh vin l n, vi n nhp t bn phm
o Thng tin v sinh vin gm:
H v tn Ngy thng nm sinh
MSSV
im Ton, L, Ho
im trung bnh
-
7/26/2019 Lap trinh C++ - FINAL
30/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 31
Chng 6: Mng6.1. nh ngha:
Mng l mt tp hp nhiu phn t c cng mt kiu gi tr v c cng
chung mt tn
6.2. Khai bo:
Kiu_d_liu Tn_mng[spt][spt]....;
C th:
a. Mng mt chiu:
Kiu_d_liu Tn_mng[spt];b. Mng hai chiu:
Kiu_d_liu Tn_mng[spt dng][spt ct];
V
d:
-
Mng
1
chi
u kiu s nguyn c 10 phn t: int a[10];
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
- Mng 1 chiu kiu k t c 5 phn t:char s[5];
//Lu : y cng c th xem l mt chui c 5 k t
- Mng 1 chiu kiu chui c 5 phn t: string chuoi[5];
- Mng 2 chiu kiu s nguyn c 3 dng, 4 ct: int a[3][4];
a[0][0] a[0][1] a[0][2] a[0][3]
a[1][0] a[1][1] a[1][2] a[1][3]
a[2][0] a[2][1] a[2][2] a[2][3]
Lu quan trng:
- Ch s ca mng lun lun c nh t ch s 0
- Cc phn t ca mng ta c th s dng nh mt bin bnh thng
V d: Gn mt phn t ca mng cho 10
a[2] = 10;
-
7/26/2019 Lap trinh C++ - FINAL
31/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 32
6.2. Bi tp:
i. Thc hin cc php ton ca mng (1 chiu v 2 chiu):
- Khi to mt mng
- Xut cc gi tr ca mng
- Thm mt phn t vo mng (1 chiu)
- Xo mt phn t trong mng (1 chiu)
ii.Nhp vo thng tin ca mt sinh:
- H tn
- Nm sinh
- im cc mn hc (lu vo mng)
Xut ra im trung bnh ca sinh vin
iii.Nhp vo mt dy s nguyn, tm phn t ln nht, nh nht ca dy (1
chiu, 2 chiu)
iv.Nhp vo mt dy s nguyn,
Xut ra 2 dy s:
- Dy nhng s m ca mng
- Dy nhng s dng ca mng
v.Nhp vo mt dy s nguyn,
Xut ra 2 dy s:
- Dy nhng s nguyn t
- Dy nhng s chnh phng.
-
7/26/2019 Lap trinh C++ - FINAL
32/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 33
Chuyn : Mng k t - chui
1. K t- V d: c , b, d- Tn kiu d liu: char- V d:
char c;cin >>c;
2. Mng- L mt tp hp cc bin c cng kiu d liu- T phn t ca mng ta c th xem l mt bin, v d a[i], a[1],
a[2][3],.... ta c th thc hin mi lnh, mi php ton trn bin pdng vo t phn t ca mng
- Lu : Mng lun lun c nh s t 0- Cch khai bo:
Mng 1 chiu:Tn_d_liu Tn_mng[spt];
Mng 2 chiu:Tn d liu Tn_mng[s_dng][s_ct]
- V d:int n;
int a[100]; //Khai bo mng 1 chiu kiu s nguyn c 10 phn t
cout
-
7/26/2019 Lap trinh C++ - FINAL
33/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 34
- Khai bo: char tn_chui[chiu_di_chui];- Vi char s[10] = Hello th s[0] = H, s[1] = e, s[2] = l,
s[3]=l, s[4]=o, c bit s s c thm k t kt thc chui ls[5] = \0. Khi chiu di chui l 5 (khng tnh k t ktthc chui)
- V d:char s[10]; //khai bo mt chui c ti a 10 k t//hay mt mng gm 10 phn t kiu k t
- Nhp d liu vo chuii. Cch 1:Nhp t phn t ging nh mng
//Vi L l chiu di ca chuifor (int i = 0; i < L; ++i)
cin>>s[i];
ii.Cch 2:Nhp chui khng ckhong trngcin>>s;
iii.Cch 3:Nhp chui ckhong trnggets(s);
- Cch xut chuii. Cch 1: Xut t phn t ging nh mng
//Vi L l chiu di ca chuifor (int i = 0; i < L; ++i)
cout
-
7/26/2019 Lap trinh C++ - FINAL
34/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 35
int atoi(const char* s) i chui s sang s nguyn (nukhng i c kt qu s tr vgi tr 0)V d:
char s[10] = 123;int i = atoi(s);cout
-
7/26/2019 Lap trinh C++ - FINAL
35/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 36
Lu :-Cch khai bo hng:(hng l nhng bin l gi tr s khng bao gi b
thay i trong chng trnh)+ Cch 1: (dng macro #define)
#define bin_hng gi_tr //Khng c du ; cui lnh
- ngha: nu dng t kho marco #define, trong khi bin dch,chng trnh s thay tt c bin_hngbng gi_tr- V d:
#define bien_hang 123+ Cch 2:
const kiu_d_liu tn_hng = gi_tr; //c du ; cui lnhV d:
const int bien_hang = 123;
-
Khi lp trnh trn mi trng Visual C++, trong khi nh lnh ta c thdng phm nng Ctrl + Space bar hin th cc lnh ca trong C++
-
Dng phm nngCtrl+ space barhin lnh
-
7/26/2019 Lap trinh C++ - FINAL
36/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 37
Do hm getline trong Visual C++ b li, ta s sa li bng cch sau:+ Bc 1: Bm chut phi ln ch khai bo th vin , bm chut
phi chn Open Document
+ Bc 2: Bm phm nng Ctrl + F+ Bc 3: g vo hp thoi tm kim dng ch:
else if (_Tr::eq((_E)_C, _D))
-
7/26/2019 Lap trinh C++ - FINAL
37/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 38
+ Bc 4: Thay i mt s lnhBan u Sau khi sa
else if (_Tr::eq((_E)_C, _D)){_Chg = true;
_I.rdbuf()->snextc();
break; }
else if (_Tr::eq((_E)_C, _D)){_Chg = true;//_I.rdbuf()->snextc();
//Phn thm vo_I.rdbuf()->sbumpc();break; }
+ Bc 5: Bm Ctrl + S (lu ni dung thay i), sau ng ca sli.
-
7/26/2019 Lap trinh C++ - FINAL
38/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 39
Bi tp b sung:
1. Nhp vo mt mng 2 chiu n x n (ma trn vung) Tnh tng cc s hng trn ng cho chnh Tnh tng cc s hng trn ng cho ph Duyt phn na trn ca ng cho chnh
2. Sp xp tng dn/gim dn cc gi tr ca mt mng 1 chiu3. Bi tp v phn s
Nhp vo 2 phn s (phn s gm c t v mu) Tnh tng, hiu, tch, thng ca 2 phn s Rt gn phn s
4. Xut ra mn hnh cc hnh sao (vi chiu cao ca mi hnh l mt s nguyndng h c nhp t bn phm)
***************
***
*******
*****
****
*****
*******
***************
*
5. Nhp vo mt chui s v mt k t c, kim tra xem trong s c k t c khng,nu c th xut v tr ca c trong s, nu khng xut ra gi tr -16. Tng t nh bi tp 4, nhng thay v l k t c, ta s thay bng mt chui s2
h
-
7/26/2019 Lap trinh C++ - FINAL
39/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 40
Chuyn :H tr k thut lp trnh
A. Phm vi hot ng ca mt bin1. Phn loi bin:
- Bin ton cc: L nhng bin c phm vi hot ng xuyn sut t u
n cui chng trnh
- Bin cc b:
+ L nhng bin c phm vi hot ng ti mt thi im ca
chng trnh.
+ Phm vi hot ng ca bin cc b l t lc khai bo bin cho
n du ng khi gn nht cha n.
2. Ni khai bo bin:
- Bin ton cc: khai bo ngoi hm main
- Bin cc b: khai bo trong hm main
B. Debug
1. Phn loi cc loi li (Error):
- Li c php: L nhng li do ngi lp trnh khng ghi ng c php
lnh, nhng li ny s c chng trnh bin dch thng bo.
Ni thng boli c php ,
nu c libm F4
tm liNi bo cnh bo: cnh bo
khng lm nh hng n vicchy ct, tuy nhiu i vi mts cnh bo quan trng ta nn
kim tra k
-
7/26/2019 Lap trinh C++ - FINAL
40/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 41
- Li logic: L nhng li chng trnh do ngi lp trnh vit khng thc
hin ng vi ni dung yu cu c t ra (v d: yu cu ca bi ton, yu cu
ca khch hng,...)
2. Debug l g?:
-L cch tm nhng li logic bng cch chng trnh chy tng dng
lnh (chy tng bc t trn xung), qua tng dng lnh ta s xc nh gi tr
ca tng bin thay i nh th no c ng vi thut ton a ra hay khng =>
t ta c th xc nh c li logic ca chng trnh.
3. Cch hot ng ca Debug:
Bc 1: t nhng im dng breakpointbng bm phm nng F9
(breakpoint s nh du nhng dng lnh, khi chng trnh s
dng li ti nhng dng lnh cha breakpoint)
i vi nhng li logic chng ta phi s dng Debug tm ra li.
im dngbreakpoint
im dngbreakpoint
-
7/26/2019 Lap trinh C++ - FINAL
41/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 42
Bc 2: Bm F5 chng trnh s bt u ch Debug (chng trnh s
dng li v tr breakpoint).
Tu theo mc ch ca ngi kim tra li, ta c cc phm nng h
tr
+ F10: chng trnh chy tng bc, b qua chng trnh con
+ F11: chng trnh chy tng bc, nu gp chng trnh con s
vo kim tra (khng b qua chng trnh con).
+ F5: n im dng breakpoint gn nht
+ F9: thm im dng breakpoint
+ Shift + F5: Dng ch Debug
Lu :
1 .Mn hnh trong ch debug gm 3 ca s chnh
2. Ctrl + F5: chy chng trnh khng Debug
F5: chy chng trnh ch Debug
Dnglnh angkim tra
Ca s kimtra gi tr bin(do chngtrinh bindch qun l)
(ca s quickwatch) Cas kim tra gi tr bin (do
ngi lp trnh qun lbng cch nhp tn binvo).
Nu khng c, bm Shift +F9 (vo menu Debug ->quickwatch..)
-
7/26/2019 Lap trinh C++ - FINAL
42/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 43
for (i = 0; i < n; i++)
cout
-
7/26/2019 Lap trinh C++ - FINAL
43/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 44
for (i = 0; i < n; i++)
cout
-
7/26/2019 Lap trinh C++ - FINAL
44/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 45
for (i = 0; i < n; i++)
cout
-
7/26/2019 Lap trinh C++ - FINAL
45/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 46
b. Hm khng c gi tr tr v:C php:i. Hm khng c truyn tham s
C php V dvoidtn_hm()
{ //Khi lnh;}
void Hm_Cho()
{ cout
-
7/26/2019 Lap trinh C++ - FINAL
46/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 47
7.3. Khai bo hm khai bo prototype:C php:
void Tn_Hm(danh sch kiucc tham s);kiu_tr_v Tn_Hm(danh sch kiucc tham s);
Ch : - Danh sch kiu tham s: ch ra cc kiu ca tham s (c th choc khng c tn bin)
V d://Khai bo prototype
void Xuat_Tong(int , int ) ;void main(){
//Khi lnh trong hm main}
//nh ngha hmvoid Xuat_Tong(int a, int b){
int s = a + b;cout
-
7/26/2019 Lap trinh C++ - FINAL
47/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 48
7.4. Li gi hm:a. V d vi hm khng c gi tr tr v
//Khai bo prototypevoid Xuat_Tong(int , int ) ;
void main(){Xuat_Tong( 2 , 3 ); //Gi hm Xuat_Tong
}
//nh ngha hmvoid Xuat_Tong(int a, int b){
int s = a + b;
cout
-
7/26/2019 Lap trinh C++ - FINAL
48/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 49
Tng t ta c s so khp nh sau:Hm int Tinh_Tong(int a , int b)
Li gi hm i = Tinh_Tong( 2 , 3 );
Hay ti thi im gi hm Xuat_Tong a s c gi tr 2, b s c gi tr l 3V gi tr 5 s c tr vcho bin i, khi i s c gi tr l 5
7.5. Tham tr v tham chiu (quan trng):Tham tr Tham chiu
- khi khai bo khng c du &giakiu v tham sV d:void ham(int a){
//Khi lnh}
- khi khai bo c du & gia kiu vtham s
void ham(int&a){
//Khi lnh}
- Khng lm thay ibin c gi - Lm thay ibin c gi
void binh_phuong(int );
void main(){
int i = 5;binh_phuong( i );cout
-
7/26/2019 Lap trinh C++ - FINAL
49/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 50
7.6. Gi tr mc nh ca tham s:a. ngha:
Cho php gi hm mt cch linh hot:- Nu c truyn tham s th hm s ly tham s c truyn- Nu khng c truyn tham s th hm s ly gi tr mc nh
b. Cc khai bo:Ta ch cn khai bo cc gi tr mc nh ca tham s lc khai boprototype (khai bo hm)
V d 1:int Tinh_Tong(int , int b = 1); //Gi tr mc nh ca b l 1
int main(){
int i;i = Tinh_Tong ( 2 , 3);cout
-
7/26/2019 Lap trinh C++ - FINAL
50/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 51
7.7. Qu ti hm:a. Cc thnh phn ca hm:
Hai hm khc nhau khi chng c t nht 1 trong 3 thnh phn khc nhau,gm:
o Tn hm
o Kiu ca tham so S lng tham s
b. Qu ti hm:Qu ti hm l nhng hm c cng tn hm, nu ri vo 1 trong 2 trnghp sau:
o S lng tham s khc nhauo Cng s lng tham s, khc nhau mt kiu d liu no ca
tham s
V d 1:void Xuat_Tong(int a, int b);void Xuat_Tong(int a, int b, int c);
int main(){
Xuat_Tong( 1 , 2);
Xuat_Tong( 1 , 2, 3);}
void Xuat_Tong(int a, int b){
cout
-
7/26/2019 Lap trinh C++ - FINAL
51/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 52
7.8. Qu ti ton t:a. Cc ton t trong C++:
Cc ton t quen thuc trong C++Ton t V d
+ a = b + c;
- a = b c;* a = b * c;/ a = b / c;
% a = b % c;= a = b;
== if (a == b){}[] a[1]; //vi a l mng>i;
Cc ton trong C++ u c chung mt cch t tn hmtheo m t sau:operator
b. Qu ti ton t:ng dng: ta c th s dng cc ton t ca C++ i vi cc bin cu
trc m ta t ngha nh nhng kiu bnh thng trong C++V d:
vi kiu cu trc PHNS c khai bo nh sau:
struct PHANSO{int x;int mau;
};
int main(){
PHANSO ps1, ps2;
cin>>ps1>>ps2; //Nhp nh kiu d liu bnh thng
PHANSO ps;ps = ps1 + ps2; //Thc hin php cng nh kiu d liu
//bnh thng khc
cout
-
7/26/2019 Lap trinh C++ - FINAL
52/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 53
V d:1. Qu ti ton t + ca 2 phn s
PHANSO operator + (PHANSO a , PHANSO b){
PHANSO ps;
ps.tu = a.tu * b.mau + a.mau * b.tu;ps.mau = a.mau * b.mau;return ps;
}
2. Qu ti ton t
-
7/26/2019 Lap trinh C++ - FINAL
53/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 54
Bi tp v hm:
1. S dng hm v qu ti hm, qu ti ton t vit li bi tp phn sa. kim tra tnh ng n ca phn s
b.Nhp / Xut phn s
c. Rt gn phn sd. Cng tr nhn chia phn se. Qu ti ton t nhp, xut, = , ==, +, - , *, /
2. S dng hm v qu ti hm, qu ti ton t vit li bi tp v mng 1chiu kiu s nguyn
a.Nhp / xut mng 1 chiub. Tm cc s nguyn t trong mngc. Tm cc s chnh phng trong mng
d.
Thm 1 phn t vo u dye. Thm 1 phn t vo cui dyf. Thm 1 phn t vo v tr kg. Xo 1 phn t v tr kh. Tm kim phn t c gi tr xi. Tm min
j. Tm maxk. Tnh tngl. Tnh trung bnh cc s hngm.o ngc dyn. Sp xp theo th t tng/gim
3. S dng hm v qu ti hm, qu ti ton t vit li bi tp v mng 2chiu kiu s nguyn
a.Nhp / xut mngb. Thm 1 dng vo u ma trnc. Thm 1 phn t vo cui ma trnd. Thm 1 phn t vo dng th ke. Xo dng th kf. Tm min
g. Tm maxh. Tnh tngi. Tnh trung bnh cc s hng
j. Tm kim phn t c ga tr x
-
7/26/2019 Lap trinh C++ - FINAL
54/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 55
Chng 8:T chc th vin
8.1. ngha ca vic t chc th vin:Khi lp trnh, lp trnh vin lun c xu hng s dng li nhng hm m
mnh vit, khng phi tn cng vit li nh ban u. V vy h t chc cc
hm thng s dng li thnh th vin, khi no cn s dng li th ch cn
gi hm ra, m khng cn phi nh ngha li hm.
8.2.Cc bc to th vinCc bc to th vin mang tn tenthuvien
i. Giai on 1: To file tenthuvien.hBc 1: Vo menu Project -> Add to project -> NewBc 2: Ti ther File, chn C/C++ header fileBc 3: nh vo: tenthuvien.h vo file name
Bc 4: bm OK
Tn th vin, trongv d ny th vin
c tn l:Tinh_tong
-
7/26/2019 Lap trinh C++ - FINAL
55/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 56
Bc 5: Khi ta c mt file l tenthuvien.h , trong flie ny tason ni dung nh sau:
- u file:#ifndef __TENTHUVIEN_H__#define __TENTHUVIEN_H__
- Gia file:- Khai bo hm (prototype ca hm) ca cc hm m ta munt chc thnh th vin
- Cui file:#endif
ii. Giai on 2: To file tenthuvien.cppBc 1: Vo menu Project -> Add to project -> NewBc 2: Ti ther File, chn C/C++ Source FileBc 3: nh vo: tenthuvien.cpp vo file name
Sau chn okBc 4: Khi ta c mt file l tenthuvien.cpp , trong flie ny tason ni dung:
-u file:#include tenthuvien.h
-Cc nh ngha hm c khai bo trong tenthuvien.h
iii.Giai on 2: S dng th vin tenthuvien nhng file no c s dng cc hm trong th vin
tenthuvienta u phi khai bo th vin u file#include tenthuvien.hSau ta c th s dng cc hm trong th vin mt cch
bnh thng nh cc hm trong C++.
-
7/26/2019 Lap trinh C++ - FINAL
56/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 57
8.3.Phn tch v dV d ta c chng trnh tnh tng 2 s a v b c vit mt cch bnh
thng nh sau:
Vit li chng trnh trn vi cch t chc th vin xy dng th vinTnh_tong
i. Ni dung file Tinh_tong.h
-
7/26/2019 Lap trinh C++ - FINAL
57/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 58
ii.Ni dung file Tinh_tong.cpp
iii.Ni dung file s dng th vin Tinh_tong
8.4.Ch th #include: so snh 2 cch khai bo th vin
#include #include th_vin.hChng trnh s tm th_vin trong thmc mc nh cha cc th vin trongC++
- Chng trnh s tm th vin trongth mc gc (nn ct ang chy)- Nu khng tm thy th vin, chngtrnh s tm trong th mc mc nhcha cc th vin trong C++
Thng l cc th vin chun ca C++ Thng l cc th vin do ngi lptrnh t nh ngha
-
7/26/2019 Lap trinh C++ - FINAL
58/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 59
Bi tp:Vit li cc tt c bi tp trong chng hm (chng 10) bng cch t
chc thnh th vin
-
7/26/2019 Lap trinh C++ - FINAL
59/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 60
Chng 9: Qun l b nh ng9.1. Khi nim v nh - a ch trong lp trnh:
Khi ta khai bo mt bin, iu c ngha l chng trnh s to cho
ta mt nh lu tr bin .
int main(){
int a;int b;int c;
a = 10;
b =20;c = 30;
return 0}
8 30 c4 20 b0 10 a
a chGi tr hinthi ca
nhbin
Mt nh gm c 2 thnh phn c bn sau:- a ch ca nh (do h iu hnh qun l)- Gi tr hin thi ca nh
Vi mt bin a, ta mun bit a ch nh lu tr ca n l bao nhiuth ta dng ton t & xc nh a ch.
V d:int a = 20;cout
-
7/26/2019 Lap trinh C++ - FINAL
60/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 61
9.3. Cc thao tc trn con tr:i. Con tr lu a ch nh, nn
cout
-
7/26/2019 Lap trinh C++ - FINAL
61/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 62
Bin tnh Bin ng
Kch thc c nh khng c nh
Phm vi s dng t lc khai bo n htkhi gn nht cha n.
t lc c to ra v ktthc khi b hy.
Tn ca bin dng
Lu gi tr Lu a ch
Cch truy xut gi tr tn_bin *tn_bin
Cch truy cp a ch & tn_bin tn_bin
T ng gii phng khiht phm vi s dng
Khng t ng giiphng. Lp trnh vinphi lo vic ny.
9.4. Mng ng (mng con tr)- Khai bo
kiu_d_liu* tn_bin = new kiu_d_liu[spt];- Hu mng ng:
delete [] tn_bin;- u im: s dng c mng vi s phn t rt ln- V d:
#define MAX 100000int * a = new int [MAX];for (int i = 0 ; i< MAX ; i++)
a[i] = i;delete[] a;
-
7/26/2019 Lap trinh C++ - FINAL
62/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 63
9.5. Chui con tr- Khai bo- char* tn_chui = new char[chiu_di_ti_a_ca_chui];- Hu chi:- delete[] chui;
- Khi ta c th s dng cc lnh v chui p dng cho chui con trmt cch bnh thng
9.6. Con tr kiu cu trc:V d:
struct PHANSO{
int tu;int mau;
};int main(){
PHANSO *ps; //con tr lu a ch ca bin kiu cu trcps = new PHANSO;
//truy cp n trng ca cu trc bng du chm (.)*ps . tu = 1;*ps . mau = 2;cout
-
7/26/2019 Lap trinh C++ - FINAL
63/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 64
9.7. Mi quan h gia mng v con tr:Tn mng l mt hng a ch
int a[10];a tng ng vi &a[0] (a ch ca phn t a[0])a + i tng ng vi &a[i] (a ch ca phn t a[i])
*(a+i) tng ng vi a[i]
V vy ta c th tr con tr n bin mng nh sau:int *p;int a;
p = a;p tng ng vi &a[0] (a ch ca phn t a[0])p + i tng ng vi &a[i] (a ch ca phn t a[i])*(p+i) tng ng vi a[i]
hoc: int *p;int a;
p = &a[k];p tng ng vi &a[k] (a ch ca phn t a[k])p + i tng ng vi &a[k + i] (a ch ca phn t a[k+i])*(p+i) tng ng vi a[k+i]
9.8. Mt s v d n gin:
#include #include using namespace std;int main(){
int * p;int a = 1;
p = & a;cout
-
7/26/2019 Lap trinh C++ - FINAL
64/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 65
cout
-
7/26/2019 Lap trinh C++ - FINAL
65/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 66
Chng 10: Th vin STL(Standard Template Library)
10.1. iostream: #include cc lnh lin quan n vic xut nhp
Lnh ngha V dcout xut chun cout
-
7/26/2019 Lap trinh C++ - FINAL
66/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 67
10.4. i tng string: #include + khai bo i tng string
string tn_i_tng_string;+ Nhp v xut
string s; //Khai bo mt i tng stringcin>>s; //Nhp vo chui khng c khong trnggetline(cin, s); //Nhp vo mt chui c khong trng
+ Cc phng thc ca i tng stringPhng thc ngha V d
size() - Ly chiu di chui string s = hello;cout
-
7/26/2019 Lap trinh C++ - FINAL
67/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 68
-1: s1 nh hn s2find(char kt , int chis_bdu)find(string chui, intchis_bdu)
Tm k t (hoc chui) trongdy bt u t ch_s_bduca chui.- nu tm thy s ch ra v tr
ca k t (chui) trong chui- nu k tm thy s tr v -1
string s = hello;
int i = s.find( e ); //i=1
int j = s.find( t ); //i=-1
Ton t + cng 2 chui string s1 =Hellostring s2 = World
string s = s1 + s1;//s=Hello World
Ton t [] Truy cp n phn t cachui
cout
-
7/26/2019 Lap trinh C++ - FINAL
68/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 69
getch();return 0;
}
getch();return 0;
}
Cc phng thc c bn ca vector
Phng thc ngha V dpush_back Thm phn t vo cui
vector
size() - kch thc (s lng phn
t) ca vector
vector vec;
vec.push_back(2);vec.push_back(1);vec.push_back(3);
//Khi //vec[0]=2,vec[1]=2,vec[3]=3cout
-
7/26/2019 Lap trinh C++ - FINAL
69/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 70
10.6. fstream: #include a. Mc ch:
+ Qun l vic nhp d liu t File (i tngifstream)+ Qun l vic xut d liu vo File (i tngoifstream)
b. Nhp d liu t File:Nhp d liu t bn phm Nhp d liu t file+ Kh qun l d liu nhp + D liu nm trong file, nn d qun
l+ Mi ln chy chng trnh l phinhp d liu li
+ Mi ln chy chng trnh ta khngcn nhp d liu li
+ Khng cn file lu tr d liu + Phi to file lu tr d liu trc khichy chng trnh (thng l *.txt)
V dvit chng trnh nhp vo ba s nguyn a, b, cNhp d liu t bn phm Nhp d liu t file#include #include
using namespace std;
int main()
{ int a, b, c;
cin>>a;cin>>b>>c;
getch();return 0;
}
#include #include #include
using namespace std;
int main()
{ int a, b, c;
ifstream ifile;//To i tng ifstreamifile.open(data.txt); //M file data.txt
ifile>>a;ifile>>b>>c;
//ng fileifile.close();
getch();return 0;
}
-
7/26/2019 Lap trinh C++ - FINAL
70/71
Lp trnh C++
GV: Trn Hu Quc Th Trang 71
Ch :Ngi ta thng dng phng thc eof() ca ifstream kim tra l c
ht file cha (thng dng vic nhp d liu cho mng t file)
ifstream ifile;//To i tng ifstream
ifile.open(data.txt); //M file data.txt
int n = 0;
//Trong khi cha c ht filewhile (!ifile.eof()){
ifile>>a[n++];}
//ng fileifile.close();
V tr cui file:ifile.eof() == true
-
7/26/2019 Lap trinh C++ - FINAL
71/71
Lp trnh C++
c. Xut d liu vo File:
Xut d liu ra mn hnh Xut d liu ra file+ Kh qun l d liu xut + D liu c xut ra file, nn d
qun l
V d vit chng trnh nhp vo ba s nguyn a, b, cNhp d liu t bn phm Nhp d liu t file
#include #include
using namespace std;
int main(){int a, b, c;a= 1;
b= 2;c= 3;
cout