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ß


Anmelden zum Antworten