Anfänger braucht Hilfe
-
hallo leute,
wir haben in der hs angefangen c++ zu programieren.
nun sollen wir als 1 aufgabe ein programm schreiben das komplexezahlen
einlesen und mit ihnen rechnen kann.
für 2 zahlen ist das auch kein großes problem doch jetzt soll das
dynamisch dh. ohne eigentliche eingabegrenze laufen ud da bin ich total
überfragt.#include <iostream>
using namespace std;
#define ANZ 2class Komplex{
private:
double real;
double imag;
public:
double schreibeReal(void);
double schreibeImag(void);
void leseZahl(void);
};void Komplex::leseZahl(void){
cin >> real;
cin >> imag;
};double Komplex:: schreibeReal(void){return real;}
double Komplex::schreibeImag(void){return imag;}int main(void)
{
Komplex zahl1,zahl2;
double real, imag;zahl1.leseZahl();
zahl2.leseZahl();real = ( zahl1.schreibeReal() ) + ( zahl2.schreibeReal() );
imag = ( zahl1.schreibeImag() ) + ( zahl2.schreibeImag() );cout << real;
cout << "+J" << imag << endl;}
-
Hallo,
Du kannst einen vector<Komplex> erzeugen und den dann füllen. Zum Eingeben nimm eine while-Schleife, die so lange läuft, wie gültige werte eingegeben werden. Dazu kannst du deine leseZahl() funktion etwas abändern.
bool Komplex::leseZahl(void){ return cin >> real >> imag; }; // gibt jetzt false zurück wenn keine zwei Zhalen angegeben wurden // dann etwa sowas std::vector<Komplex> kompvect; Komplex tmp; while( tmp.leseZahl()) kompvect.push_back(tmp);Bitt verwende das nächste Mal die Code-Tags.