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:
void print();
- drukuj wielomianPolynomial derivative();
- zwraca wielomian będący pochodną argumentuNapisz następujące funkcje zewnętrzne:
Polynomial add(const Polynomial&, const Polynomial&);
- suma 2 wielomianówPolynomial multiply(const Polynomial&, const Polynomial&);
- iloczyn 2 wielomianówFunkcja main()
tworzy dwa obiekty typu Polynomial, p1 i
p2
, a następnie drukuje współczynniki wielomianów:
p1(x)
p2(x)
p1'(x)
p2'(x)
p1(x) + p2(x)
p1(x) * p2(x)