Kurs ANSI C z elementami C++ Lista zadań 11 21.12.2006
Transkrypt
Kurs ANSI C z elementami C++ Lista zadań 11 21.12.2006
Kurs ANSI C z elementami C++ Lista zadań 11 21.12.2006 Uwaga - zadania należy wykonać w C++. (15/0) 1. Napisz klasę Liczba, umożliwiającą przechowywanie liczby w postaci rzymskiej (http://pl.wikipedia.org/wiki/Liczby_rzymskie) i arabskiej. class Liczba { public: Liczba(char*rzymska); Liczba(int arabska); void Set(char*rzymska); void Set(int arabska); char* GetR(); int Get(); void Pisz(bool bRzymska); }; Następnie napisz program testujący umożliwiający interaktywną konwersję pomiędzy dwoma reprezentacjami liczb. (15/10) 2. Napisz klasę Ulamek, przechowujący liczby w postaci licznika i mianownika, przeciąż operatory +,-,/,*,^. Po każdej operacji ułamek powinien być w postaci w której NWD(licznik,mianownik)==1, czyli ½ zamiast 44/88, 2 zamiast 14/7. Napisz program testowy (nie koniecznie interaktywny), prezentujący tworzenie, działania na, oraz wypisywanie ułamków. (20/20) 3. Zaimplementuj klasę CString reprezentującą łańcuch znaków posiadającą następujące metody: 1. konstruktor bezparametrowy 2. konstruktor tworzący łańcuch ze wskaźnika do znaku 3. destruktor 4. jak długi jest łańcuch? 5. czy łańcuch jest pusty? 6. operator przypisania 7. operator rzutowania na wskaźnik do stałego znaku 8. operator << łączący dwa łańcuchy class CString { char *buff; public: CString(); CString(const char *s); ~CString(); int Length(); bool isEmpty(); CString &operator = (CString &s); operator const char *(); CString operator << (CString &s); }; Autorem zadania 3 jest miguel.