Vektor u. Schleifen



  • Hallo,
    aktuell studiere ich im ersten Semester Wirtschaftsinformatik und brauche dringend Hilfe um eine Aufgabe zu lösen.
    Ich habe es schon mehrere Stunden versucht, komme aber leider auf keine Lösung.😞
    Die Aufgabe lautet wie folgt:
    Es sollen beliebig viele Unternehmen und dazugehörige Werte in der main()-Funktion eingelesen werden.
    Danach soll ausgewählt werden können, welche Unternehmen in der Berechnung betrachtet werden sollen.
    Außerdem soll eine bestimmte Meldung erscheinen, wenn kein Unternehmen gespeichert wurde oder keines zum Vergleich gewählt wurde.
    Ich hoffe Ihr könnt mir weiterhelfen.
    Soweit bin ich bisher gekommen:

    #include <iostream>
    #include <vector>
    
    using namespace std;
    
    int main()
    {
    
        cout << "Wie viele Unternehmen gibt es? ";
        int Zahl;
        cin >> Zahl;
        vector <string> Unternehmen(Zahl);
        vector <int> Wert(Zahl);
    
        int index = 0;
        while ( index < Unternehmen.size() )
        {
            cout << "Geben Sie das Unternehmen ein. ";
            cin >> Unternehmen[index];
            cout << "Geben Sie den dazugehoerigen Wert ein. ";
            cin >> Wert[index];
    
            index = index + 1;
        }
        cout << endl;
    


  • Du hast keine Frage gestellt.



  • Deine scheinbar frei formulierte Aufgabenstellung ist etwas dürftig.
    Was ist "die Berechnung" und wie sollen Unternehmen ausgewählt werden? Über einen Index oder Namen?
    Die Meldung kannst du ausgeben, wenn size() 0 ist (für Unternehmen bzw. UnterrnehmenAuswahl).



  • Also es wird verlangt,

    1. Beliebig viele Unternehmen und Aktienwerte sollen in der main Funktion über die Console eingelesen werden
    2. Sollen bestimmte Unternehmen zur Berechnung betrachtet werden. Nur die ich in der Berechnung haben will sollen berechnet werden.

  • Mod

    Was du brauchst ist eine Beziehung zwischen den Unternehmen (oder genauer: Dem Namen eines Unternehmens) und den zugehörigen Aktienwerten. Also eine Abbildung (im mathematischen Sinne) zwischen Unternehmensdaten und den zugehörigen Werten. Auf Englisch würde man sagen "mapping between company name and stock values". Nun gibt es in C++ die schöne Containerklasse std::map. Rate mal, was die macht 🙂

    Soll der Aktienwert wirklich nur ein einzelner int sein? Das klingt für mich eher so, als solle das eine beliebige Anzahl von Werten sein, also eine ganzer vector von ints. Wie auch immer du die Aufgabenstellung interpretierst, std::map kann sowieso (fast) beliebige Datentypen auf andere Datentypen abbilden, insofern wäre es egal, ob du von einem string auf int oder von einem string auf vector<int> mappst. Wobei es von der Nutzerführung wahrscheinlich einfacher ist, mit nur einem int anzufangen, wenn das läuft, kannst du es dann erweitern.


Log in to reply