Bài giảng Lập trình hướng đối tượng - Chương 1: Lớp vs Đối tượng - Hồ Tuấn Thanh
1. Một hàm main duy nhất
#include <iostream>
using namespace std;
int main()
{
int tu1, mau1;
int tu2, mau2;
int tu3, mau3;
4/9/18
3
1. Một hàm main duy nhất
cout << "Nhap phan so 1" << endl;
cout << "Nhap tu: ";
cin >> tu1;
do
{
cout << "Nhap mau: ";
cin >> mau1;
}while(mau1 == 0);
if(mau1 < 0)
{
tu1 = -tu1;
mau1 = -mau1;
}
4/9/18
4
1. Một hàm main duy nhất
cout << "Nhap phan so 2" << endl;
cout << "Nhap tu: ";
cin >> tu2;
do
{
cout << "Nhap mau: ";
cin >> mau2;
}while(mau2 == 0);
if(mau2 < 0)
{
tu2 = -tu2;
mau2 = -mau2;
}
4/9/18
5
1. Một hàm main duy nhất
tu3 = tu1 * mau2 + tu2 * mau1;
mau3 = mau1 * mau2;
4/9/18
6
1. Một hàm main duy nhất
cout << tu1 << "/" << mau1;
cout << " + ";
cout << tu2 << "/" << mau2;
cout << " = ";
cout << tu3 << "/" << mau3;
cout << endl;
return 0;
}
4/9/18
7
Vấn đề
• Code quá dài, khó đọc
• Quá nhiều đoạn code giống nhau
• Nhập ps1 vs nhập ps2
• In ps1 vs in ps2 vs in ps3
• Copy – paste – EDIT
• Modify 1 chỗ è update những chỗ còn lại
4/9/18
8
Ví dụ
cout << "Nhap phan so 2" << endl;
cout << "Nhap tu: ";
cin >> tu2;
do
{
cout << "Nhap mau: ";
cin >> mau1;
}while(mau2 == 0);
if(mau2 < 0)
{
tu2 = - tu2;
mau2 = -mau2;
}
4/9/18
9
2. Viết và sử dụng hàm
#include <iostream>
using namespace std;
void nhap(int &tu, int &mau);
void cong(int tu1, int mau1, int tu2, int mau2, int &tu3, int &mau3);
void xuat(int tu, int mau);
4/9/18
10
2. Viết và sử dụng hàm
int main()
{
int tu1, mau1;
int tu2, mau2;
int tu3, mau3;
cout << "Nhap phan so 1" << endl;
nhap(tu1, mau1);
cout << "Nhap phan so 2" << endl;
nhap(tu2, mau2);
cong(tu1, mau1, tu2, mau2, tu3, mau3);
xuat(tu1, mau1);
cout << " + ";
xuat(tu2, mau2);
cout << " = ";
xuat(tu3, mau3);
cout << endl;
return 0;
}
2. Viết và sử dụng hàm
void nhap(int &tu, int &mau)
{
cout << "Nhap tu: ";
cin >> tu;
do
{
cout << "Nhap mau: ";
cin >> mau;
}while(mau == 0);
if(mau < 0)
{
tu = -tu;
mau = -mau;
}
}
4/9/18
12
2. Viết và sử dụng hàm
void cong(int tu1, int mau1, int tu2, int mau2, int &tu3, int &mau3)
{
tu3 = tu1 * mau2 + tu2 * mau1;
mau3 = mau1 * mau2;
}
4/9/18
13
2. Viết và sử dụng hàm
void xuat(int tu, int mau)
{
cout << tu << "/" << mau;
}
4/9/18
14
Ví dụ
int main()
{
int tu1, mau1;
int tu2, mau2;
int tu3, mau3;
cout << "Nhap phan so 1" << endl;
nhap(tu1, mau1);
cout << "Nhap phan so 2" << endl;
nhap(tu2, mau1);
cong(tu1, mau1, tu1, mau2, tu3, mau3);
xuat(tu1, mau1);
cout << " + ";
xuat(tu2, mau2);
cout << " = ";
xuat(tu3, mau1);
cout << endl;
return 0;
}
3. Sử dụng struct
#include <iostream>
using namespace std;
struct PhanSo
{
int tu;
int mau;
};
void nhap(PhanSo &p);
PhanSo cong(PhanSo p1, PhanSo p2);
void xuat(PhanSo p);
4/9/18
17
3. Sử dụng struct
void nhap(PhanSo &p)
{
cout << "Nhap tu: ";
cin >> p.tu;
do
{
cout << "Nhap mau: ";
cin >> p.mau;
}while(p.mau == 0);
if(p.mau < 0)
{
p.tu = -p.tu;
p.mau = -p.mau;
}
}
4/9/18
19
3. Sử dụng struct
PhanSo cong(PhanSo p1, PhanSo p2)
{
PhanSo p3;
p3.tu = p1.tu * p2.mau + p2.tu * p1.mau;
p3.mau = p1.mau * p2.mau;
return p3;
}
4/9/18
20
Tải về để xem bản đầy đủ
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 1: Lớp vs Đối tượng - Hồ Tuấn Thanh", để 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:
bai_giang_lap_trinh_huong_doi_tuong_chuong_1_lop_vs_doi_tuon.pdf

