mit struct höchsten und niedrigsten wert addieren?



  • Ich möchte mithilfe von struct
    also

    struct Quadrat {
    	float laenge;
    	float breite;
    	float hoehe;
    };
    

    die länge, breite und höhe eingeben und dann den höchsten und niedrigsten wert addieren doch ich bin nicht besonders gut mit Strukturen. Kann mir jemand da weiterhelfen



  • ich habe bisher das:

    #include <iostream>
    
    using namespace std;
    
    struct Quadrat {
    	float laenge;
    	float breite;
    	float hoehe;
    	
    };
    
    
    
    
    
    int main()
    {
    	int erste = 0;
    	int zweite = 0;
    	int dritte = 0;
        float summe;
    
    	Quadrat p;
    
    	std :: cout << "Gib Laenge, Breite und Hoehe ein: " << endl;
        std::cout << "Laenge: ";
        std::cin >> p.laenge;
        std::cout << "Breite: ";
        std::cin >> p.breite;
        std::cout << "Hoehe: ";
        std::cin >> p.hoehe;
    
        if (p.laenge <= p.breite)
        {
            if (p.laenge <= p.hoehe)
            {
                erste = p.laenge;
                if (p.breite <= p.hoehe)
                {
                    zweite = p.breite;
                    dritte = p.hoehe;
                }
                else
                {
                    dritte = p.breite;
                    zweite = p.hoehe;
                }
            }
            else
            {
                zweite = p.laenge;
                if (p.breite <= p.hoehe)
                {
                    erste = p.breite;
                    dritte = p.hoehe;
                }
                else
                {
                    dritte = p.breite;
                    erste = p.hoehe;
                }
            }
        }
        else
        {
            if (p.laenge <= p.hoehe)
            {
                zweite = p.laenge;
                if (p.breite <= p.hoehe)
                {
                    erste = p.breite;
                    dritte = p.hoehe;
                }
            }
            else
            {
                dritte = p.laenge;
                if (p.breite <= p.hoehe)
                {
                    erste = p.breite;
                    zweite = p.hoehe;
                }
                else
                {
                    zweite = p.breite;
                    erste = p.hoehe;
                }
            }
        }
    
        float summe = erste + dritte;
        std::cout << summe;
    
    
    
    
    	return 0;
    }
    

    Aber irgendwas muss da falsch sein



  • Finde Minimum und Maximum getrennt.

    min = laenge:
    if (breite < min) min = breite;
    if (hoehe < min) min = hoehe ;
    

    Entsprechend für das Maximum

    Benutze Funktionen,
    Deine Struct beschreibt einen Quader, kein Quadrat,



  • @KarlSr sagte in mit struct höchsten und niedrigsten wert addieren?:

    struct Quadrat {
    float laenge;
    float breite;
    float hoehe;
    };

    Mal was zum Naming: für ein Quadrat brauchst du nur eine Seitenlänge zu speichern. Ein Quadrat ist außerdem nicht dreidimensional. In 2d heißt das Dingen mit rechten Winkeln, wo Länge und Breite auch unterschiedlich sein dürfen (aber nicht müssen) Rechteck. In 3d ist das Dingen, wo alle Seiten gleich lang sind, ein Würfel und wenn das, was du meinst, ist ein Quader.

    Das mag dir jetzt kleinlich erscheinen, aber je mehr "kleine" falsche Namen du hast, desto schlechter wird das gesamte Programm lesbar. Von daher ist es schon von Anfang an wichtig, Dinge korrekt zu benennen. Generell bevorzuge ich englische Namen im Quelltext. Ein Quader ist ein cuboid, aber du kannst das Ding auch z.B. einfach Box nennen.


Log in to reply