Wie spricht man richtig struct Elemente an?



    1. Deklaration des Structs gehört außerhalb der Funktion main.
    2. Du deklarierst ein Array von 4 mal "Dieseltyp" mit dem Identifier "Diesel", sprichst aber immer den Identifier "diesel" an. C++ ist case-sensetive.


  • Mehrere Fehler:

    1. Es heißt int main() , und nicht nur main
    2. GesamtDiesel = (diesel[1] + diesel[2] + diesel[3] + diesel[3]);
    Zum einen muss diesel groß geschrieben werden, zum anderne addierst du hier direkt Objekte vom Typ Dieseltyp , du möchtest aber wahrscheinlich eher deren liter Wert addieren.
    Du musst also schreiben: GesamtDiesel = (Diesel[1].liter + Diesel[2].liter + Diesel[3].liter + Diesel[3].liter);
    3. diesel.preisproliter[0]
    Zum einen wieder die Großschreibung vergessen, zum anderen musst du zuerst den Index im Array angeben und danach den Namen der Memebervariable, also wieder:
    Diesel[0].preisproliter

    hat mit c++ wenig bis nix zu tun, sonst wäre dieseltyp eine klasse...

    Quatsch, class und struct sind bis auf die Standardsichtbarkeit exakt gleich.



  • ... schrieb:

    Quatsch, class und struct sind bis auf die Standardsichtbarkeit exakt gleich.

    Exakt und von mir z.B. öfter verwendet als class 😉 (Aus faulheit jedesmal public: schreiben zu müssen :p )



  • evilissimo schrieb:

    ... schrieb:

    Quatsch, class und struct sind bis auf die Standardsichtbarkeit exakt gleich.

    Exakt und von mir z.B. öfter verwendet als class 😉 (Aus faulheit jedesmal public: schreiben zu müssen :p )

    Ein Programmiere sollte nicht faul sein,
    sei stolz und benutze struct nur, wenn du es
    wirklich brauchst. Nicht aus faulheit.

    /Glacier



  • glacier_ schrieb:

    Ein Programmiere sollte nicht faul sein,

    Grundsätzlich schon....

    sei stolz und benutze struct nur, wenn du es
    wirklich brauchst. Nicht aus faulheit.

    Das hat nichts mit Stolz zu tun, höchstens mit Konventionen. Sonst ist struct an Stelle voon class völlig legitim.



  • Ein Programmiere sollte nicht faul sein,
    sei stolz und benutze struct nur, wenn du es
    wirklich brauchst. Nicht aus faulheit.

    Wer ist fauler: Jemand der stupide einem Dogma folgt oder jemand der sich überlegt, ob er private: wirklich braucht?
    Denk mal drüber nach.

    Ach übrigens: Der Mensch ist von Grund auf faul - vermutlich ein Nebeneffekt der Intelligenz. Wäre der Mensch nicht faul, liefe er wahrscheinlich immer noch mit Lendschurz durch die Savanne und jagte Elefanten.

    ...



  • > Der Mensch ist von Grund auf faul - vermutlich ein Nebeneffekt der Intelligenz.

    Meine Katze ist auch verdammt faul, nur nicht sonderlich intelligent. 🤡



  • Hallo @all!

    Vielen lieben Dank für eure Hilfe! Ich probiere es gleich morgen aus und melde mich.

    Bis dahin viele Grüße
    KaTinka



  • "Sehr geehrte Damen und Herren" ...

    Sorry, der musste sein 😉



  • Hallo@all,

    ich habe den Code mit Eurer Hilfe ... 😃 ...
    nun zu einer lauffähigen Version geändert

    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    #include <iostream>
    using namespace std;

    int main()
    {

    struct Dieseltyp
    { float liter ;
    float preisproliter;
    };

    double GesamtDiesel;
    float Dieselpreis;
    float Oelmenge;
    float Gesamtkosten;
    float Reifenkosten;
    float Reperaturkosten;
    float Versicherungskosten;
    float KfZSteuer;

    cout << "Oelmenge :";
    cin >> Oelmenge;

    cout << "Reifenkosten:";
    cin >> Reifenkosten;

    cout << "Reparaturkosten:";
    cin >> Reperaturkosten;

    cout << "Versicherungskosten:";
    cin >> Versicherungskosten;

    cout << "KfZ-Steuer:";
    cin >> KfZSteuer;

    float Oelpreis = 5.67;

    Dieseltyp Diesel [4] = {
    (4258.00 , 1.53),
    (3987.00 , 1.62),
    (4813.00 , 1.57),
    (4353.00 , 1.65)

    };

    GesamtDiesel = (Diesel[0].liter + Diesel[1].liter + Diesel[2].liter +
    Diesel[3].liter);

    Dieselpreis = 0.25 * (Diesel[0].preisproliter + Diesel[1].preisproliter +
    Diesel[2].preisproliter + Diesel[3].preisproliter) ;

    Gesamtkosten = (GesamtDiesel*Dieselpreis) + (Oelmenge*Oelpreis) + Reifenkosten + Reperaturkosten + Versicherungskosten + KfZSteuer;

    cout<<"Gesamtkosten:" << Gesamtkosten;

    system ("pause");

    }
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Aber: Das Ergebnis ist doch irgendwie nicht ganz das, was es sein sollte..?
    Das Ziel ist ja: Die einzelnen Dieselliterwerte zu einem durchschnittlichem "preisproliter" zu berechnen.

    mhh.... 😞 Hilfe !

    Vielen Dank für Eure Mühe und liebe Grüße
    KaTinka


Anmelden zum Antworten