Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <math.h>//biblioteka wykorzystana do liczenia pierwiastka
- using namespace std;
- class Ulamek{
- private:
- int licznik;
- int mianownik;
- //prywatne pola klasy
- public:
- Ulamek(int licznik, int mianownik){//konstruktor parametryzujący
- Ulamek::licznik = licznik;
- Ulamek::mianownik = mianownik;
- }
- Ulamek(){//konstruktor domyślny
- Ulamek::licznik = 0;
- Ulamek::mianownik = 1;
- }
- Ulamek(int licznik){//konstruktor konwertujący
- Ulamek::licznik = licznik;
- Ulamek::mianownik = 1;
- }
- operator double(){//operator konwertujący (gdy wywołujemy funkcję z argumentem double zwraca typ double)
- return (double)licznik/(double)mianownik;
- }
- //settery i gettery
- void setLicznik(int licznik) {
- Ulamek::licznik = licznik;
- }
- void setMianownik(int mianownik) {
- Ulamek::mianownik = mianownik;
- }
- int getMianownik() const {
- return mianownik;
- }
- int getLicznik() const {
- return licznik;
- }
- void wypisz(){//metoda wypisująca wartości
- cout<<licznik<<"/"<<mianownik<<endl;
- }
- bool czyRowne(Ulamek &ulamek){//funkcja porównująca ułamki
- if(Ulamek::licznik*ulamek.mianownik==ulamek.licznik*Ulamek::mianownik) {
- return true;
- }else{
- return false;
- }
- }
- };
- Ulamek dzielenie(const Ulamek& u1, const Ulamek& u2){//funkcja globalna dzielenie
- Ulamek wynik(u1.getLicznik()*u2.getMianownik(),u1.getMianownik()*u2.getLicznik());
- return wynik;
- }
- double pierwiastek(double liczba){//funkcja zwracająca pierwiastek z użyciem biblioteki math.h
- return sqrt(liczba);
- }
- int main(int argc, const char * argv[]) {
- Ulamek ulamek1(2,3);
- Ulamek ulamek2(3,4);
- dzielenie(ulamek1,ulamek2).wypisz();
- dzielenie(ulamek1, 5).wypisz();
- ulamek1.wypisz();
- cout<<"Pierwiastek "<<pierwiastek(ulamek1)<<endl;
- Ulamek ulamek_a(5,10);
- Ulamek ulamek_b(15,30);
- cout<<"Ulamki sa ";
- if(ulamek_a.czyRowne(ulamek_b)){//sprawdzanie rownosci ulamkow
- cout<<"rowne"<<endl;
- } else{
- cout<<"rozne"<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement