Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Zadania C++


Rekomendowane odpowiedzi

Opublikowano

Mam do napisania sprawdzian w szkole (podstawowy zakres) a nie za bardzo jeszcze ogarniam programowanie obiektowe w C++.

Posiadam przykładowe zadania od nauczyciela prosiłbym kogoś żeby mi napisał 8 zadań, żebym mógł uczyć się na przykładach.

Pracuję w kompilatorze Geany :)

 

 

Zadania.pdf

Opublikowano
#include <iostream>
using namespace std;


class UlamekZwykly
{
private:
int licznik, mianownik;
public:
UlamekZwykly(int _licznik, int _mianownik): licznik(_licznik), mianownik(_mianownik) {} // dodaj sobie że mianownik nie może być zerem
UlamekZwykly(float dziesietny);
inline int zwrocLicznik(){return licznik;}
inline int zwrocMianownik(){return mianownik;}
inline int zwrocCalkowita(){return int(licznik/mianownik);}
inline float zwrocRzeczywisty(){return float(licznik) / float(mianownik);}
};


int NWD(int a, int 
{
int c;
while(b != 0)
{
c = a % b;
a = b;
b = c;
}
return a;
}


UlamekZwykly::UlamekZwykly(float dziesietny)
{
int ile = 0;
float temp = 0;
int kopia_dziesietny = dziesietny;
while(dziesietny != int(dziesietny))
{
dziesietny = dziesietny * 10;
ile++;
}
licznik = dziesietny - int(kopia_dziesietny)*ile*10;
mianownik = 1;
for(int i = 0; i < ile; i++)mianownik*=10;


int nwd = NWD(licznik, mianownik);
if(int(kopia_dziesietny) >= 1)
licznik = mianownik * int(kopia_dziesietny) + licznik;
licznik = licznik / nwd;
mianownik = mianownik / nwd;
}


int main()
{
UlamekZwykly pierwszy(2,5);
UlamekZwykly drugi(7,5);
UlamekZwykly trzeci(7.200);


cout << "Ulamek pierwszy[licznik/mianownik]: " << pierwszy.zwrocLicznik() << "/" << pierwszy.zwrocMianownik()<< "\n";
cout << "Ulamek drugi[licznik/mianownik]: " << drugi.zwrocLicznik() << "/" << drugi.zwrocMianownik() << "\n";
cout << "Ulamek trzeci[licznik/mianownik]: " << trzeci.zwrocLicznik() << "/" << trzeci.zwrocMianownik() << "\n";


cout << "Ulamek pierwszy: zwrocCalkowita | zwrocRzeczywisty: " << pierwszy.zwrocCalkowita() << " | " << pierwszy.zwrocRzeczywisty() << "\n";
cout << "Ulamek drugi: zwrocCalkowita | zwrocRzeczywisty: " << drugi.zwrocCalkowita() << " | " << drugi.zwrocRzeczywisty() << "\n";
cout << "Ulamek trzeci: zwrocCalkowita | zwrocRzeczywisty: " << trzeci.zwrocCalkowita() << " | " << trzeci.zwrocRzeczywisty() << "\n";


cin.sync();
cin.get();
return 0;
}


#Edit -> jak na tak duże forum to lipne macie wstawianie tych kodów, niweluje wszystkie wcięcia w kodzie ><

Opublikowano

tak sie składa że to Twoja wina :)

Tak się składa, że jest to wina forum. Bo podczas edycji kodu często są niwelowane białe znaki z początku każdej linii. Po co taki ficzer?

Opublikowano

Dzięki wielkie Squezee :)

Muszę to ogarnąć i jakoś dam rade :)

Wcięcia sobie porobię bo to mi wychodzi najlepiej z pisania takich kodów :D

Opublikowano

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...