Professional Documents
Culture Documents
LTHT
Chng 1
n Tp
Download T i Tienichmaytinh.Com
Chng 01 - 1
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. MC TIU
Bin ton cc
Bin cc b
Hm v bin ton cc
Tham s v hm
Chng 01 - 2
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. BI TON
ton:
Vit
chng trnh nhp
h tn, im ton,
im vn ca mt
hc sinh. Tnh
im trung bnh v
xut kt qu.
Bi
Chng 01 - 3
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. BIN TON CC
Chng 01 - 4
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
hoten);
printf(\n Toan: %d ,
toan);
printf(\n Van: %d , van);
printf(\n Trung binh:%f,
dtb);
30.}
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 01 - 5
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. BIN CC B
Chng 01 - 6
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
hoten);
printf(\n Toan: %d ,
toan);
printf(\n Van: %d , van);
printf(\n Trung binh:%f ,
dtb);
30.}
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 01 - 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. HM V BIN TON CC
Khi khai bo
Khi hm main
Chng 01 - 8
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Kin trc ca mt
chng trnh C c bn
bao gm 3 khi lnh
chnh nh sau: khi
khai bo, khi hm
main v khi nh
ngha hm. Ba khi
lnh ny c trnh
by theo th t ca
hnh v bn di.
Chng 01 - 9
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Khi
khai
bo
Khi
hm
main
Khi
nh
ngha
hm
Chng 01 - 10
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 01 - 11
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
ton:
Vit
chng trnh nhp
h tn, im ton,
im vn ca mt
hc sinh. Tnh
im trung bnh v
xut kt qu.
Bi
Chng 01 - 12
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
#include <conio.h>
2.
#include <stdio.h>
3.
char hoten[30];
4.
int toan;
5.
int van;
6.
float dtb;
7.
void Nhap();
8.
void XuLy();
9.
void Xuat();
Chng 01 - 13
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
void main()
2.
3.
Nhap();
4.
XuLy();
5.
Xuat();
6.
Chng 01 - 14
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Xuat()
12. {
13.
14.
15.
16.
17. }
18. void
XuLy()
19. {
20.
dtb=(float)(toan + van)/2;
21. }
Chng 01 - 15
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
void Nhap()
2.
3.
printf(Nhap ho ten:);
4.
gets(hoten);
5.
printf(Nhap toan:);
6.
scanf(%d,&toan);
7.
printf(Nhap van:);
8.
scanf(%d,&van);
9.
Chng 01 - 16
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
6. THAM S V HM
Cp pht b nh:
Chng 01 - 17
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
6. THAM S V HM
1.
#include <conio.h>
2.
#include <stdio.h>
3.
4.
5.
void Xuat(char[],int,int,float);
Chng 01 - 18
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. THAM S V HM
1.
void main()
2.
3.
char ht[30];
4.
int t,v;
5.
float tb;
6.
Nhap(ht,t,v);
7.
Xuly(t,v,tb);
8.
Xuat(ht,t,v,tb);
9.
Chng 01 - 19
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
6. THAM S V HM (tip)
11. void
Xuat(char hoten[],int
toan,int van,float dtb)
12. {
13.
printf(Ho ten:%s,hoten);
14.
printf(Toan: %d,toan);
15.
printf(Van: %d,van);
16.
printf(DTB: %f,dtb);
17. }
18. void
19. {
20.
dtb=(float)(toan + van)/2;
21. }
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 01 - 20
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. THAM S V HM (tip)
1.
2.
3.
printf(Nhap ho ten:);
4.
gets(hoten);
5.
printf(Nhap toan:);
6.
scanf(%d,&toan);
7.
printf(Nhap van:);
8.
scanf(%d,&van);
9.
Chng 01 - 21
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
7. TRU TNG HA
D LIU
C php:
1.
struct KieuDuLieu
2.
3.
Thnh phn 1;
4.
Thnh phn 2;
5.
6.
};
7.
Chng 01 - 22
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
7. TRU TNG HA
D LIU (tip)
11. #include
<stdio.h>
12. #include <conio.h>
13. struct HocSinh
14. {
15.
char hoten[31];
16.
int toan;
17.
int van;
18.
float dtb;
19. };
20. typedef struct HocSinh HOCSINH;
21. void Nhap(HOCSINH &);
22. void Xuat(HOCSINH);
23. void XuLy(HOCSINH&);
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 01 - 23
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TRU TNG HA
D LIU (tip)
1.
2.
void Xuat(HOCSINH);
3.
void XuLy(HOCSINH&);
4.
void main()
5.
6.
HOCSINH hs;
7.
Nhap(hs);
8.
XuLy(hs);
9.
Xuat(hs);
10. }
Chng 01 - 24
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TRU TNG HA
D LIU (tip)
1.
void Xuat(HOCSINH x)
2.
3.
printf(Ho ten:%s,x.hoten);
4.
printf(Toan: %d,x.toan);
5.
printf(Van: %d,x.van);
6.
printf(DTB: %f,x.dtb);
7.
8.
9.
10.
x.dtb=(float)(x.toan+x.van)/2;
11. }
Chng 01 - 25
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TRU TNG HA
D LIU (tip)
1.
void Nhap(HOCSINH&x)
2.
3.
printf(Nhap ho ten:);
4.
gets(x.hoten);
5.
printf(Nhap toan:);
6.
scanf(%d,&x.toan);
7.
printf(Nhap van:);
8.
scanf(%d,&x.van);
9.
Chng 01 - 26
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
8. NG DNG
ng dng 1:
Vit chng trnh
nhp vo mt phn
s. Rt gn phn
s v xut kt
qu.
8.1
Chng 01 - 27
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
8. NG DNG
ng dng 2:
Vit chng trnh
nhp vo ta 2
im trong mt
phng Oxy. Tnh
khong cch gia
chng v xut kt
qu
8.2
Chng 01 - 28
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
9. BI TP
Chng 01 - 29
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
9. BI TP
Chng 01 - 30
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
9. BI TP
Chng 01 - 31
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
9. BI TP
Chng 01 - 32
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
9. BI TP
Chng 01 - 33
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
9. BI TP
Yu cu chung:
Lm tt c cc bi tp trong
mt workspace c tn l
MSSV_BT01.
Np bi tp ln h thng
Moodle theo qui nh.
Chng 01 - 34
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 2
CC PHNG PHP
LP TRNH
Chng 02 - 1
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. MC TIU
Trong chng ny cc sinh vin
s c mt ci nhn s b v cc
phng php lp trnh khc
nhau:
Chng 02 - 2
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. PHNG PHP
LP TRNH HNG LNH
Chng 02 - 3
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. PHNG PHP
LP TRNH HNG LNH
Hnh v
chng trnh
lnh
Chng 02 - 4
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 02 - 5
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Hnh v
chng trnh
Khi khai bo
void main()
{
}
Th tc
Hm
Lnh
Chng 02 - 6
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. PHNG PHP LP
TRNH HNG N TH
Chng 02 - 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. PHNG PHP LP
TRNH HNG N TH
Chng 02 - 8
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. PHNG PHP LP
TRNH HNG N TH
Phn loi n th
n th hng d liu: l
n th c thit k v xy
dng phc v cho mt
kiu d liu no bn
trong chng trnh.
V d: Th vin string.h
Chng 02 - 9
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. PHNG PHP LP
TRNH HNG N TH
Phn loi n th
V d: Th vin math.h
Chng 02 - 10
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. PHNG PHP LP
TRNH HNG N TH
chng trnh
n
th 1
n
th 2
n
th n
n th
chnh
Khi khai bo
void main()
{
}
Chng 02 - 11
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. PHNG PHP LP
TRNH HNG I TNG
Chng 02 - 12
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. PHNG PHP LP
TRNH HNG I TNG
Khi nim
Chng 02 - 13
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. PHNG PHP LP
TRNH HNG I TNG
Mi mt i tng s c
ci t bn trong chng
trnh di dng n th
cha d liu. Thm vo
tnh cht k tha cho php
chng ta xy dng i tng
mi da trn c s i
tng c.
Chng 02 - 14
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 3
LP TRNH HNG
I TNG VI C++
Chng 03 - 1
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
0. T VN
Chng 03 - 2
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1. LP I TNG (class)
1.
2.
3.
4.
5.
Chng 03 - 3
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. LP I TNG (class)
V d: Hy khai bo lp cho bi ton
c nu ra trong phn t vn .
11. struct
HocSinh
12. {
13.
14.
15.
16.
char hoten[31];
int toan;
Thnh phn
int van;
d liu
float dtb;
17. };
18. typedef
19. void
Nhap(HOCSINH&);
20. void Xuat(HOCSINH);
21. void XuLy(HOCSINH &);
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Thnh phn
x l
Chng
03 - 4
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1. LP I TNG (class)
11. class
CHocSinh
12. {
13.
14.
15.
16.
17.
18.
19.
20.
21.
private:
char hoten[31];
int toan;
int van;
float dtb;
public:
void Nhap();
void Xuat();
void XuLy();
22. };
Chng 03 - 5
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. I TNG (object)
1.
CTenLop <Tent>;
Chng 03 - 6
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. I TNG (object)
V d 1: CHocSinh x;
Trong v d trn ta ni x l mt
i tng thuc v lp i
tng CHocSinh.
V d 2: CHocSinh a,b;
CHocSinh y;
Trong v d trn ta ni a,b,y l
ba i tng thuc v lp i
tng CHocSinh. Ni mt cch
khc: Lp i tng CHocSinh
c ba s th hin khc nhau.
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 03 - 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1.
KDL CTenLop::PhuongThuc
(<Tham S>)
2.
{
// Thn Phng Thc
3.
4.
Chng 03 - 8
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.
void CHocSinh::Nhap()
2.
3.
printf(Nhap ho ten:);
4.
gets(hoten);
5.
printf(Nhap toan:);
6.
scanf(%d, &toan);
7.
printf(Nhap van:);
8.
scanf(%d, &van);
9.
Chng 03 - 9
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.
void CHocSinh::XuLy()
2.
{
dtb=(float)(toan+van)/2;
3.
4.
Chng 03 - 10
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.
void CHocSinh::Xuat()
2.
3.
printf(\nHo ten:%s,
hoten);
4.
printf(\nToan: %d,toan);
5.
printf(\nVan: %d,van);
6.
printf(\nDTB: %f,dtb);
7.
Chng 03 - 11
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. I TNG HNH NG
C php
TenDoiTuong.PhuongThuc(<TS>)
1.
V d 1:
1.
CHocSinh hs;
2.
hs.Nhap();
Chng 03 - 12
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. I TNG HNH NG
V d 1:
1.
CHocSinh hs;
2.
hs.Nhap();
Chng 03 - 13
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. I TNG HNH NG
V d 2:
1.
CHocSinh a,b,c;
2.
a.Nhap();
3.
b.Nhap();
4.
c.Nhap();
v..v..
Chng 03 - 14
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.
2.
3.
4.
CHocSinh a,b,c;
a.Nhap();
b.Nhap();
hoten
c.Nhap();
toan
van
dtb
void Nhap()
void Xuat()
void XuLy()
hoten
toan
van
dtb
c
hoten
toan
van
dtb
Chng 03 - 15
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. I TNG HNH NG
1.
void CHocSinh::Nhap()
2.
3.
printf(Nhap ho ten:);
4.
gets(hoten);
5.
printf(Nhap toan:);
6.
scanf(%d, &toan);
7.
printf(Nhap van:);
8.
scanf(%d, &van);
9.
Chng 03 - 16
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. I TNG HNH NG
1.
void CHocSinh::XuLy()
2.
{
dtb=(float)(toan+van)/2;
3.
4.
Chng 03 - 17
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. I TNG HNH NG
1.
void CHocSinh::Xuat()
2.
3.
printf(\nHo ten:%s,
hoten);
4.
printf(\nToan: %d,toan);
5.
printf(\nVan: %d,van);
6.
printf(\nDTB: %f,dtb);
7.
Chng 03 - 18
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. CHNG TRNH
U TIN
Bi
ton:
chng trnh
h tn, im
im vn ca
hc sinh. Tnh
trung bnh v
kt qu.
Chng trnh
Vit
nhp
ton,
mt
im
xut
Chng 03 - 19
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. CHNG TRNH
U TIN
11. #include
<stdio.h>
12. #include <conio.h>
13. class CHocSinh
14. {
15.
private:
16.
char hoten[31];
17.
int toan;
18.
int van;
19.
float dtb;
20.
public:
21.
void Nhap();
22.
void Xuat();
23.
void XuLy();
24. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 03 - 20
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. CHNG TRNH
U TIN
11. void
main()
12. {
13.
14.
15.
16.
CHocSinh hs;
hs.Nhap();
hs.XuLy();
hs.Xuat();
17. }
18. void
CHocSinh::Xuat()
19. {
20.
21.
22.
23.
printf(\nHo ten:%s,
hoten);
printf(\nToan: %d,toan);
printf(\nVan: %d,van);
printf(\nDTB: %f,dtb);
24. }
Chng 03 - 21
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. CHNG TRNH
U TIN
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
void CHocSinh::Nhap()
{
printf(Nhap ho ten:);
gets(hoten);
printf(Nhap toan:);
scanf(%d, &toan);
printf(Nhap van:);
scanf(%d, &van);
}
void CHocSinh::XuLy()
{
dtb=(float)(toan+van)/2;
}
Chng 03 - 22
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
Chng trnh
Chng 03 - 23
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11. #include
<stdio.h>
12. #include <conio.h>
13. class CPhanSo
14. {
15.
private:
16.
int tu;
17.
int mau;
18.
public:
19.
void Nhap();
20.
void Xuat();
21.
void RutGon();
22. };
Chng 03 - 24
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11. void
main()
12. {
13.
14.
15.
16.
CPhanSo ps;
ps.Nhap();
ps.RutGon();
ps.Xuat();
17. }
18. void
CPhanSo::Nhap()
19. {
20.
21.
22.
23.
printf(Nhap tu: );
scanf(%d,&tu);
printf(Nhap mau: );
scanf(%d,&mau);
24. }
Chng 03 - 25
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11.
12.
void CPhanSo::RutGon()
{
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
}
void CPhanSo::Xuat()
{
printf(%d/%d,tu,mau);
}
Chng 03 - 26
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
Chng trnh
Chng 03 - 27
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11. #include
<stdio.h>
12. #include <conio.h>
13. #include <math.h>
14. class CDiem
15. {
16.
private:
17.
float x;
18.
float y;
19.
public:
20.
void Nhap();
21.
void Xuat();
22.
float KhoangCach(CDiem);
23. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 03 - 28
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11. void
main()
12. {
13.
14.
15.
16.
17.
18.
19.
CDiem A,B;
A.Nhap();
B.Nhap();
float kq = A.KhoangCach(B);
A.Xuat();
B.Xuat();
printf(\n Khoang cach:
%f, kq);
20. }
Chng 03 - 29
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
void CDiem::Nhap()
{
float temp;
printf(Nhap x:);
scanf(%f,&temp);
x = temp;
printf(Nhap y:);
scanf(%f,&temp);
y = temp;
}
void CDiem::Xuat()
{
printf((%f,%f),x,y);
}
Chng 03 - 30
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11.
12.
13.
14.
15.
float CDiem::KhoangCach(CDiem P)
{
return sqrt((x-P.x)*(x-P.x)
+(y-P.y)*(y-P.y));
}
Chng 03 - 31
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11. void
main()
12. {
13.
14.
15.
16.
17.
18.
19.
CDiem A,B;
A.Nhap();
B.Nhap();
float kq = A.KhoangCach(B);
A.Xuat();
B.Xuat();
printf(\n Khoang cach:
%f, kq);
20. }
Chng 03 - 32
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11. #include
<stdio.h>
12. #include <conio.h>
13. #include <math.h>
14. class CDiem
15. {
16.
private:
17.
float x;
18.
float y;
19.
public:
20.
void Nhap();
21.
void Xuat();
22.
float KhoangCach(CDiem);
23. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 03 - 33
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11.
12.
13.
14.
15.
float CDiem::KhoangCach(CDiem P)
{
return sqrt((x-P.x)*(x-P.x)
+(y-P.y)*(y-P.y));
}
Chng 03 - 34
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11.
12.
13.
14.
15.
float CDiem::KhoangCach(CDiem P)
{
return sqrt((x-P.x)*(x-P.x)
+(y-P.y)*(y-P.y));
}
Chng 03 - 35
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11.
12.
13.
14.
15.
float CDiem::KhoangCach(CDiem P)
{
return sqrt((x-P.x)*(x-P.x)
+(y-P.y)*(y-P.y));
}
Chng 03 - 36
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
11.
12.
13.
14.
15.
float CDiem::KhoangCach(CDiem P)
{
return sqrt((x-P.x)*(x-P.x)
+(y-P.y)*(y-P.y));
}
float kq = A.KhoangCach(B);
float kq = B.KhoangCach(A);
Chng 03 - 37
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
7. BI TP V NH
Lm tt c cc bi
tp ca chng 01
bng phng php
lp trnh hng i
tng (9 bi).
Chng 03 - 38
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 4
S LC TH VIN
IOSTREAM.H
Chng 04 - 1
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1. V D DN NHP 1
Phong cch c
1. int a;
2. printf(Nhap mot so nguyen:);
3. scanf(%d,&a);
4. printf(So nguyen vua nhap:%d,a);
Chng 04 - 2
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP 2
Cu trc d liu
1.
struct phanso
{
int tu;
int mau;
};
typedef struct phanso
PHANSO;
2.
3.
4.
5.
6.
nh ngha hm
Chng 04 - 3
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. V D DN NHP 2 (tip)
nh ngha hm
11. void
Nhap(PHANSO &x)
12. {
13.
cout<<Nhap tu:;
14.
cin>>x.tu;
15.
cout<<Nhap mau:;
16.
cin>>x.mau;
17. }
18. void
Xuat(PHANSO x)
19. {
20.
cout<<x.tu<</<<x.mau;
21. }
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 4
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. T VN
CPhanSo a;
2.
a.Nhap();
3.
a.Xuat();
CPhanSo a;
2.
cin>>a;
3.
cout<<a;
Lm sao?
Lu
Chng 04 - 5
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. GII QUYT VN
Ton t vo (operator>>)
Mt hm bn ca lp i tng
c php truy xut n tt c cc
thnh phn ca i tng thuc v
lp bt chp thnh phn c khai
bo trong phm vi no.
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 6
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 7
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 8
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 9
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 10
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 11
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 12
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 13
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 14
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 15
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 16
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 17
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
nh ngha ton t vo
1.
2.
3.
4.
is >> x.tu;
5.
6.
is >> x.mau;
7.
return is;
8.
TiHong
sao Quc
phi tr v mt i
GV. Nguyn Sn
Chng 04 - 18
tng
thucKhang
lp istream?
ThS. Nguyn Tn
Trn Minh
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 19
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1.
2.
3.
os<< x.tu<</<<x.mau;
4.
return os;
5.
Ti sao phi tr v mt i
tng thuc lp ostream?
Chng 04 - 20
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
11.
class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
17.
18.
19.
20.
public:
friend istream& operator >>
(istream &is,CPhanSo &x);
friend ostream& operator <<
21. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 21
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. HNG DN S DNG 1
CPhanSo a;
2.
cin >> a;
3.
cout <<a ;
Trong cu lnh th ba ca on
chng trnh trn ta ni: hm
operator << c gi thc hin vi 2
i s l cout v i tng a.
Chng 04 - 22
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. HNG DN S DNG 2
CPhanSo a,b,c;
2.
3.
Trong cu lnh th ba ca on
chng trnh trn ta ni: hm
operator << c gi thc hin 3 ln.
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 23
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. NG DNG
cu: Hy nh
ngha ton t vo v
ton t ra cho lp
i tng CNgay.
Yu
Chng 04 - 24
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
7. NG DNG (tip)
Khai bo lp
11. class CNgay
12.{
13.
private:
14.
int ng;
15.
int th;
16.
int nm;
17.
public:
18.
friend istream& operator >>
19.
(istream &is,CNgay &x);
20.
friend ostream& operator <<
21.
(ostream &os,CNgay &x);
22.};
Chng 04 - 25
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
7. NG DNG (tip)
nh ngha ton t vo
11. istream&
operator >>
(istream &is,CNgay &x)
12. {
13.
14.
is >> x.ng;
15.
16.
is >> x.th;
17.
18.
is >> x.nm;
19.
return is;
20. }
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 04 - 26
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. NG DNG (tip)
nh ngha ton t ra
1.
2.
3.
os<<x.ng<</<<
4.
x.th<</<<
5.
x.nm;
return os;
6.
7.
Chng 04 - 27
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
8. BI TP V NH
Lp phn s (CPhanSo)
Lp im (CDiem)
Lp ngy (CNgay)
Lp thi gian (CThoiGian)
Lp n thc (CDonThuc)
Lp im khng gian (CDiemKhongGian)
Lp ng thng (CDuongThang)
Lp hn s (CHonSo)
Lp s phc (CSoPhuc)
Lp ng trn (CDuongTron)
Lp lp tam gic (CTamGiac)
Lp hnh cu (CHinhCau)
Chng 04 - 28
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 5
PHNG THC THIT LP,
PHNG THC PH HY
Chng 05 - 1
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
0. MC TIU
Chng 05 - 2
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Mc tiu: cc phng
thc thit lp ca mt
lp c nhim v thit lp
thng tin ban u cho
cc i tng thuc v
lp ngay khi i tng
c khai bo.
Chng 05 - 3
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1.1 CC C IM CA
PHNG THC THIT LP
Khng c gi tr tr v.
Chng 05 - 4
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 05 - 5
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 05 - 6
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1.3 V D MINH HA
PHNG THC THIT LP
Khai bo lp
11. class
CPhanSo
12. {
13.
14.
15.
16.
17.
18.
19.
private:
int tu;
int mau;
public:
CPhanSo();
CPhanSo(int, int);
CPhanSo(const CPhanSo&);
20. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 05 - 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1.3 V D MINH HA
PHNG THC THIT LP
1.
CPhanSo::CPhanSo()
2.
3.
tu = 0;
4.
mau = 1;
5.
Chng 05 - 8
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1.3 V D MINH HA
PHNG THC THIT LP
1.
CPhanSo::CPhanSo(const CPhanSo&x)
2.
3.
tu = x.tu;
4.
mau = x.mau;
5.
Chng 05 - 9
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1.3 V D MINH HA
PHNG THC THIT LP
1.
CPhanSo::CPhanSo(int t,
int m)
2.
3.
tu = t;
4.
mau = m;
5.
Chng 05 - 10
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
CPhanSo a;
2.
a.Nhap();
3.
a.Xuat();
Tr li:
Phng thc.
Chng 05 - 11
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
a.Nhap();
3.
b.Xuat();
4.
CPhanSo c(a);
5.
c.Xuat();
Tr li:
Phng thc.
Phng thc.
Phng thc.
Phng thc.
Phng thc.
Phng thc.
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 05 - 12
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 05 - 13
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.7 NG DNG
Khai bo lp.
11. class CNgay
12. {
13.
private:
14.
int ng;
15.
int th;
16.
int nm;
17.
public:
18.
CNgay();
19.
CNgay(const CNgay &);
20.
CNgay(int,int,int);
21. };
Chng 05 - 14
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.7 NG DNG
nh ngha phng thc thit lp mc
nh.
11. CNgay::CNgay()
12. {
13.
ng = 1;
14.
th = 1;
15.
nm = 1;
16. }
Chng 05 - 15
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.7 NG DNG
nh ngha phng thc thit lp khi
bit y thng tin.
11. CNgay::CNgay(int ngng,
int thth,
int nmnm)
12. {
13.
ng = ngng;
14.
th = thth;
15.
nm = nmnm;
16. }
Chng 05 - 16
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.7 NG DNG
nh ngha phng thc thit lp sao
chp.
11. CNgay::CNgay(const CNgay &x)
12. {
13.
ng = x.ng;
14.
th = x.th;
15.
nm = x.nm;
16. }
Chng 05 - 17
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. PHNG THC PH HY
DESTRUCTOR
Chng 05 - 18
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2.1 CC C IM CA
PHNG THC PH HY
Khng c gi tr tr v.
Chng 05 - 19
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2.2 V D MINH HA
PHNG THC PH HY
Khai bo lp
1.
class CPhanSo
2.
3.
private:
4.
int tu;
5.
int mau;
6.
public:
7.
// Phng thc x l
8.
~CPhanSo();
9. };
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 05 - 20
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2.2 V D MINH HA
PHNG THC PH HY
1.
CPhanSo::~CPhanSo()
2.
{
return;
3.
4.
Chng 05 - 21
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 05 - 22
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. BI TP V NH
Hy khai bo v nh ngha cc
phng thc thit lp c bn v
phng thc ph hy cho cc lp i
tng sau:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Lp phn s (CPhanSo)
Lp im (CDiem)
Lp ngy (CNgay)
Lp thi gian (CThoiGian)
Lp n thc (CDonThuc)
Lp im khng gian
(CDiemKhongGian)
Lp ng thng (CDuongThang)
Lp hn s (CHonSo)
Lp s phc (CSoPhuc)
Lp ng trn (CDuongTron)
Lp lp tam gic (CTamGiac)
Lp hnh cu (CHinhCau)
Chng 05 - 23
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 6
TON T GN (operator=)
Chng 06 - 1
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
0. MC TIU
Chng 06 - 2
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. KHI NIM
Chng 06 - 3
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. T VN
Hy khai bo v nh ngha cc
phng thc cn thit cc
cu lnh sau c th thc hin
on chng trnh
CHocSinh a,b;
a.Nhap();
b=a;
b.Xuat();
Chng 06 - 4
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. GII QUYT VN
on chng trnh
CHocSinh a,b;
a.Nhap();
b=a;
b.Xuat();
Chng 06 - 5
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. GII QUYT VN
class CHocSinh
{
private:
char hoten[31];
int toan;
int van;
float dtb;
public:
CHocSinh operator=
(CHocSinh &);
};
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 06 - 6
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. GII QUYT VN
class CHocSinh
{
private:
char hoten[31];
int toan;
int van;
float dtb;
public:
CHocSinh operator=
(CHocSinh &);
};
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 06 - 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. GII QUYT VN
class CHocSinh
{
private:
char hoten[31];
int toan;
int van;
float dtb;
public:
CHocSinh operator=
(CHocSinh &);
};
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 06 - 8
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. GII QUYT VN
class CHocSinh
{
private:
char hoten[31];
int toan;
int van;
float dtb;
public:
CHocSinh operator=
(CHocSinh &);
};
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 06 - 9
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. GII QUYT VN
nh ngha phng thc ton t gn
CHocSinh CHocSinh::operator=
(CHocSinh&x)
{
strcpy(hoten,x.hoten);
toan = x.toan;
van = x.van;
dtb = x.dtb;
return *this;
}
Chng 06 - 10
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. CC GHI CH
QUAN TRNG
Ton t gn c ci t bn
trong lp CHocSinh nh l mt
phng thc ca lp.
Min gi tr ca mt con tr i
tng l a ch nh.
Chng 06 - 11
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. CC GHI CH
QUAN TRNG
Bn trong thn ca mt phng
thc, this l mt con tr i
tng thuc v lp m phng
thc thuc v.
+ V d 01: Bn trong thn
phng thc nhap ca lp
CPhanSo, this l con tr i
tng thuc v lp CPhanSo.
+ V d 02: Bn trong thn
phng thc xut ca lp
CDiem, this l con tr i
tng thuc v lp CDiem.
+ V d 03: Bn trong thn
phng thc operator = ca
lp CHocSinh, this l con tr
i tng thuc v lp
CHocSinh.
GV. Nguy
n Sn Hong Quc
Chng 06 - 12
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. CC GHI CH
QUAN TRNG
Chng 06 - 13
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. HNG DN S DNG
CHocSinh CHocSinh::operator=
(CHocSinh&x)
{
strcpy(hoten,x.hoten);
toan = x.toan;
van = x.van;
dtb = x.dtb;
return *this;
}
Hng dn s dng 01:
1. CHocSinh a,b;
2. a.nhap();
3. b = a;
Trong cu lnh th 3 ca on
chng trnh trn ta ni: i tng b
gi thc hin phng thc ton t
gn vi tham s l i tng a.
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 06 - 14
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. HNG DN S DNG
nh ngha phng thc ton t gn
CHocSinh CHocSinh::operator=
(CHocSinh&x)
{
strcpy(hoten,x.hoten);
toan = x.toan;
van = x.van;
dtb = x.dtb;
return *this;
}
Chng 06 - 15
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. HNG DN S DNG
CHocSinh CHocSinh::operator=
(CHocSinh&x)
{
strcpy(hoten,x.hoten);
toan = x.toan;
van = x.van;
dtb = x.dtb;
return *this;
}
Hng dn s dng 02:
1. CHocSinh a,b,c,d,e;
2. e.Nhap();
3. a = b = c = d = e;
Trong cu lnh th 3 ca on
chng trnh trn ta ni: ni khng
ni.
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 06 - 16
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. HNG DN S DNG
nh ngha phng thc ton t gn
CHocSinh CHocSinh::operator=
(CHocSinh&x)
{
strcpy(hoten,x.hoten);
toan = x.toan;
van = x.van;
dtb = x.dtb;
return *this;
}
Chng 06 - 17
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
Hy khai bo v nh ngha phng thc
ton t gn cho lp i tng CHonSo
Khai bo lp
class CHonSo
{
private:
int nguyen;
int tu;
int mau;
public:
CHonSo operator=(CHonSo &);
};
Chng 06 - 18
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
6. NG DNG
nh ngha phng thc ton t gn
CHonSo CHonSo::operator =
(CHonSo &x)
{
nguyen = x.nguyen;
tu = x.tu;
mau = x.mau;
return *this;
}
Chng 06 - 19
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
7. BI TP V NH
Hy khai bo v nh ngha
phng thc ton t gn cho
cc lp i tng sau:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Lp phn s (CPhanSo)
Lp im (CDiem)
Lp ngy (CNgay)
Lp thi gian (CThoiGian)
Lp n thc (CDonThuc)
Lp
im
khng
gian
(CDiemKhongGian)
Lp ng thng (CDuongThang)
Lp hn s (CHonSo)
Lp s phc (CSoPhuc)
Lp ng trn (CDuongTron)
Lp lp tam gic (CTamGiac)
Lp hnh cu (CHinhCau)
Chng 06 - 20
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
8. BI TP NP MOODLE
Bi 1: Vit chng trnh thc hin
c hm main nh sau i vi i
tng CPhanSo.
1. void main()
2. {
3.
CPhanSo a, b;
4.
a.Nhap();
5.
b = a;
6.
a.Xuat();
7.
b.Xuat();
8. }
Bi 2 n Bi 12: Vit tng t cho
cc lp i tng cn li.
Chng 06 - 21
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
8. BI TP NP MOODLE
Yu cu chung:
+
Lm tt c cc bi tp trong
mt workspace c tn l
MSSV_BT06.
Trong workspace c 12
project tng ng vi tng bi
tp (BT01, BT02, BT03,
BT12)
Np bi tp ln h thng
Moodle theo qui nh.
Chng 06 - 22
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 7
TON T S HC
Chng 07 - 1
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
0. MC TIU
Hiu c cc ton t s hc l
g?
Chng 07 - 2
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1. BI TON DN NHP
Bi ton: Vit chng trnh nhp
vo hai phn s. Tnh tng gia
chng v xut kt qu bng
phng php lp trnh hng i
tng.
Chng trnh
#include <stdio.h>
#include <conio.h>
class CPhanSo
{
private:
int tu;
int mau;
public:
void Nhap();
void Xuat();
CPhanSo Tong(CPhanSo);
};
Chng 07 - 3
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. BI TON DN NHP
void main()
{
CPhanSo a,b,kq;
a.Nhap();
b.Nhap();
kq = a.Tong(b);
printf(Tong la:);
kq.Xuat();
}
Chng 07 - 4
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. BI TON DN NHP
void CPhanSo::Nhap()
{
printf(Nhap tu:);
scanf(%d,&tu);
printf(Nhap mau:);
scanf(%d,&mau);
}
void CPhanSo::Xuat()
{
printf(%d/%d,tu,mau);
}
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 07 - 5
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. BI TON DN NHP
CPhanSo CPhanSo::Tong(CPhanSo x)
{
CPhanSo temp;
temp.tu= tu*x.mau + mau*x.tu;
temp.mau= mau*x.mau;
return temp;
}
kq = a.Tong(b);
x
a
c
b
d
temp
ad bc
bd
Chng 07 - 6
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. KHI NIM
Chng 07 - 7
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. T VN
Hy khai bo v nh ngha cc
phng thc v ton t cn thit
cc cu lnh sau c th thc hin.
Cc cu lnh
11.CPhanSo
a,b,kq;
12.cin>>a>>b;
13.kq = a + b;
14.cout<<Tong:<<kq;
15.kq = a b;
16.cout<<Hieu:<<kq;
17.kq = a * b;
18.cout<<Tich:<<kq;
19.kq = a / b;
20.cout<<Thuong:<<kq;
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 07 - 8
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. GII QUYT VN
Khai bo lp
class CPhanSo
{
private:
int tu;
int mau;
public:
CPhanSo Tong(CPhanSo);
CPhanSo
CPhanSo
CPhanSo
CPhanSo
};
operator+(CPhanSo);
operator-(CPhanSo);
operator*(CPhanSo);
operator/(CPhanSo);
Chng 07 - 9
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. GII QUYT VN
CPhanSo CPhanSo::operator+
(CPhanSo x)
{
CPhanSo temp;
temp.tu = tu*x.mau+mau*x.tu;
temp.mau = mau*x.mau;
return temp;
}
CPhanSo CPhanSo::operator(CPhanSo x)
{
CPhanSo temp;
temp.tu = tu*x.mau-mau*x.tu;
temp.mau = mau*x.mau;
return temp;
}
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 07 - 10
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. GII QUYT VN
CPhanSo CPhanSo::operator*
(CPhanSo x)
{
CPhanSo temp;
temp.tu = tu*x.tu;
temp.mau = mau*x.mau;
return temp;
}
CPhanSo CPhanSo::operator/
(CPhanSo x)
{
CPhanSo temp;
temp.tu = tu*x.mau;
temp.mau = mau*x.tu;
return temp;
}GV. Nguyn Sn Hong Quc
Chng 07 - 11
ThS. Nguyn Tn Trn Minh Khang
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. BI TP V NH
Chng 07 - 12
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 8
TON T SO SNH
Chng 08 - 1
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
0. MC TIU
Chng 08 - 2
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. KHI NIM
Chng 08 - 3
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. CC TON T
SO SNH C BN
Chng 08 - 4
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. T VN
on chng trnh
1.
CHocSinh a,b;
2.
cin>>a>>b;
3.
if (a>b)
4.
5.
6.
else
cout<<DTB a ko lon hon b;
Chng 08 - 5
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. GII QUYT VN
on chng trnh
1.
CHocSinh a,b;
2.
cin>>a>>b;
3.
if (a>b)
4.
5.
6.
else
cout<<DTB a ko lon hon b;
Chng 08 - 6
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. GII QUYT VN
Khai bo lp
11. class CHocSinh
12. {
13.
private:
14.
char hoten[31];
15.
int toan;
16.
int van;
17.
float dtb;
18.
public:
19.
int operator>(CHocSinh);
20.
int operator<(CHocSinh);
21.
int operator>=(CHocSinh);
22.
int operator =(CHocSinh);
23.
int operator==(CHocSinh);
24.
int operator!=(CHocSinh);
25. };
Chng 08 - 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. GII QUYT VN
nh ngha cc phng thc
11. int CHocSinh::operator >
(CHocSinh x)
12. {
13.
if(dtb>x.dtb)
14.
return 1;
15.
return 0;
16. }
17. int CHocSinh::operator <
(CHocSinh x)
18. {
19.
if(dtb<x.dtb)
20.
return 1;
21.
return 0;
22. }
Chng 08 - 8
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. GII QUYT VN
nh ngha cc phng thc
11. int CHocSinh::operator >=
(CHocSinh x)
12. {
13.
if(dtb>=x.dtb)
14.
return 1;
15.
return 0;
16. }
17. int CHocSinh::operator <=
(CHocSinh x)
18. {
19.
if(dtb<=x.dtb)
20.
return 1;
21.
return 0;
22. }
Chng 08 - 9
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. GII QUYT VN
nh ngha cc phng thc
11. int CHocSinh::operator ==
(CHocSinh x)
12. {
13.
if(dtb==x.dtb)
14.
return 1;
15.
return 0;
16. }
17. int CHocSinh::operator !=
(CHocSinh x)
18. {
19.
if(dtb!=x.dtb)
20.
return 1;
21.
return 0;
22. }
Chng 08 - 10
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. NG DNG
Bi ton: Hy nh ngha cc ton t so
snh cho lp i tng CPhanSo
11. class CPhanSo
12. {
13.
private:
14.
int tu;
15.
int mau;
16.
public:
17.
CPhanSo operator-(CPhanSo);
18.
int operator > (CPhanSo);
19.
int operator < (CPhanSo);
20.
int operator >= (CPhanSo);
21.
int operator <= (CPhanSo);
22.
int operator == (CPhanSo);
23.
int operator != (CPhanSo);
24. };
Chng 08 - 11
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. NG DNG
1.
CPhanSo CPhanSo::operator(CPhanSo x)
2.
3.
CPhanSo temp;
4.
temp.tu=tu*x.mau-mau*x.tu;
5.
temp.mau=mau*x.mau;
6.
return temp;
7.
Chng 08 - 12
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. NG DNG
nh ngha cc ton t so snh
1.
int CPhanSo::operator>
(CPhanSo x)
2.
3.
4.
if(temp.tu*temp.mau>0)
return 1;
5.
else
6.
return 0;
7.
8.
Chng 08 - 13
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. NG DNG
nh ngha cc ton t so snh
1.
int CPhanSo::operator<
(CPhanSo x)
2.
3.
4.
if(temp.tu*temp.mau<0)
return 1;
5.
else
6.
return 0;
7.
8.
Chng 08 - 14
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. NG DNG
nh ngha cc ton t so snh
1.
int CPhanSo::operator<=
(CPhanSo x)
2.
3.
4.
if(temp.tu*temp.mau<=0)
return 1;
5.
else
6.
return 0;
7.
8.
Chng 08 - 15
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. NG DNG
nh ngha cc ton t so snh
1.
int CPhanSo::operator>=
(CPhanSo x)
2.
3.
4.
if(temp.tu*temp.mau>=0)
return 1;
5.
else
6.
return 0;
7.
8.
Chng 08 - 16
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. NG DNG
nh ngha cc ton t so snh
1.
int CPhanSo::operator==
(CPhanSo x)
2.
3.
4.
if(temp.tu*temp.mau==0)
return 1;
5.
else
6.
return 0;
7.
8.
Chng 08 - 17
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. NG DNG
nh ngha cc ton t so snh
1.
int CPhanSo::operator!=
(CPhanSo x)
2.
3.
4.
if(temp.tu*temp.mau!=0)
return 1;
5.
else
6.
return 0;
7.
8.
Chng 08 - 18
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
6. BI TP
Bi 01: Hy nh ngha tt c cc
phng thc ton t so snh
cho lp i tng CPhanSo.
Bi 02: Hy nh ngha tt c cc
phng thc ton t so snh
cho lp i tng CHonSo.
Bi 03: Hy nh ngha tt c cc
phng thc ton t so snh
cho lp i tng CDiem trong
mt phng Oxy. Bit rng tiu
chun so snh 2 im l so
snh theo khong cch ti gc
to . im no xa gc hn
th ln hn.
Chng 08 - 19
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
6. BI TP
4.
5.
6.
7.
8.
9.
Lp im (CDiem)
Lp ngy (CNgay)
Lp thi gian (CThoiGian)
Lp n thc (CDonThuc)
Lp im khng gian
(CDiemKhongGian)
Lp ng thng (CDuongThang)
Lp s phc (CSoPhuc)
Lp ng trn (CDuongTron)
Lp lp tam gic (CTamGiac)
Lp hnh cu (CHinhCau)
10.
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 08 - 20
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 9
K THA
Chng 09 - 1
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
0. MC TIU
Chng 09 - 2
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1.QUAN H
Ngi ta chia cc quan h thnh
nhng loi nh sau:
Quan h mt mt (1-1)
Chng 09 - 3
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
Quan H
Chng 09 - 4
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d minh ha
LOPHOC
VO
Ch nhim
Hn nhn
GIAOVIEN
CHONG
Chng 09 - 5
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
Quan H
Chng 09 - 6
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d minh ha:
LOPHOC
CHA
HOASI
Huyt thng
Sng tc
HOCSINH
CON
TACPHAM
Chng 09 - 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
V d minh ha:
Chng 09 - 8
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
Quan H
Chng 09 - 9
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d minh ha:
NAM
BACSI
yu
Khm bnh
BENHNHAN
Chng 09 - 10
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
V d minh ha:
Chng 09 - 11
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
A
B
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 09 - 12
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
A
B
Chng 09 - 13
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d 1:
TAMGIAC
TAMGIACCAN
Chng 09 - 14
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d 2:
DONGVAT
NGUOI
HEO
Chng 09 - 15
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. CY K THA
V d: Hy v cy k tha cho cc lp
i tng sau:
Lp XELAM
Lp XEDAP
Lp XEGANMAY Lp XE
Lp XEHOI
Lp XEHAIBANH Lp XEBONBANH
Lp XETAINHE
Lp XEBABANH
Lp XEXICHLO
Chng 09 - 16
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. CY K THA (tip)
Chng 09 - 17
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. S LP
Khi nim: S lp l s th
hin tt c cc mi quan h gia cc
lp trong h thng, chng trnh.
Lp GIAOVIEN
Lp HOCSINH
Lp LOPHOC
Lp MONHOC
Chng 09 - 18
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. S LP
Chng 09 - 19
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Th gii thc
T kho dn xut
Chng 09 - 20
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
A
B
Chng 09 - 21
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
8.
class A
{
...
};
class B:<t kha dn xut> A
{
...
};
B
Trong khai bo trn ta ni lp B
k tha t lp A.
Lp i tng A c gi l lp
c s.
Lp i tng B c gi l lp
dn xut t lp i tng A.
Chng 09 - 22
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 09 - 23
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 09 - 24
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 09 - 25
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
main()
32. {
33.
A x;
34.
x.a = 10;
35.
x.f();
36.
x.b = 20;
37.
x.g();
38.
x.c = 30;
39.
x.h();
40. }
Chng 09 - 26
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
8.
class A
{
...
};
class B:<t kha dn xut> A
{
...
};
B
Trong khai bo trn ta ni lp B
k tha t lp A.
Lp i tng A c gi l lp
c s.
Lp i tng B c gi l lp
dn xut t lp i tng A.
Chng 09 - 27
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 09 - 28
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.
class CTamGiac
2.
{
...
3.
4.
};
5.
class CTamGiacCan:public
CTamGiac
6.
{
...
7.
8.
TAMGIAC
};
TAMGIACCAN
Chng 09 - 29
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 09 - 30
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Private
Public
Phm vi lp
c s
Private
Protected
Public
Chng 09 - 31
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Private
Public
Phm vi lp
c s
Private
Protected
Public
Chng 09 - 32
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Private
Public
Phm vi lp
c s
Private
Chng 09 - 33
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Private
Public
Phm vi lp
c s
Private
Protected
Chng 09 - 34
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Private
Public
Phm vi lp
c s
Private
Protected
Public
Chng 09 - 35
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Phm vi lp
c s
Private
Protected
Public
Chng 09 - 36
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Private
Phm vi lp
c s
Private
Protected
Public
Chng 09 - 37
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Private
Public
Phm vi lp
c s
Private
Protected
Public
Chng 09 - 38
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Phm vi lp
c s
Private
Private
Public
||
||
Protected
Public
Chng 09 - 39
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Phm vi lp
c s
Private
Protected
Private
Public
||
||
private
Public
Chng 09 - 40
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Phm vi lp
c s
Private
Protected
Private
Public
||
||
private
protected
Public
Chng 09 - 41
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Private
Public
||
||
Protected
private
protected
Public
private
Phm vi lp
c s
Private
Chng 09 - 42
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
T kha
dn xut
Private
Public
||
||
Protected
private
protected
Public
private
public
Phm vi lp
c s
Private
Chng 09 - 43
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
Chng 09 - 45
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
Private
(1)
(2)
Protected
(3)
(4)
Public
(5)
(6)
Phm vi lp
c s
Chng 09 - 46
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
(1)
(2)
(3)
(4)
(5)
(6)
Chng 09 - 47
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
Chng 09 - 48
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
Chng 09 - 49
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 09 - 50
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
a
f()
g()
A
public
B
GV. Nguyn Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
c
h()
t
aa()
b
g()
z
xy()
c
h()
Chng 09 - 51
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
x
ab()
y
g()
x
public
t
h()
B
public
x
uv()
k
mn()
p
ab()
ab()
g()
q
xyz()
z
p
ab()
g() abc(int)
k
mn()
Chng 09 - 52
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
11. class A
12.{
13.
...
14.};
15.class B:public
16.{
17.
...
18.};
19.void main()
20.{
21.
A a;
22.
B b;
23.
a = b;
24.
b = a;
25.}
Chng 09 - 53
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
V d dn
nhp 02: Hy
cho bit on
chng trnh
di y cu
lnh
no
ng,
cu
lnh no sai:
1.
2.
3.
4.
class A
{
...
};
5. class B:
6. {
7.
...
8. };
9. void main()
10.{
11.
A *a;
12.
B *b;
13.
A x;
14.
B y;
15.
a = &x;
16.
17.
18.
19.}
b = &y;
a = &y;
b = &x;
public A
Chng 09 - 54
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
Chng 09 - 55
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
Chng 09 - 56
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
11. class A
12.{
13.
...
14.};
15.class B:public
16.{
17.
...
18.};
19.void main()
20.{
21.
A a;
22.
B b;
23.
a = b;
24.
b = a;
25.}
Chng 09 - 57
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
Chng 09 - 58
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
Hy cho bit on chng trnh di
y cu lnh no ng, cu lnh no
sai:
11. class A
12.{
13.};
14.class B:public A
15.{
16.};
17.void main()
18.{
19.
A *a;
20.
B *b;
21.
A x;
22.
B y;
23.
a = &x;
24.
b = &y;
25.
a = &y;
26.
b = &x;
27.}
Chng 09 - 59
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 10
MNG MT CHIU
CN BN
Chng 10- 1
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1. V D DN NHP 1
Chng trnh
Chng 10- 2
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. V D DN NHP 1
11. #include
12. class
<iostream.h>
CMangNguyen
13. {
14.
private:
15.
int a[100];
16.
int n;
17.
public:
18.
void Nhap();
19.
void Xuat();
20.
int Tong();
21. };
Chng 10- 3
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1. V D DN NHP 1
11. void
main()
12. {
13.
CMangNguyen x;
14.
x.Nhap();
15.
x.Xuat();
16.
int kq = x.Tong();
17.
18. }
Chng 10- 4
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. V D DN NHP 1
11. void
CMangNguyen::Nhap()
12. {
13.
cout<<"Nhap n : ";
14.
cin>>n;
15.
16.
17.
cout<<a[<< i <<]:;
18.
19.
20. }
Chng 10- 5
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1. V D DN NHP 1
11. void
CMangNguyen::Xuat()
12. {
13.
14.
15. }
Chng 10- 6
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. V D DN NHP 1
11. int
CMangNguyen::Tong()
12. {
13.
int s = 0;
14.
15.
s = s + a[i];
16.
return s;
17. }
Chng 10- 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP 2
Chng trnh
Chng 10- 8
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. V D DN NHP 2
11. #include
12. class
<iostream.h>
CMangThuc
13. {
14.
private:
15.
float a[100];
16.
int n;
17.
public:
18.
void Nhap();
19.
void Xuat();
20.
float LonNhat();
21. };
Chng 10- 9
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP 2
11. void
main()
12. {
13.
CMangThuc x;
14.
x.Nhap();
15.
x.Xuat();
16.
float kq = x.LonNhat();
17.
18. }
Chng 10- 10
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP 2
11. void
CMangThuc::Nhap()
12. {
13.
14.
cin >> n;
15.
16.
17.
cout <<a[<<i<<]:;
18.
19.
20. }
Chng 10- 11
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP 2
11. void
CMangThuc::Xuat()
12. {
13.
14.
15. }
Chng 10- 12
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. V D DN NHP 2
11. float
CMangThuc::LonNhat()
12. {
13.
float lc = a[0];
14.
15.
16.
17.
18. }
Chng 10- 13
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. V D DN NHP 3
Chng trnh
Chng 10- 14
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. #include
12. class
<iostream.h>
CPhanSo
13. {
14.
private:
15.
int tu;
16.
int mau;
17.
public:
18.
void Nhap();
19.
void Xuat();
20.
int KtDuong();
21. };
Chng 10- 15
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. class
CMangPhanSo
12. {
13.
private:
14.
CPhanSo a[100];
15.
int n;
16.
public:
17.
void Nhap();
18.
void Xuat();
19.
int DemDuong();
20. };
Chng 10- 16
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. V D DN NHP 3
11. void
main()
12. {
13.
CMangPhanSo x;
14.
x.Nhap();
15.
x.Xuat();
16.
int kq = x.DemDuong();
17.
18. }
Chng 10- 17
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. void
CPhanSo::Nhap()
12. {
13.
cout<<"Nhap tu :";
14.
cin>>tu;
15.
16.
cin>>mau;
17. }
Chng 10- 18
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. void
CPhanSo::Xuat()
12. {
13.
14. }
Chng 10- 19
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. V D DN NHP 3
11. int
CPhanSo::KtDuong()
12. {
13.
if (tu*mau > 0)
14.
return 1;
15.
return 0;
16. }
Chng 10- 20
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. V D DN NHP 3
11. void
CMangPhanSo::Nhap()
12. {
13.
14.
cin >> n;
15.
16.
17.
cout<<Nhap a[<<i<<]:;
18.
a[i].Nhap();
19.
20. }
Chng 10- 21
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. void
CMangPhanSo::Xuat()
12. {
13.
14.
15.
a[i].Xuat();
16.
17.
18. }
Chng 10- 22
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. int
CMangPhanSo::DemDuong()
12. {
13.
int dem = 0;
14.
15.
if (a[i].KtDuong()==1)
16.
dem = dem + 1;
17.
return dem;
18. }
Chng 10- 23
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. XY DNG
LP MNG S NGUYN
Hy xy dng lp s nguyn vi cc
phng thc nh sau:
+
Chng 10- 24
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. XY DNG
LP MNG S NGUYN
Hy xy dng lp s nguyn vi cc
phng thc nh sau:
+
Phng thc sp xp cc gi tr l
trong mng tng dn
Chng 10- 25
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. XY DNG
LP MNG S NGUYN
11. class
CMangNguyen
12. {
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
private:
int a[100];
int n;
public:
void Nhap();
void Xuat();
void LietKeChan();
int TinhTong();
int LonNhat();
int TongCucDai();
int DemLe();
int TanSuat(int);
int KTTonTaiKhong();
int KTToanChan();
int KTTangDan();
Chng 10- 26
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. XY DNG
LP MNG S NGUYN
11. class
CMangNguyen
12. {
13.
14.
15.
16.
17.
18.
19.
private:
int a[100];
int n;
public:
void SapTang();
void SapGiam();
void SapLeTang();
20. };
Chng 10- 27
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. void
CMangNguyen::Nhap()
12. {
13.
cout<<"Nhap n : ";
14.
cin>>n;
15.
16.
17.
cout<<"a["<<i<< "]:";
18.
19.
20. }
Chng 10- 28
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. void
CMangNguyen::Xuat()
12. {
13.
14.
";
15. }
Chng 10- 29
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. void
CMangNguyen::LietKeChan()
12. {
13.
14.
15.
16. }
Chng 10- 30
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. int
CMangNguyen::TinhTong()
12. {
13.
int s = 0;
14.
15.
s = s + a[i];
16.
return S;
17. }
Chng 10- 31
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. int
CMangNguyen::LonNhat()
12. {
13.
int lc = a[0];
14.
15.
16.
lc = a[i];
17.
return lc;
18. }
Chng 10- 32
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. XY DNG
LP MNG S NGUYN
11. int
CMangNguyen::TongCucDai()
12. {
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
if(n<=1)
return 0;
int s = 0;
if(a[0]>a[1])
s = s + a[0];
for(int i=1;i<=n-2;i++)
if(a[i]>a[i-1]&&
a[i]>a[i+1])
s = s + a[i];
if(a[n-1]>a[n-2])
s = s + a[n-1];
return s;
25. }
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 10- 33
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. int
CMangNguyen::DemLe()
12. {
13.
int dem = 0;
14.
15.
16.
17.
if (a[i]%2!=0)
dem = dem + 1;
return dem;
18. }
Chng 10- 34
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. int
CMangNguyen::TanSuat(int x)
12. {
13.
int dem = 0;
14.
15.
16.
17.
if (a[i]==x)
dem = dem + 1;
return dem;
18. }
Chng 10- 35
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11.
int CMangNguyen::KTTonTaiKhong()
12. {
13.
int flag = 0;
14.
15.
16.
17.
if (a[i]==0)
flag = 1;
return flag;
18. }
Chng 10- 36
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. int
CMangNguyen::KTToanChan()
12. {
13.
int flag = 1;
14.
15.
16.
17.
if (a[i]%2!=0)
flag = 0;
return flag;
18. }
Chng 10- 37
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. int
CMangNguyen::KTTangDan()
12. {
13.
int flag = 1;
14.
15.
if (a[i]>a[i+1])
16.
17.
flag = 0;
return flag;
18. }
Chng 10- 38
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. void
CMangNguyen::SapTang()
12. {
13.
14.
15.
if (a[i]>a[j])
16.
17.
18.
a[i] = a[j];
19.
a[j] = temp;
20.
21. }
Chng 10- 39
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MNG S NGUYN
11. void
CMangNguyen::SapGiam()
12. {
13.
14.
15.
if (a[i]<a[j])
16.
17.
18.
a[i] = a[j];
19.
a[j] = temp;
20.
21. }
Chng 10- 40
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. XY DNG
LP MNG S NGUYN
11. void
CMangNguyen::SapLeTang()
12. {
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23. }
Chng 10- 41
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. XY DNG
LP MNG S THC
Hy xy dng lp s thc vi cc
phng thc nh sau:
+
Chng 10- 42
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. XY DNG
LP MNG S THC
Hy xy dng lp s thc vi cc
phng thc nh sau:
+
Chng 10- 43
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. XY DNG
LP MNG S THC
11. class
CMangThuc
12. {
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
private:
float a[100];
int n;
public:
void Nhap();
void Xuat();
float TinhTong();
float NhoNhat();
float TongCucTieu();
int DemXuatHien(float);
int KTTonTaiKhong();
int KTTangDan();
void SapTang();
void SapGiam();
27. };
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 10- 44
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. XY DNG
LP MNG S THC
11. void
CMangThuc::Nhap()
12. {
13.
14.
cin >> n;
15.
16.
17.
cout<<a[<<i<< ]:;
18.
19.
20. }
Chng 10- 45
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MNG S THC
11. void
CMangThuc::Xuat()
12. {
13.
14.
15. }
Chng 10- 46
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MNG S THC
11. float
CMangThuc::TinhTong()
12. {
13.
float s = 0;
14.
15.
16.
s = s + a[i];
return s;
17. }
Chng 10- 47
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MNG S THC
11. float
CMangThuc::NhoNhat()
12. {
13.
float lc = a[0];
14.
15.
16.
17.
if (a[i]<lc)
lc = a[i];
return lc;
18. }
Chng 10- 48
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MNG S THC
11. int
CMangThuc::TanSuat(float x)
12. {
13.
int dem = 0;
14.
15.
16.
17.
if (a[i]==x)
dem = dem + 1;
return dem;
18. }
Chng 10- 49
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MNG S THC
11. int
CMangThuc::KTTonTaiKhong()
12. {
13.
14.
15.
16.
17. }
Chng 10- 50
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MNG S THC
11. int
CMangThuc::KTTangDan()
12. {
13.
14.
15.
16.
17. }
Chng 10- 51
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MNG S THC
11. void
CMangThuc::SapTang()
12. {
13.
14.
for(int i=0;i<=n-2;i++)
for(int j=i+1;j<=n-1;j++)
15.
if(a[i]>a[j])
16.
17.
18.
a[i] = a[j];
19.
a[j] = temp;
20.
21. }
Chng 10- 52
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MNG S THC
11. void
CMangThuc::SapGiam()
12. {
13.
14.
for(int i=0;i<=n-2;i++)
for(int j=i+1;j<=n-1;j++)
15.
if(a[i]>a[j])
16.
17.
18.
a[i] = a[j];
19.
a[j] = temp;
20.
21. }
Chng 10- 53
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 11
MA TRN CN BN
Chng 11 - 1
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1. V D DN NHP 1
Chng trnh
Chng 11 - 2
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. V D DN NHP 1
11. #include
12. class
<iostream.h>
CMaTranNguyen
13. {
14.
private:
15.
int a[100][100];
16.
int m, n;
17.
public:
18.
void Nhap();
19.
void Xuat();
20.
int TinhTong();
21. };
Chng 11 - 3
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. V D DN NHP 1
11. void
main()
12. {
13.
CMaTranNguyen a;
14.
a.Nhap();
15.
a.Xuat();
16.
int kq = a.TinhTong();
17.
cout<<"Tong = "<<kq;
18. }
Chng 11 - 4
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1. V D DN NHP 1
11. void
CMaTranNguyen::Nhap()
12. {
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
cout<<"Nhap m : ";
cin>>m;
cout<<"Nhap n : ";
cin>>n;
for (int i=0 ; i<m ; i++)
for (int j=0; j<n; j++)
{
cout<<"a["<<i<<
"]["<<j<<"]:";
cin>>a[i][j];
}
23. }
Chng 11 - 5
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. V D DN NHP 1
11. void
CMaTranNguyen::Xuat()
12. {
13.
14.
15.
16.
cout<<a[i][j]<<" ";
cout<<"\n";
17.
18.
19. }
Chng 11 - 6
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. V D DN NHP 1
11. int
CMaTranNguyen::TinhTong()
12. {
13.
int S = 0;
14.
15.
16.
17.
18. }
Chng 11 - 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP 2
Chng trnh
Chng 11 - 8
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. V D DN NHP 2
11. #include
<stdio.h>
12. #include
<conio.h>
13. class
CMaTranThuc
14. {
15.
private:
16.
float a[100][100];
17.
int m, n;
18.
public:
19.
void Nhap();
20.
void Xuat();
21.
float LonNhat();
22. };
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 11 - 9
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP 2
11. void
main()
12. {
13.
CMaTranThuc a;
14.
a.Nhap();
15.
a.Xuat();
16.
float kq = a.LonNhat();
17.
printf("...%f", kq);
18. }
Chng 11 - 10
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP 2
11. void
CMaTranThuc::Nhap()
12. {
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
printf("Nhap m:");
scanf("%d", &m);
printf("Nhap n : ");
scanf("%d", &n);
for (int i=0 ; i<m ; i++)
for (int j=0; j<n; j++)
{
printf(a[%d][%d]:
,i,j);
scanf("%f", &a[i][j]);
}
23. }
Chng 11 - 11
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP 2
11. void
CMaTranThuc::Xuat()
12. {
13.
14.
{
for (int j=0; j<n; j++)
15.
printf(%8.3f,a[i][j]);
16.
printf(\n);
17.
18.
19. }
Chng 11 - 12
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. V D DN NHP 2
11. float
CMaTranThuc::LonNhat()
12. {
13.
float ln = a[0][0];
14.
15.
16.
17.
18.
ln = a[i][j];
return ln;
19. }
Chng 11 - 13
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. V D DN NHP 3
Chng trnh
Chng 11 - 14
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. #include
<stdio.h>
12. #include
<conio.h>
13. class
CPhanSo
14. {
15.
private:
16.
int tu;
17.
int mau;
18.
public:
19.
void Nhap();
20.
void Xuat();
21.
int KTDuong();
22. };
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 11 - 15
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. class
CMaTranPhanSo
12. {
13.
private:
14.
CPhanSo a[100][100];
15.
int m, n;
16.
public:
17.
void Nhap();
18.
void Xuat();
19.
int DemDuong();
20. };
Chng 11 - 16
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. void
main()
12. {
13.
CMaTranPhanSo a;
14.
a.Nhap();
15.
a.Xuat();
16.
int kq = a.DemDuong();
17.
printf("%d:", kq);
18. }
Chng 11 - 17
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. void
CPhanSo::Nhap()
12. {
13.
printf("Nhap tu :");
14.
scanf("%d", &tu);
15.
16.
scanf("%d", &mau);
17. }
Chng 11 - 18
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. void
CPhanSo::Xuat()
12. {
13.
14. }
Chng 11 - 19
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. V D DN NHP 3
11. int
CPhanSo::KTDuong()
12. {
13.
if (tu*mau > 0)
14.
return 1;
15.
return 0;
16. }
Chng 11 - 20
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. void
CMaTranPhanSo::Nhap()
12. {
13.
printf("Nhap m : ");
14.
scanf("%d", &m);
15.
printf("Nhap n : ");
16.
scanf("%d", &n);
17.
18.
19.
20.
printf(a[%d][%d]:,i,j)
21.
a[i][j].Nhap();
22.
23. }
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 11 - 21
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. void
CMaTranPhanSo::Xuat()
12. {
13.
14.
15.
16.
17.
a[i][j].Xuat();
18.
printf( );
19.
20.
printf("\n");
21.
22. }
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 11 - 22
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. V D DN NHP 3
11. int
CMaTranPhanSo::DemDuong()
12. {
13.
int dem = 0;
14.
15.
16.
17.
18.
19. }
Chng 11 - 23
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
Hy xy dng lp s nguyn vi cc
phng thc nh sau:
+
Chng 11 - 24
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. XY DNG
LP MA TRN S NGUYN
Hy xy dng lp s nguyn vi cc
phng thc nh sau:
+
Chng 11 - 25
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. XY DNG
LP MA TRN S NGUYN
11. class
CMaTranNguyen
12. {
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
private:
int a[100][100];
int m, n;
public:
void Nhap();
void Xuat();
void LietKeChan();
int TinhTong();
int TongCucDai();
int DemLe();
int DemXuatHien(int);
int KTTonTaiKhong();
int KTToanChan();
void SapTang();
27. };
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 11 - 26
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11.
void CMaTranNguyen::Nhap()
12.
13.
printf(Nhap m : );
14.
scanf(%d, &m);
15.
printf(Nhap n : );
16.
scanf(%d, &n);
17.
18.
19.
20.
printf(a[%d]:, i);
21.
scanf(%d, &a[i][j]);
}
22.
23.
Chng 11 - 27
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11. void
CMaTranNguyen::Xuat()
12. {
13.
14.
{
for (int j=0; j<n; j++)
15.
printf(%4d,a[i][j]);
16.
printf(\n);
17.
18.
19. }
Chng 11 - 28
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11. void
CMaTranNguyen::LietKeChan()
12. {
13.
14.
15.
if (a[i][j]%2 == 0)
16.
printf(%4d,a[i][j]);
17. }
Chng 11 - 29
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11. int
CMaTranNguyen::TinhTong()
12. {
13.
int S=0;
14.
15.
16.
17.
18. }
Chng 11 - 30
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11. int
CMaTranNguyen::LonNhat()
12. {
13.
int ln=a[0][0];
14.
15.
16.
17.
18.
ln = a[i][j];
return ln;
19. }
Chng 11 - 31
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11. int
CMaTranNguyen::TongCucDai()
12. {
13.
int S=0;
14.
int ln=LonNhat();
15.
16.
17.
18.
19.
return S;
20. }
Chng 11 - 32
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11. int
CMaTranNguyen::DemLe()
12. {
13.
int dem=0;
14.
15.
16.
17.
18.
19. }
Chng 11 - 33
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11. int
CMaTranNguyen::
DemXuatHien(int x)
12. {
13.
int dem=0;
14.
15.
16.
if (a[i][j] == x)
17.
18.
dem = dem+1;
return dem;
19. }
Chng 11 - 34
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11. int
CMaTranNguyen::
KTTonTaiKhong()
12. {
13.
14.
15.
if (a[i][j] == 0)
16.
17.
return 1;
return 0;
18. }
Chng 11 - 35
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11. int
CMaTranNguyen::KTToanChan()
12. {
13.
14.
15.
16.
17.
18. }
Chng 11 - 36
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S NGUYN
11.
int CMaTranNguyen::SapTang()
12.
{
for (int k=0; i<m*n-2; k++)
13.
14.
15.
if (a[k/n][k%n]>a[l/n][l%n])
16.
17.
18.
a[k/n][k%n]=a[l/n][l%n];
19.
a[l/n][l%n] = temp;
}
20.
21.
Chng 11 - 37
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MA TRN S THC
Hy xy dng lp s thc vi cc
phng thc nh sau:
+
Chng 11 - 38
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. XY DNG
LP MA TRN S THC
Hy xy dng lp s thc vi cc
phng thc nh sau:
+
Chng 11 - 39
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. XY DNG
LP MA TRN S THC
11. class
CMaTranThuc
12. {
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
private:
float a[100][100];
int m, n;
public:
void Nhap();
void Xuat();
float TinhTong();
float NhoNhat();
float TongCucTieu();
int DemXuatHien(float);
int KTTonTaiKhong();
void SapTang();
25. };
Chng 11 - 40
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MA TRN S THC
11.
void CMaTranThuc::Nhap()
12.
13.
printf(Nhap n : );
14.
scanf(%d, &n);
15.
16.
17.
18.
printf(a[%d]:, i);
19.
scanf(%f, &a[i][j]);
}
20.
21.
Chng 11 - 41
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MA TRN S THC
11.
void CMaTranThuc::Xuat()
12.
13.
14.
{
for (int j=0; j<n; j++)
15.
printf(%8.3f,a[i][j]);
16.
printf(\n);
17.
18.
19.
Chng 11 - 42
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MA TRN S THC
11. float
CMaTranThuc::TinhTong()
12. {
13.
float S=0;
14.
15.
16.
17.
18. }
Chng 11 - 43
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MA TRN S THC
11. float
CMaTranThuc::NhoNhat()
12. {
13.
float nn=a[0][0];
14.
15.
16.
17.
18.
nn = a[i][j];
return nn;
19. }
Chng 11 - 44
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MA TRN S THC
11. float
CMaTranThuc::TongCucTieu()
12. {
13.
float S=0;
14.
float nn=NhoNhat();
15.
16.
17.
18.
19.
return S;
20. }
Chng 11 - 45
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MA TRN S THC
11. int
CMaTranThuc::
DemXuatHien(float x)
12. {
13.
int dem=0;
14.
15.
16.
if (a[i][j] == x)
17.
18.
dem = dem+1;
return dem;
19. }
Chng 11 - 46
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. XY DNG
LP MA TRN S THC
11. int
CMaTranThuc::
KTTonTaiKhong()
12. {
13.
14.
15.
if (a[i][j] == 0)
16.
17.
return 1;
return 0;
18. }
Chng 11 - 47
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
4. XY DNG
LP MA TRN S THC
11.
void CMaTranThuc::SapTang()
12.
{
for (int k=0; k<m*n-2; k++)
13.
14.
15.
if (a[k/n][k%n]>a[l/n][l%n])
16.
17.
float temp=a[k/n][k%n];
18.
a[k/n][k%n]=a[l/n][l%n];
19.
a[l/n][l%n]= temp;
}
20.
21.
Chng 11 - 48
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 12
K THA
Chng 12 - 1
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
0. MC TIU
Chng 12 - 2
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
1.QUAN H
Ngi ta chia cc quan h thnh
nhng loi nh sau:
Quan h mt mt (1-1)
Chng 12 - 3
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
Quan H
Chng 12 - 4
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d minh ha
LOPHOC
VO
Ch nhim
Hn nhn
GIAOVIEN
CHONG
Chng 12 - 5
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
Quan H
Chng 12 - 6
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d minh ha:
LOPHOC
CHA
HOASI
Huyt thng
Sng tc
HOCSINH
CON
TACPHAM
Chng 12 - 7
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
V d minh ha:
Chng 12 - 8
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
Quan H
Chng 12 - 9
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d minh ha:
NAM
BACSI
yu
Khm bnh
BENHNHAN
Chng 12 - 10
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
V d minh ha:
Chng 12 - 11
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
A
B
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
Chng 12 - 12
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
Hnh v
A
B
Chng 12 - 13
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d 1:
TAMGIAC
TAMGIACCAN
Chng 12 - 14
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
V d 2:
DONGVAT
NGUOI
HEO
Chng 12 - 15
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. CY K THA
V d: Hy v cy k tha cho cc lp
i tng sau:
Lp XELAM
Lp XEDAP
Lp XEGANMAY Lp XE
Lp XEHOI
Lp XEHAIBANH Lp XEBONBANH
Lp XETAINHE
Lp XEBABANH
Lp XEXICHLO
Chng 12 - 16
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. CY K THA (tip)
Chng 12 - 17
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. S LP
Khi nim: S lp l s th
hin tt c cc mi quan h gia cc
lp trong h thng, chng trnh.
Lp GIAOVIEN
Lp HOCSINH
Lp LOPHOC
Lp MONHOC
Chng 12 - 18
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
3. S LP
Chng 12 - 19
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Th gii thc
T kho dn xut
Chng 12 - 20
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
A
B
Chng 12 - 21
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
class A
{
...
};
class B:<t kha dn xut> A
{
...
};
B
Trong khai bo trn ta ni lp B
k tha t lp A.
Lp i tng A c gi l lp
c s.
Lp i tng B c gi l lp
dn xut t lp i tng A.
Chng 12 - 22
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 12 - 23
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 12 - 24
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 12 - 25
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
main()
32. {
33.
A x;
34.
x.a = 10;
35.
x.f();
36.
x.b = 20;
37.
x.g();
38.
x.c = 30;
39.
x.h();
40. }
Chng 12 - 26
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
class A
{
...
};
class B:<t kha dn xut> A
{
...
};
B
Trong khai bo trn ta ni lp B
k tha t lp A.
Lp i tng A c gi l lp
c s.
Lp i tng B c gi l lp
dn xut t lp i tng A.
Chng 12 - 27
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 12 - 28
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1.
class CTamGiac
2.
{
...
3.
4.
};
5.
class CTamGiacCan:public
CTamGiac
6.
{
...
7.
8.
TAMGIAC
};
TAMGIACCAN
Chng 12 - 29
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 12 - 30
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
Phm vi lp
c s
Private
Protected
Public
Chng 12 - 31
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
Phm vi lp
c s
Private
Protected
Public
Chng 12 - 32
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
Phm vi lp
c s
Private
Chng 12 - 33
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
Phm vi lp
c s
Private
Protected
Chng 12 - 34
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
Phm vi lp
c s
Private
Protected
Public
Chng 12 - 35
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
Phm vi lp
c s
Private
Protected
Public
Chng 12 - 36
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Phm vi lp
c s
Private
Protected
Public
Chng 12 - 37
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
Phm vi lp
c s
Private
Protected
Public
Chng 12 - 38
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Phm vi lp
c s
Private
Private
Public
||
||
Protected
Public
Chng 12 - 39
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Phm vi lp
c s
Private
Protected
Private
Public
||
||
private
Public
Chng 12 - 40
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Phm vi lp
c s
Private
Protected
Private
Public
||
||
private
protected
Public
Chng 12 - 41
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
||
||
Protected
private
protected
Public
private
Phm vi lp
c s
Private
Chng 12 - 42
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
||
||
Protected
private
protected
Public
private
public
Phm vi lp
c s
Private
Chng 12 - 43
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
Chng 12 - 45
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
Private
Public
Private
(1)
(2)
Protected
(3)
(4)
Public
(5)
(6)
Phm vi lp
c s
Chng 12 - 46
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
5. QUI TC K THA
TRONG C++
(1)
(2)
(3)
(4)
(5)
(6)
Chng 12 - 47
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
Chng 12 - 48
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. QUI TC K THA
TRONG C++
Chng 12 - 49
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 12 - 50
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
g()
A
public
B
GV. Nguy n Sn Hong Quc
ThS. Nguyn Tn Trn Minh Khang
c
h()
t
aa()
b
g()
z
xy()
c
h()
Chng 12 - 51
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
x
ab()
y
g()
x
public
t
h()
B
public
x
uv()
k
mn()
p
ab()
ab()
g()
q
xyz()
z
p
ab()
g() abc(int)
k
mn()
Chng 12 - 52
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
11. class A
12.{
13.
...
14.};
15.class B:public
16.{
17.
...
18.};
19.void main()
20.{
21.
A a;
22.
B b;
23.
a = b;
24.
b = a;
25.}
Chng 12 - 53
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
V d dn
nhp 02: Hy
cho bit on
chng trnh
di y cu
lnh
no
ng,
cu
lnh no sai:
9. void main()
10.{
11.
A *a;
12.
B *b;
13.
A x;
14.
B y;
15.
a = &x;
16.
17.
18.
19.}
1.
2.
3.
4.
class A
{
...
};
5.
6.
7.
8.
class B: public A
{
...
};
b = &y;
a = &y;
b = &x;
Chng 12 - 54
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
Chng 12 - 55
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
Chng 12 - 56
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
11. class A
12.{
13.
...
14.};
15.class B:public
16.{
17.
...
18.};
19.void main()
20.{
21.
A a;
22.
B b;
23.
a = b;
24.
b = a;
25.}
Chng 12 - 57
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
Chng 12 - 58
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
7. TON T GN
TRONG K THA
Hy cho bit on chng trnh di
y cu lnh no ng, cu lnh no
sai:
11. class A
12.{
13.};
14.class B:public A
15.{
16.};
17.void main()
18.{
19.
A *a;
20.
B *b;
21.
A x;
22.
B y;
23.
a = &x;
24.
b = &y;
25.
a = &y;
26.
b = &x;
27.}
Chng 12 - 59
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
Chng 13
A X-PHNG THC O
Chng 13 - 1
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
1. MC TIU
Hiu c c ch hot ng ca
phng thc o.
Chng 13 - 2
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP
Chng 13 - 3
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. V D DN NHP (tip)
11. #include
12.class
<iostream.h>
13.{
public:
15.
XXXX void Sketchy()
16.
{
17.
cout<<"\n AsSketchy();
18.
Sketchy(-1);
19.
}
20.
YYYY void Sketchy(int num)
21.
{
22.
cout<<"\n A's Sketchy
(int)<< num;
23.
}
24.};
14.
Chng 13 - 4
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP (tip)
11.class
B:public A
12.{
public:
14.
void Sketchy()
15.
{
16.
cout<<"\nBs Sketchy();
17.
Sketchy(-2);
18.
}
19.
void Sketchy(int num)
20.
{
21.
cout<<"\n B's Sketchy
(int)<< num;
22.
}
23.};
13.
Chng 13 - 5
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP (tip)
class C:public B
2. {
3.
public:
4.
void Sketchy(int num)
5.
{
6.
cout<<"\nC's Sketchy
(int)<<num;
7.
}
8. };
9. void Curious(A* wacky)
10.{
11.
wacky->Sketchy();
12.
((C*)wacky)->Sketchy(123);
13.}
1.
Chng 13 - 6
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. V D DN NHP (tip)
1.
void main()
2.
3.
A* inky = new B;
4.
inky->Sketchy();
5.
inky->Sketchy(23);
6.
Curious(inky);
7.
B* pinky = new C;
8.
pinky->Sketchy();
9.
pinky->Sketchy(46);
10.
Curious(pinky);
11. }
Chng 13 - 7
TIENICHMAYTINH.COM
LTHT
Khoa CNTT
2. V D DN NHP (tip)
A
public
B
public
Sketchy()
Sketchy(int)
Sketchy()
Sketchy(int)
Sketchy()
Sketchy(int)
Chng 13 - 8
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP (tip)
Kt qu trng hp 01
Chng 13 - 9
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP (tip)
Kt qu trng hp 02
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP (tip)
Kt qu trng hp 03
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
2. V D DN NHP (tip)
Kt qu trng hp 04
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
3. KHI NIM
Khi nim: a x l c ch tm vc
ng, cho php "xc nh" ng hnh
vi (phng thc) ca i tng khi
yu cu thc hin.
Tm vc ng l c ch gi thc hin
phng thc thng qua con tr i
tng.
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. C PHP A X
11. class
CCoSo
12. {
private:
...
protected:
...
public:
...
virtual KDL <TenPhuongThuc>
(<ThamSo>);
13.
14.
15.
16.
17.
18.
19.
20. };
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. C PHP A X
11. class
12. {
13.
14.
15.
16.
17.
18.
19.
private:
...
protected:
...
public:
...
KDL <TenPhuongThuc>
(<ThamSo>);
20. };
TIENICHMAYTINH.COM
Khoa CNTT
11. class
LTHT
CCoSo
12. {
13.
14.
15.
16.
17.
18.
19.
private:
...
protected:
...
public:
...
virtual KDL <TenPhuongThuc>
(<ThamSo>);
20. };
21. class
22. {
23.
24.
25.
26.
27.
28.
29.
private:
...
protected:
...
public:
...
KDL <TenPhuongThuc>
(<ThamSo>);
30. };
GV. Nguy n Sn Hong Quc
Chng 13 - 16
ThS. Nguyn Tn Trn Minh Khang
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
4. C PHP A X (tip)
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. BI TON
CHI TIT MY
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
5. BI TON
CHI TIT MY (tip)
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
6. BI TON
TNH TIN LNG
TIENICHMAYTINH.COM
Khoa CNTT
LTHT
6. BI TON
TNH TIN LNG (tip)
+