Die Nachtschwärmer

Status
Für weitere Antworten geschlossen.
Eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Für mehr Informationen besuche die Datenschutz-Seite.


Awwwwwwwww!
 
DU WILLST DOCH NUR ZUERST SCHICKEN!

BzdAZ6a.jpg


kann ja wohl nich angehn, versteckt sich hinter seinem eigenem post.... SKANDAL!!!!!!
 
Mit Gummies hat auch Vorteile!
Eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Für mehr Informationen besuche die Datenschutz-Seite.
 
wir sollten mal wieder zum tagesgeschäft übergehen ^^

my1RcD2.jpg
 
Eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Für mehr Informationen besuche die Datenschutz-Seite.
 
Code:
#include "complexNumber.h"
#include <cmath>
#include "compare.h"


bool compare(double);

ComplexNumber::ComplexNumber(){
 realPart = 0.0;
 imaginaryPart = 0.0;
};
//Constructor, which get real and imaginary part of the complex pumber
 ComplexNumber::ComplexNumber(double real, double imag){
 	realPart = real;
 	imaginaryPart = imag;};

//Setter for the imaginary part
 void ComplexNumber::set_imaginaryPart(double imag){
 	this->imaginaryPart = imag;
 	};

//Setter for the real part
 void ComplexNumber::set_realPart(double real){
 	this->realPart = real;
 };

//Getter for the imaginary part
 double ComplexNumber::get_imaginaryPart(){
 	return this->imaginaryPart;};

//Getter for the real part
	double ComplexNumber::get_realPart(){
 	return this->realPart;};

//Getter for the angle in degree
	double ComplexNumber::get_angle(){
 	double imag = this->imaginaryPart;
 	double real = this->realPart;
 	double angle;
 	angle = atan2(imag,real) * (180/PI);
 	return angle;
 	};

//Getter for the pointer Length / the absolute of the complex number
	double ComplexNumber::get_pointerLegnth(){
 	double imag = this->imaginaryPart;
 	double real = this->realPart;
 	double pointerLength;
 	pointerLength = sqrt((real * real) + (imag * imag));
 	return pointerLength;
	};
//Overwritten '+'-operator

 ComplexNumber operator+(ComplexNumber cn1, ComplexNumber cn2)
	{
 	ComplexNumber sum;
 	sum.imaginaryPart = cn1.imaginaryPart + cn2.imaginaryPart;
 	sum.realPart = cn1.realPart + cn2.realPart;
 	return sum;
	};
//Overwritten '-'-operator

 ComplexNumber operator-(ComplexNumber cn1, ComplexNumber cn2)
	{
 	ComplexNumber difference;
 	difference.imaginaryPart = cn1.imaginaryPart - cn2.imaginaryPart;
 	difference.realPart = cn1.realPart - cn2.realPart;
 	return difference;
	};

/* Overwritten '*'-operator. The formula for a complex multiplication is:
 * (a+jb)*(c+jd) = (ac-bd)+j(ad+bc)
 */

 ComplexNumber operator*(ComplexNumber cn1, ComplexNumber cn2)
	{
 	ComplexNumber product;
 	double a = cn1.realPart;
 	double b = cn1.imaginaryPart;
 	double c = cn2.realPart;
 	double d = cn2.imaginaryPart;
 	product.realPart = ((a*c) - (b*d));
 	product.imaginaryPart = ((a*d) + (b*c));
 	return product;
	};

/* Overwritten '/'-operator. The formula for a complex multiplication is:
 * (a+jb)/(c+jd) = ac+bd bc-ad
 * 	----- + ----- j
 * 	c²+d² c²+d²
 */
 
 ComplexNumber operator/(ComplexNumber cn1, ComplexNumber cn2)
	{
 	ComplexNumber quotient;
 	double a = cn1.realPart;
 	double b = cn1.imaginaryPart;
 	double c = cn2.realPart;
 	double d = cn2.imaginaryPart;
 	double e = (c*c) + (d*d);
 	bool error = false; 
 	error = compare(e);
 	if(error == true)
 	{
 	throw new ExceptionDividedByZero();
 	}
 	else
 	{
 	quotient.realPart = ((a*c) + (b*d)) / e;
 	quotient.imaginaryPart = ((b*c) + (a*d)) / e;
 	return quotient;
 	}
	};

 ComplexNumber operator~(ComplexNumber cn1)
 {
 	ComplexNumber invers;
 	invers.realPart = (-1)*cn1.realPart;
 	invers.imaginaryPart = (-1)*cn1.imaginaryPart;
 	return invers;
 };

 std::ostream& operator<<(std::ostream& ostr, const ComplexNumber& c)
{
ostr << c.realPart << "+j" << c.imaginaryPart;
return ostr;
}

Edit: Ne Übungsaufgabe ausm 2ten Semester. In C++ sehen selbst Banalitäten nach viel aus. ^^
 
Zuletzt bearbeitet von einem Moderator:
I have no idea what I just read.

Die Implementierung davon:
Code:
#include <iostream>
#include <cstdlib>
#include "exceptionClass.h"
#ifndef _COMPLEXNUMBER_H_
#define _COMPLEXNUMBER_H_
#define TOLERANCE 0.0001
#define PI 3.141592

class ComplexNumber
{
private:

 double realPart;
 double imaginaryPart;

public:

 ComplexNumber();
 ComplexNumber(double, double); 

 void set_imaginaryPart(double);
 void set_realPart(double);

 double get_imaginaryPart(void);
 double get_realPart(void);
 double get_angle(void);
 double get_pointerLegnth(void);

 friend ComplexNumber operator+(ComplexNumber, ComplexNumber);
 friend ComplexNumber operator-(ComplexNumber, ComplexNumber);
 friend ComplexNumber operator*(ComplexNumber, ComplexNumber);
 friend ComplexNumber operator/(ComplexNumber, ComplexNumber);
 friend ComplexNumber operator~(ComplexNumber);
 friend std::ostream& operator<<(std::ostream& ostr, const ComplexNumber&);
};

ComplexNumber operator+(ComplexNumber, ComplexNumber);
ComplexNumber operator-(ComplexNumber, ComplexNumber);
ComplexNumber operator/(ComplexNumber, ComplexNumber);
ComplexNumber operator~(ComplexNumber);

#endif
 
Ein bisschen was versteh ich mit meinen rostigen Informatik-Skills aus der Schule noch, aber viel nicht.
Immerhin hätte ich erkannt dass es irgendeine C-Sprache ist
 
I have no idea what I just read.
Ich mach gerade aber auch was schönes

Eingebundener Inhalt
An dieser Stelle findest du externe Inhalte von Youtube. Zum Schutz deiner persönlichen Daten werden externe Einbindungen erst angezeigt, wenn du dies durch Klick auf "Alle externen Inhalte laden" bestätigst: Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit werden personenbezogene Daten an Drittplattformen übermittelt.
Für mehr Informationen besuche die Datenschutz-Seite.
 
Status
Für weitere Antworten geschlossen.
Zurück