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,
- Beliebig viele Unternehmen und Aktienwerte sollen in der main Funktion über die Console eingelesen werden
- Sollen bestimmte Unternehmen zur Berechnung betrachtet werden. Nur die ich in der Berechnung haben will sollen berechnet werden.
-
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 machtSoll 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 ganzervector
vonint
s. 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 einemstring
aufint
oder von einemstring
aufvector<int>
mappst. Wobei es von der Nutzerführung wahrscheinlich einfacher ist, mit nur einemint
anzufangen, wenn das läuft, kannst du es dann erweitern.