C-Uebung

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

Options: