Siemka mam do zrobienie zadanie o takiej treści:
Opracować program, który definiuje klasę LiczbaZespolona o składowych prywatnych Im oraz Re (typu double). Zdefiniować dla tej klasy 3 konstruktory: – bezargumentowy, nadający Im i Re wartość 0.0, – jednoargumentowy, nadający Im i Re taką samą wartość, – dwuargumentowy o argumentach będących wartościami Im i Re.
Program główny tworzy tablicę wskaźników LiczbZespolonych (100 elementów) i umożliwia realizację następujących poleceń:
– N : tworzy dynamicznie liczbę zespoloną i jej wskaźnik wpisuje do tablicy wskaźników (2 argumenty), – R : tworzy dynamicznie liczbę zespoloną i jej wskaźnik wpisuje do tablicy wskaźników (1 argument),
– W : wyświetla wartość liczby zespolonej o podanym indeksie zapisanej w tablicy wskaźników,
– + : oblicza sumę dwu liczb zespolonych, wpisuje wskaźnik liczby wynikowej do tablicy wskaźników i wyświetla indeks nowoutworzonej liczby,
Mój kod wygląda tak, jakby ktoś mógł poprawić, bo przez błąd z tablicą wskaźników nie wiem jak ruszczyć dalej
#include<iostream>
using namespace std;
class Zespolona
{
private:
double Im, Re;
public:
Zespolona()
{
Im = 0.0;
Re = 0.0;
}
Zespolona(double wartosc)
{
Im = wartosc;
Re = wartosc;
}
Zespolona(double Re, double Im){}
Zespolona dodaj(Zespolona z1, Zespolona z2) {
Zespolona wyn;
wyn.Re = z1.Re + z2.Re;
wyn.Im = z1.Im + z2.Im;
return wyn;
}
};
int main()
{
Zespolona *Vector = new Zespolona[100];
int n = 0;
int wybor;
cout << "Wybierz polecenie: " << endl;
cout << "N: utworzenie liczby zespolonej " << endl << "R: utworzenie liczby zespolonej: " << endl;
cout << "W: wyświetla wartość liczby zespolonej o podanym indeksie zapisanej w tablicy" << endl << "+: Suma dwu liczb zespolonych " << endl;
cout << "- : różnica dwu liczb zespolonych " << endl << "* : obicza iloczyn dwu liczb" << endl;
cout << "/ : iloraz dwu liczb zespolonych " << endl;
cin >> wybor;
switch (wybor)
{
case 'N':
{
double im, re;
cout << "Podaj wartość rzeczywistą liczby zespolonej: " << endl;
cin >> re;
cout << "Podaj wartość urojoną liczby zespolonej: " << endl;
cin >> im;
Zespolona *c = new Zespolona(re, im);
Vector[n] = c;
n++;
break;
}
case 'R':
{
double wartosc;
cout << "Podaj wartość " << endl;
cin >> wartosc;
Zespolona *c1 = new Zespolona(wartosc);
Vector[n] = *c1;
n++;
break;
}
case 'W':
{
int index;
cout << "Podaj index liczby, którą chcesz wyświtlić: " << endl;
cin >> index;
//cout << Vector[0];
}
case '+':
{
Zespolona c1, c2;
}