1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI TẬP CHƯƠNG 7 - THIẾT KẾ LỚP ĐIỂM ppsx

9 477 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 78,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BÀI TẬP CHƯƠNG 7 7.1.Thiết kế lớp Diem Điểm trong không gian 2 chiều gồm 2 thành phần x,y kiểu int.. In tọa độ điểm A ra màn hình.. + Tạo ra điểm B với giá trị nhập từ bàn phím.. In tọa

Trang 1

BÀI TẬP CHƯƠNG 7 7.1.Thiết kế lớp Diem ( Điểm trong không gian 2 chiều) gồm 2 thành phần x,y kiểu int.

Các hàm thành viên g ồm:

+ Gán tọa độ cho 1 điểm: void Gan (int hoanh , int tung) ;

+ Nhập tọa độ cho 1 điểm: void Nhap();

+ In ra màn hình t ọa độ điểm theo dạng (x,y) : void InDiem();

+ Xuất ra giá trị hoành độ của điểm: int PutX();

+ Xuất ra giá trị tung độ của điểm: int PutY();

Viết hàm main() khai thác lớp vừa định nghĩa :

+ Tạo ra điểm A tọa độ (3,4) In tọa độ điểm A ra màn hình

+ Tạo ra điểm B với giá trị nhập từ bàn phím In tọa độ điểm B ra màn hình

+ Tạo ra điểm C đối xứng với điểm B qua gốc tọa độ In tọa độ điểm C ra màn hình

+ Tính khoảng cách từ điểm B đến tâm O

//2.1 Lop diem

#include <iostream.h>

#include <conio.h>

#include <math.h>

// -// Khai bao lop Diem

// -class Diem

{

int x; //hoanh do

int y; //tung do

public:

void gan(int, int);

void nhap();

void xuat();

int hoanhdo();

int tungdo();

Diem doixung();

};

// -//Dinh nghia lop Diem

// -void Diem::gan(int h, int t)

{

x = h;

y = t;

}

void Diem::nhap()

{

cout << "Hoanh do: "; cin >> x;

cout <<"Tung do: "; cin >> y;

}

void Diem::xuat()

{

cout << "(" << x << ", " << y << ")";

}

int Diem::tungdo()

Trang 2

return y;

}

int Diem::hoanhdo()

{

return x;

}

Diem Diem::doixung()

{

Diem kq;

kq.gan(-x, -y);

return kq;

}

// -//Dinh nghia ham main()

// -void main()

{

//tao diem a, gan toa do va in ra man hinh

Diem a;

a.gan(3, 4);

cout << "a ";

a.xuat();

cout << endl;

//tao diem b, nhap toa do va in ra man hinh

Diem b;

b.nhap();

cout << "b ";

b.xuat();

cout << endl;

//tao diem c doi xung diem b, hien thi toa do ra mhinh

Diem c;

c = b.doixung();

cout << "Diem doi xung voi b: ";

c.xuat();

//tinh khoang cach tu b den O

float kc;

kc = sqrt(b.tungdo()*b.tungdo() + b.hoanhdo()*b.hoanhdo());

cout << "\nKhoang cach tu b den O la: " << kc;

getch();

}

7.2.Thiết kế lớp Clock gồm 3 thành phần: giờ, phút , giây

Các hàm thành viên g ồm :

+ Hàm gán (dùng để khởi tạo 1 Clock ) + Hàm nhập giá trị và hàm in

+ Hàm làm tròn th ời gian (VD: 13:67:150 s ẽ làm tròn thành 14:09:30) Viết hàm main() khai thác lớp vừa định nghĩa

+ Tạo 1 Clock có giá trị là 9:15:38 In giá trị đó ra màn hình

+ Tạo 1 Clock bất kỳ, nhập giá trị cho nó In ra màn hình

+ Làm tròn Clock v ừa nhập ở trên (nếu được) và in ra màn hình

//2.2: Lop Clock

#include <iostream.h>

#include <conio.h>

Trang 3

// -//Khai bao lop Clock

// -class Clock

{

int gio, phut, giay;

public:

void gan(int, int, int);

void nhap();

void xuat();

void lamtron();

};

// -//Dinh nghia lop Clock

// -void Clock::gan(int h, int m, int s)

{

gio = h;

phut = m;

giay = s;

}

void Clock::nhap()

