Bài giảng Lập trình hướng đối tượng - Chương 3: Lập trình hướng đối tượng với C++ - Nguyễn Sơn Hoàng Quốc

Khoa CNTT  
LTHĐT  
Chương 3  
LẬP TRÌNH HƯỚNG ĐỐI  
TƯỢNG VỚI C++  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 03 - 1  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
0. BÀI TẬP  
Bài 1: Viết chương trình nhập  
vào một phân số. Hãy cho biết  
phân số đó là phân số âm hay  
dương hay bằng không.  
Bài 2: Viết chương trình nhập  
vào một ngày. Tìm ngày kế tiếp  
và xuất kết quả.  
Bài 3: Viết chương trình nhập tọa  
độ hai điểm trong không gian.  
Tính khoảng cách giữa chúng và  
xuất kết quả.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 03 - 2  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
0. BÀI TẬP  
Bài 4: Viết chương trình nhập  
vào một ngày. Tìm ngày hôm  
qua và xuất kết quả.  
Bài 5: Viết chương trình nhập  
vào 2 phân số. Tìm phân số lớn  
nhất và kết quả.  
Bài 6: Viết chương trình nhập  
vào 2 số phức. Tính tổng, hiệu,  
tích và xuất kết quả.  
Bài 7: Viết chương trình nhập toạ  
độ 3 đỉnh A,B,C của 1 tam giác  
trong mặt phẳng Oxy. Tính chu  
vi, diện tích và tìm tọa độ trọng  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
tâm.  
Chương 03 - 3  
Khoa CNTT  
LTHĐT  
0. BÀI TẬP  
Bài 8: Viết chương trình nhập tọa  
tâm và bán kính của một đường  
tròn. Tính diện tích và chu vi của  
đường tròn.  
Bài 9: Viết chương trình nhập  
vào hai phân số. Tính tổng, hiệu,  
tích, thương giữa chúng và xuất  
kết quả.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 03 - 4  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
Bài 1: Viết chương  
trình nhập vào một  
phân số. Hãy cho  
biết phân số đó là  
phân số âm hay  
dương hay bằng  
không.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 03 - 5  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
1. #include <stdio.h>  
2. #include <conio.h>  
3. class CPhanSo  
4. {  
5.  
private:  
int tu;  
int mau;  
public:  
6.  
7.  
8.  
9.  
void Nhap();  
void Xuat();  
int XetDau();  
10.  
11.  
12.};  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 6  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
11.void main()  
12.{  
13.  
14.  
15.  
16.  
17.  
18.  
19.  
20.  
21.  
22.  
23.  
24.  
25.}  
CPhanSo a;  
a.Nhap();;  
int kq = a.XetDau();  
switch(kq)  
{
case 1: printf(“”);  
break;  
case -1: printf(“”);  
break;  
case 0: printf(“”);  
break;  
}
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 7  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
Định nghĩa hàm nhập phân số  
1. void CPhanSo::Nhap()  
2. {  
3.  
printf("Nhap tu: ");  
scanf("%d",&tu);  
4.  
5.  
printf("Nhap mau: ");  
scanf("%d",&mau);  
6.  
7. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 8  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
Định nghĩa hàm xuất phân số  
1. void CPhanSo::Xuat()  
2. {  
3.  
printf("\n Tu: %d“, tu);  
printf("\n Mau: %d“, mau);  
4.  
5. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 9  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 1  
1. int CPhanSo::XetDau()  
2. {  
3.  
if(tu*mau>0)  
return 1;  
4.  
5.  
if(tu*mau<0)  
return -1;  
return 0;  
6.  
7.  
8. }  
int kq = a.XetDau();  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 03 - 10  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Bài 2: Viết chương  
trình nhập vào một  
ngày. Tìm ngày kế  
tiếp và xuất kết  
quả.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 03 - 11  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
11. #include <stdio.h>  
12. #include <conio.h>  
13. class CNgay  
14. {  
15.  
16.  
17.  
18.  
private:  
int ng;  
int th;  
int nm;  
19. public:  
20.  
void Nhap();  
21.  
void Xuat();  
22.  
CNgay KeTiep();  
int ktNhuan();  
23.  
24.  
int sttTrongNam();  
long SoThuTu();  
25.  
26.  
void KhoiTao(int,int);  
void KhoiTao(long);  
CNgay(int,int,int);  
27.  
28.  
29. };  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 03 - 12  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
1. void main()  
2. {  
3.  
CNgay a;  
4.  
a.Nhap();  
5.  
CNgay kq = a.KeTiep();  
printf(“Ngay ban dau:”);  
a.Xuat();  
6.  
7.  
8.  
printf(“\nNgay ke tiep:”);  
kq.Xuat();  
9.  
10.}  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 13  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Định nghĩa hàm  
1. void CNgay::Nhap()  
2. {  
3.  
printf("Nhap ngay: ");  
scanf("%d",&ng);  
4.  
5.  
printf("Nhap thang: ");  
scanf("%d",&th);  
6.  
7.  
printf("Nhap nam: ");  
scanf("%d",&nm);  
8.  
9. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 14  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Định nghĩa hàm  
1. void CNgay::Xuat()  
2. {  
3.  
printf("\nNgay:%d“,ng);  
printf("\nThang:%d",th);  
printf("\nNam:%d",nm);  
4.  
5.  
6. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 15  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Một năm được gọi là năm nhuận khi thoả một  
trong hai điều kiện.  
Điều kiện 1: Năm chia hết cho 4 và không  
chia hết cho 100.  
Điều kiện 2: Năm chia hết cho 400.  
Ví dụ 1: 1996 nhuận (điều kiện 1)  
Ví dụ 2: 2000 nhuận (điều kiện 2)  
Ví dụ 3: 1900 ko nhuận.  
Định nghĩa hàm  
1. int CNgay::KiemTraNhuan()  
2. {  
3.  
if(nm%4==0 && nm%100!=0)  
return 1;  
4.  
5.  
if(nm%400==0)  
return 1;  
6.  
7.  
return 0;  
8. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 16  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Định nghĩa hàm  
1. int CNgay::sttTrongNam()  
2. {  
3.  
int ngaythang[12]={31,28,31,  
30,31,30,31,31,30,31,30,31};  
4.  
if(ktNhuan()==1)  
ngaythang[1]=29;  
int stt = 0;  
5.  
6.  
7.  
for(int i=1;i<=th-1;i++)  
ngaythang[i-1];  
stt=stt+  
8.  
9.  
return (stt + ng);  
10.}  
1/1/2007  
20/10/2007  
30/ 09/ 2007  
1/1/2007  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 17  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
1. long CNgay::SoThuTu()  
2. {  
3.  
long stt = 0;  
4.  
for(int i=1;i<=nm-1;i++)  
{
5.  
6.  
stt = stt + 365;  
CNgay temp(1,1,i);  
if(temp.ktnhuan()==1)  
stt = stt+1;  
7.  
8.  
9.  
10.  
11.  
12.}  
}
return (stt+sttTrongNam());  
1/1/2007  
20/10/2007  
30/ 09/ 2007  
1/1/1  
31/12/2006  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 18  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Định nghĩa hàm  
1. void CNgay::KhoiTao(int nam,int stt)  
2. {  
3.  
int ngaythang[12]={31,28,31,  
30,31,30,31,31,30,31,30,31};  
4.  
CNgay temp(1,1,nam);  
if(temp.ktNhuan()==1)  
ngaythang[1] = 29;  
temp.th=1;  
5.  
6.  
7.  
8.  
while(stt-ngaythang[temp.th-1]>0)  
{
9.  
10.  
11.  
12.  
13.  
14.  
15. }  
stt=stt-ngaythang[temp.th-1];  
temp.th++;  
}
temp.ng = stt;  
*this = temp;  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 19  
Khoa CNTT  
LTHĐT  
HƯỚNG DẪN BÀI 2  
Định nghĩa hàm  
1. void CNgay::KhoiTao(long stt)  
2. {  
3.  
int nam = 1;  
int sn = 365;  
while(stt-sn>0)  
{
4.  
5.  
6.  
7.  
stt = stt – sn;  
8.  
nam++;  
9.  
sn = 365;  
10.  
11.  
12.  
13.  
14.  
15. }  
CNgay temp(1,1,nam);  
if( temp.ktnhuan()==1)  
sn = 366;  
}
TimNgay(nam,(int)stt);  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 03 - 20  
Tải về để xem bản đầy đủ
pdf 71 trang myanh 26680 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Chương 3: Lập trình hướng đối tượng với C++ - Nguyễn Sơn Hoàng Quốc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_huong_doi_tuong_chuong_3_lap_trinh_huong.pdf