Zusatzaufgabe für Nachzügler zur objekt-orientierten Programmierung in C++
← Zusatzaufgabe #2 | ● | Verkettete Listen →
Erweitern Sie den Mehrheitsentscheid der vorhergehenden Aufgabe durch Ableitung derart, dass nur bestimmte Personen wählen können - wie zum Beispiel bei einer demokratischen Abstimmung im Bundestag. Die Authentifizierung erfolgt durch Angabe von Benutzer-Passwörtern.
Die erweiterte Klasse soll zusätzlich folgende Methoden bieten:
- Definition eines einzelnen Benutzers und seines Passworts
- Durchführung eines einzelnen Votums unter Angabe von Benutzername und Passwort
- Überladen Sie den << Operator für die Klasse, so dass das Ergebnis des Mehrheitsentscheids mit diesem Operator ausgegeben werden kann.
Zu testender Probelauf: Eine Wahl mit 2 Optionen und folgenden zugangsberechtigten Personen / Passwörtern:
- Angela Merkel / Bundeskanzlerin
- Ursula von der Leyen / Ministerin fuer Arbeit
- Kristina Schroeder / Ministerin fuer Familie
- Ilse Aigner / Ministerin fuer Ernaehrung
- Sabine Leutheusser-Schnarrenberger / Ministerin der Justiz
- Anette Schavan / Ministerin fuer Bildung
und folgenden abgegebenen Wahlstimmen
- Angela Merkel / Bundeskanzlerin / Option Nr. 1
- Ursula von der Leyen / Ministerin fuer Arbeit / Option Nr. 2
- Angela Merkel / Doppelgaengerin / Option Nr. 2
- Kristina Schroeder / Ministerin fuer Familie / Option Nr. 2
- Ilse Aigner / Ministerin fuer Essen / Option Nr. 1
- Angela Merkel / Bundeskanzlerin / Option Nr. 1
- Anette Schavan / Ministerin fuer Bildung / Option Nr. 2
- Sabine Leutheusser-Schnarrenberger / Ministerin der Justiz / Option Nr. 3
- Hannelore Kraft / Ministerpräsidentin / Option Nr. 1
ergibt als Mehrheitsentscheid die Wahl von Option Nr. 2, da fünf Stimmen wegen fehlender oder falscher Zugangsberechtigung oder doppelter oder falscher Stimmabgabe ungültig waren.
Hinweise zur Bearbeitung:
- Der STL-Datentyp
std::string
soll für die Benutzer-Kennung und das Passwort verwendet werden. - Der STL-Datentyp
std::map
soll zur Speicherung der einzelnen Benutzer-Passwörter-Paare (key-value pairs) verwendet werden.
Q Welche Lösung bietet sich an, wenn der Mehrheitsentscheid unentschieden ausgeht?
← Zusatzaufgabe #2 | ● | Verkettete Listen →