{

cout << "Nhap gio: "; cin>> gio;

cout << "Nhap phut: "; cin >> phut;

cout << "Nhap giay: "; cin >> giay;

}

void Clock::xuat()

{

cout << gio << ":" << phut << ":" << giay;

}

void Clock::lamtron()

{

//lam tron giay

phut += (giay / 60);

giay %= 60;

//lam tron phut

gio += (phut / 60);

phut %= 60;

//lam tron gio

gio %= 24;

}

// -//Ham main su dung lop Clock

// -void main()

{

Clock c;

//Tao 1 clock voi gia tri la 9:15:38 va hien thi ra MH c.gan(9, 15, 38);

cout << "Clock c: ";

c.xuat();

cout << endl;

//Tao mot Clock, nhap gtri, lam tron va hien thi ra MH Clock d;

Trang 4

cout << "Nhap gia tri cho Clock d: \n";

d.nhap();

d.lamtron();

cout << "Clock d sau khi lam tron: ";

d.xuat();

getch();

}

7.3.Thiết kế lớp Date gồm 3 thành phần: ngày, tháng, n ăm

Các hàm thành viên g ồm :

+ Hàm gán (dùng để khởi tạo 1 Date ) + Hàm nhập ngày

+ Hàm hiện thông tin ngày

+ Hàm kiểm tra xem ngày có hợp lệ hay không?

(VD: Ngày 31/6/2000 hay 29/2/1999 là không h ợp lệ) Viết hàm main() khai thác lớp vừa định nghĩa

//2.3: Lop Date

#include <iostream.h>

#include <conio.h>

#include <math.h>

// -//Khai bao lop Date

// -class Date

{

int ngay, thang, nam;

public:

void gan(int, int, int);

void nhap();

void xuat();

int hople();

};

// -//Dinh nghia lop Date

// -void Date::gan(int d, int m, int y)

{

ngay = d;

thang = m;

nam = y;

}

void Date::nhap()

{

cout << "Ngay: "; cin >> ngay;

cout << "Thang: "; cin >> thang;

cout << "Nam: "; cin >> nam;

}

void Date::xuat()

{

cout << ngay << "/" << thang << "/" << nam;

}

int Date::hople()

{

switch (thang)

{

Trang 5

case 1: case 3: case 5: case 7: case 8: case 10: case 12:

if ((ngay <= 31) && (ngay > 0))

return 1;

else

return 0;

case 4: case 6: case 9: case 11:

if ((ngay <= 30) && (ngay > 0))

return 1;

else

return 0;

case 2:

if (nam % 4 = = 0)

if ((ngay <=29) && (ngay > 0))

return 1;

else return 0;

else if ((ngay <=28) && (ngay > 0))

return 1;

else return 0;

default:

return 0;

} //switch

}

// -//Ham main khai thac lop Date

// -void main()

{

Date d1;

d1.gan(10, 10, 2003);

cout << "d1 = ";

d1.xuat();

cout << endl;

Date d2;

d2.nhap();

d2.xuat();

if (d2.hople())

cout << ": Ngay hop le";

else

cout << ": Ngay khong hop le";

getch();

}

7.4.Thiết kế lớp Phanso (phân số), trong đó mỗi phân số bao gồm

- Dữ liệu: tử số và mẫu số

- Phương thức:

o Hàm xây dựng mặc nhiên

o Hàm xây dựng với hai đối số là tử số và mẫu số

o Hàm xây dựng sao chép

o Hàm nhập, xuất phân số ra màn hình

o Hàm nghịch đảo phân số

o Hàm tính giá trị thực của phân số

o Hàm cộng, trừ, nhân, chia hai phân số, kết quả là 1 phân số

o Hàm cộng, trừ, nhân, chia phân số với một số nguyên, kết quả là 1 phân số

- Viết hàm main() thực hiện những yêu cầu sau:

Trang 6

+ Tạo phân số a=3/7, b=4/9 In giá trị hai phân số trên ra màn hình + Tạo 2 phân số x, y với giá trị nhập từ bàn phím và in giá trị ra màn hình + In giá trị nghịch đảo của x

+ Tính tổng x, y, và in ra màn hình + Tính tích x và 10 và in ra màn hình + Nhập một danh sách gồm n phân số (n nhập từ bàn phím) + Tính tống n phân số đó

//3.1 Lop Phanso

#include <iostream.h>

#include <conio.h>

class Phanso

{

int tu;

int mau;

int uscln(int, int);

void rutgon();

public:

Phanso() {tu=0; mau=1;} //ham xdung mac nhien Phanso(int, int);

Phanso(const Phanso&);

void nhap();

void xuat();

void gan(int, int);

Phanso nghichdao();

float trithuc();

Phanso cong(Phanso);

Phanso tru(Phanso);

Phanso nhan(Phanso);

Phanso chia(Phanso);

Phanso cong(int);

Phanso tru(int);

Phanso nhan(int);

Phanso chia(int);

};

// -//cai dat cac ham thanh vien

// -int Phanso::uscln(// -int a, // -int b)

{

if ((a==0) || (b==0)) return 0;

a = abs(a);

b = abs(b);

while (a!=b)

(a>b)? (a-=b): (b-=a);

return a;

}

void Phanso::rutgon()

{

int t = uscln(tu, mau);

tu /= t;

mau /= t;

}

Phanso::Phanso(int t, int m)

{

Trang 7

tu = t;

mau = m;

}

Phanso::Phanso(const Phanso& ps)

{

tu = ps.tu;

mau = ps.mau;

}

void Phanso::nhap()

{

cout << "Tu so: "; cin >> tu;

cout << "Mau so: "; cin >> mau;

}

void Phanso::xuat()

{

cout << tu << "/" << mau;

}

Phanso Phanso::nghichdao()

{

Phanso kq;

kq.tu = mau;

kq.mau = tu;

return kq;

}

float Phanso::trithuc()

{

return float(tu)/mau;

}

Phanso Phanso::cong(Phanso ps)

{

Phanso kq;

kq.tu = tu*ps.mau + mau*ps.tu;

kq.mau = mau*ps.mau;

kq.rutgon();

return kq;

}

Phanso Phanso::tru(Phanso ps)

{

Phanso kq;

kq.tu = tu*ps.mau - mau*ps.tu;

kq.mau = mau*ps.mau;

kq.rutgon();

return kq;

}

void Phanso::gan(int t, int m)

{

tu = t;

mau = m;

}

Phanso Phanso::nhan(Phanso ps)

{

Phanso kq;

kq.tu = tu*ps.tu;

kq.mau = mau*ps.mau;

Trang 8

return kq;

}

Phanso Phanso::chia(Phanso ps)

{

Phanso kq;

kq = this->nghichdao();

kq = ps.nhan(kq);

return kq;

}

Phanso Phanso::cong(int a)

{

Phanso kq(a, 1);

kq = kq.cong(*this);

return kq;

}

Phanso Phanso::tru(int a)

{

Phanso kq(a, 1);

kq = this->tru(kq);

return kq;

}

Phanso Phanso::nhan(int a)

{

Phanso kq(a*tu, mau);

return kq;

}

Phanso Phanso::chia(int a)

{

Phanso kq(tu, mau*a);

return kq;

}

void main()

{

//tao 2 phan so 3/7; 4/9 v a in ra man hinh Phanso a(3,7), b(4,9);

cout << "a = ";

a.xuat();;

cout << "b = ";

b.xuat();

cout << endl << endl;

//tao 2 phan so x, y

Phanso x, y;

cout << "Nhap x:\n";

x.nhap();

cout << "Nhap y:\n";

y.nhap();

cout << endl;

cout << "x = ";

x.xuat();

cout << endl;

cout << "y = ";

y.xuat();

cout << endl;

Trang 9

cout << "Nghich dao cua x = ";

x.nghichdao().xuat();

cout << endl;

//tinh tong x, y va in ra man hinh

Phanso tong;

tong = x.cong(y);

cout << "x + y = " ;

tong.xuat();

cout << endl;

//tinh tich x va 10

Phanso tichx10;

tichx10 = x.nhan(10);

cout << "Tich cua x va 10 la: ";

tichx10.xuat();

cout << endl << endl;

//nhap danh sach n phan so

int n;

Phanso *ds;

cout << "Nhap vao so phan tu cua danh sach: "; cin >> n;

ds = new Phanso[n];

for (int i=0; i < n; i++)

{

cout << "Nhap phan so thu " << i + 0 << endl; ds[i].nhap();

}

//tinh tong

Phanso tongn;

for (i=0; i<n; i++)

tongn = tongn.cong(ds[i]);

cout << endl;

cout << "Tong n phan so: ";

tongn.xuat();

getch();

}

Ngày đăng: 28/07/2014, 17:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w