Vektorlängenberechner (Was hätte ich besser machen können?)
-
Hallo
Hab da mal en kleines Programm geschrieben, sieht für einige zwar einfach aus aber für mich wars schwer

Was hätte ich denn besser machen können?
// Programm zum Berechnen der Länge eines Vektors. #include <iostream> #include <cmath> using namespace std; void gruss() // Begrüßung. { cout << endl; cout << "Programm zum berechnen der Vektorlänge" << endl; cout << endl; } struct Vektoraufbau // Speicher für die Vektoren. { double x1; // X-Wert vom 1. Vektor. double y1; // Y-Wert vom 1. Vektor. double x2; // X-Wert vom 2. Vektor. double y2; // Y-Wert vom 2. Vektor. double ergebnis; // Die Länge des Vektors. }; class Vektorstruktur { public: Vektoraufbau Vektor; void Vektoreingabe() // Hier werden die Vetkoren eingegeben. { cout << "Geben Sie den X-Wert vom 1. Vektor ein: "; cin >> Vektor.x1; cout << "Geben Sie den Y-Wert vom 1. Vektor ein: "; cin >> Vektor.y1; cout << endl; cout << "Geben Sie den X-Wert vom 2. Vektor ein: "; cin >> Vektor.x2; cout << "Geben Sie den Y-Wert vom 2. Vektor ein: "; cin >> Vektor.y2; cout << endl; cout << "Der 1. Vektor hat die Koordinaten (" << Vektor.x1 << "|" << Vektor.y1 << ")." << endl; cout << "Der 2. Vektor hat die Koordinaten (" << Vektor.x2 << "|" << Vektor.y2 << ")." << endl; } void Vektorberechnung() // Hier wird die Länge des Vektor berechnet. { Vektor.ergebnis = sqrt((Vektor.x2 - Vektor.x1)*(Vektor.x2 - Vektor.x1) + (Vektor.y2 - Vektor.y1)*(Vektor.y2 - Vektor.y1)); cout << endl; cout << "Die Länge des Vektors beträgt: " << Vektor.ergebnis << endl; cout << endl; } }; int main() { Vektorstruktur v; gruss(); v.Vektoreingabe(); v.Vektorberechnung(); return 0; }Danke

-
abend!
ist denn gruss() nötig?
des kann man doch auch einfach so in die main reinschreiben

[cpp]int main () {
cout<<"Programm zum Berechnen der Vektorlae(!)nge"<<endl;
//..
}
[/cpp]
"ä" macht in der konsole afaik nen fehler weil die des ned kennt
so far
-
Hallo

Danke für die Tipps. Also den Gruß hab ich entfernt, steht jetzt einfach in der int main
Hmm also bei mir wird das ä ohne Probleme erkannt, kann daran liegen das ich Linux benutz (g++ compiler), aber keine Ahnung, immerhin gehts 
Gruß
-
Hallo,
Also mir fallen nur noch so ein paar Kleinigkeiten auf:
- gruss() würde ich mit einem Großbuchstaben beginnen lassen, da du die anderen Funktionen auch so benannt hast.
- Vektor würde ich dementsprechend mit einem Kleinbuchstaben beginnen lassen, da du die Anderen Variablen auch so benannt hast.
- "Vektor" als Name einer Instanz von "Vektoraufbau", finde ich nicht ganz passend, denn eigentlich sind es ja 2 Vektoren, oder?
- Vektor sollte privat sein.
- Die Funktionen in der Klasse würde ich einrücken. (also alles was nach public: bzw. privat: steht ein Level nach rechts)
- return 0; bei main nicht notwendig, geschieht automatisch. (Ist aber auch die einzige Funktion bei der das so ist.)Das mit der Konsole stimmt, unter Linux kann die UTF-8:
$ cat main.cpp
#include <iostream>
int main() { std::cout << "ᚠᛇᚻ᛫ᛒᛦᚦ" << std::endl; }
$ g++ main.cpp && ./a.out
ᚠᛇᚻ᛫ᛒᛦᚦ:p
mfg.
-
Naja, "gruss()"/"Gruss()" könnte man schon in einer eigenen Funktion belassen, gibt weniger Code in der main, vor allem wenn der Gruß vielleicht noch mal länger werden soll

Ich würde auch einen Vektor in eine Klasse packen, also nix mit "Vektoraufbau" und "Vektorberechnung", also nur "class Vector"/"class Vektor".
-
Hallo
Danke für die Tipps
Werde es mal umsetzen 
Gruß