Lớp Person lập trình hướng đối tượng
Một quyển danh bạ điện thoại của một cơ quan chứa các thông tin về họ tên, địa chỉ, số điện thoại của các cán bộ.
a. Xây dựng 1 lớp Person, lớp gồm các thành phần sau:
– Thuộc tính: Name, Address, Phone để mô tả các thông tin trong danh bạ.
– Hàm thiết lập với 3 tham số.
– Hàm huỷ bỏ.
– Hàm lấy Name
– Hàm lấy Address
– Hàm lấy Phone.
b. Xây dựng một lớp List để chứa danh sách cán bộ, lớp gồm có các thành phần sau:
– Thuộc tính maxSize mô tả số cán bộ tối đa.
– Thuộc tính People là một con trỏ trỏ đến các Person là các cán bộ.
– Hàm thiết lập.
– Hàm huỷ bỏ.
– Hàm nhập danh sách cán bộ.
– Hàm hiển thị danh sách cán bộ.
c. Viết chương trình cho phép nhập danh sách các cán bộ, hiển thị danh sách cán bộ. Nhập vào một xâu họ tên ht, kiểm tra xem trong danh sách các cán bộ có người có Name là ht hay không? Nếu có hiển thị thông tin của người đó, nếu không thông báo ra màn hình là không tồn tại.
Download Code “Lớp Person lập trình hướng đối tượng” (Project VC++ 2010 Express)
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<iomanip>
usingnamespace std;
class Person
{
private:
char Name[30], Address[30], Phone[12];
public:
Person()
{
Name;
Address;
Phone;
}
~Person()
{
delete Name;
delete Address;
delete Phone;
}
void getName()
{
cout<<Name;
}
void getAddress()
{
cout<< Address;
}
void getPhone()
{
cout<< Phone;
}
friendclass List;
};
class List
{
private:
int maxSize;
Person *People;
public:
List(int size = 0)
{
maxSize = size;
People = new Person [maxSize];
}
void add();
void display();
void kiemtra(char *s);
};
void List::add()
{
char s[30];
cout<<“\nNhap so can bo: “; cin>>maxSize;
for(int i=0; i<maxSize; i++)
{
// s = new char [50];
cout<<“\nNhap thong tin can bo “<<i+1<<“: \n”;
cout<<“Nhap ten:”; fflush(stdin); gets(s); strcpy(People[i].Name,s);
cout<<“Nhap dia chi: “; fflush(stdin); gets(s); strcpy(People[i].Address,s);
cout<<“Nhap so dien thoai: “; fflush(stdin); gets(s); strcpy(People[i].Phone,s);
}
}
void List::display()
{
for(int i=0; i < maxSize; i++)
{
cout << setiosflags(ios::left);
cout<<setw(20);People[i].getName();
cout<<setw(20); People[i].getAddress();
cout<<setw(12); People[i].getPhone();
cout<<endl;
cout<<“+—————–+——————+————-+\n”;
}
}
void List::kiemtra(char *s)
{
cout<<” HO TEN\t\t\tDIA CHI\t\tSDT\n”;
cout<<“+—————–+——————+————-+\n”;
for(int i=0;i<maxSize;i++)
{ if(strcmp(People[i].Name,s)==0)
{
cout << setiosflags(ios::left);
cout<<setw(20);People[i].getName();
cout<<setw(20); People[i].getAddress();
cout<<setw(12); People[i].getPhone();
cout<<endl;
cout<<“+—————–+——————+————-+\n”;
}
// break;
}
}
int main()
{
char s[30];
List b;
b.add();
cout<<endl;
cout<<“\nDanh Sach:\n”;
cout<<“+—————–+——————+————-+\n”;
cout<<” HO TEN\t\t\tDIA CHI\t\tSDT\n”;
cout<<“+—————–+——————+————-+\n”;
b.display();
cout<<endl;
cout<< “Nhap ten:”; fflush(stdin); gets(s);
b.kiemtra(s);
getch();
return 0;
}
Kết quả chạy chương trình Lớp Person lập trình hướng đối tượng
Lượt xem (4845)
Để lại bình luận: