Symulacja książki telefonicznej
Napisz klasę Entry zawierającą nazwisko abonenta i numer
telefonu (oba pola typu string). Klasa powinna zawierać konstruktor
inicjalizujący pola, funkcję print() wypisującą wartości pól oraz
gettery.
Klasa Directory reprezentuje książkę telefoniczną. Jej struktura
wygląda następująco:
class Directory {
public:
Directory(int max_size); // set up empty directory of entries (allocate array)
Directory(const Directory &d); // copy constructor
~Directory(); // free memory
void insert(const Entry &entry); // Insert an entry into the directory.
void lookup(const string &name) const; // display the directory entry for a name
void remove(const string &name); // remove an entry.
void display() const; // display the current directory.
private:
int max_size; // the maximum allowable number of entries
int current_size; // the current number of entries
Entry* entry_list; // pointer to the list of entries
void grow(); // double the maximum size, when required.
int find_name(const string &name) const; // return index of an entry, given a name.
};
Funkcja main() testuje działanie klasy. Powinna zawierać
dopisanie kilku obiektów typu Entry do tablicy (funkcja
insert()). Jeżeli aktualna liczba elementów tablicy przekroczy
max_size, wywoływana jest funkcja grow(), która
realokuje tablicę tak, by mogła pomieścić 2 * max_size
elementów.
Należy przetestować również pozostałe funkcje składowe klasy.
Napisz klasę Point definiującą punkt na płaszczyźnie.
Klasa powinna zawierać:
[-10, 10])ostream& print(ostream& o); funkcja wypisująca współrzędne punktudouble distance(const Point&), zwracającą odleglość
między dwoma punktamiNapisz klasę Polygon opisującą wielobok o n
wierzchołkach.
Pola klasy to:
int n - liczba wierzchołków wielobokuPoint* vertices - dynamicznie alokowana tablica punktów
będących wierzchołkami wielomianu. Zaimplementuj następujące funkcje składowe klasy:
double circumference(); zwraca obwód wielobokuostream& print(ostream& o); funkcja wypisująca
liczbę wierzchołków wieloboku i ich współrzędne oraz obwód wieloboku.Napisz funkcję main() wczytującą liczbę wierzchołków wieloboku.
Program powinien utworzyć obiekt typu Polygon o zadanej liczbie
wierzchołków i wypisać go używając metody print().
Napisz klasę Polynomial opisującą wielomian n-tego stopnia.
Pola klasy to:
int n; - stopień wielomianudouble* coefficients; - tablica współczynników wielomianu
skonstruowana tak, że coefficients[0] oznacza wyraz wolny, coefficients[1]
jest współczynnikiem przy pierwszej potędze x itd.Zaimplementuj następujące funkcje składowe klasy:
Polynomial derivative(); - zwraca wielomian będący pochodną argumentuNapisz następujące operatory zewnętrzne:
Polynomial operator+(const Polynomial&, const Polynomial&); - suma 2 wielomianówPolynomial operator*(const Polynomial&, const Polynomial&); - iloczyn 2 wielomianówostream& operator<< (ostream&, const Polynomial&); - wypisz wielomianFunkcja main() tworzy dwa obiekty typu Polynomial, p1 i
p2, a następnie wypisuje współczynniki wielomianów:
p1(x)p2(x)p1'(x)p2'(x)p1(x) + p2(x)p1(x) * p2(x)