Ten kod jest bardzo brzydki.
Funkcja zwróc niczego nie zwraca, mimo, że deklaruje zwracanie float.
void podaj_liczba()
{
float liczba;
cin >> liczba;
}
{
float liczba;
while (!(cin >> liczba))
{
cin.clear();
cin.ignore(100, '\n');
}
}
Coś Ci się rozjechały klamry tutaj. Dolna część jest poza funkcja.
return strumien << obiekt.zwroc();
wywolujesz funkcje ktora nie istnieje. zwroc przyjmuje 2 argumenty.
Nazwa podaj_liczba jest dziwna. Może wczytaj_liczbe?
Liczba(bool z = 0, int w = 0, float m = 0);
...
Liczba x0(mantysa, wykladnik);
mantysa zostaje zmienną z, wykladnik w.
bool znak;
int wykladnik;
float mantysa;
Liczba x0(mantysa, wykladnik);
po co przesyłasz puste zmienne? Wywołaj konstruktor bez argumentow to będą tam zera.
float zwroc(float mantysa, int wykladnik)
{
cin >> mantysa;
cin >> wykladnik;
po co przesyłasz przez argument zmienne, które mogłyby być zmiennymi lokalnymi w funkcji.
Czemu zwroc nie korzysta z podaj_liczba?