Frage

Ich heruntergeladen OpenSTV gerade nach der jüngsten SO Blog-Post zu sehen, in Bezug auf die Ergebnisse der Moderators Wahl. Jeff schrieb, dass er OpenSTV verwendet, um die Wahl zu leiten, und lieferte eine Stimmzettel-Datei (.blt) zusammen mit ihm, der die Abstimmungsdaten enthält.

Meine Frage ist: Wie kann man eine .blt Datei in C #

Es gibt zwei Wege, dass ich denken kann, dass die Abstimmungsseite tat es:

  • Die Abstimmung Seite hinzugefügt jede Stimme in eine SQL-Datenbank, und dann irgendwie waren diese Stimmen in eine .blt Datei exportiert nach der Abstimmung beendet war. Wie hart? Wie kann ich das tun?
  • Oder erstellt die Abstimmungsseite die Datei und dann, um es jedes Mal, wenn jemand gewählt worden. Ich bin sicher, dass dies nicht der Fall, wie die Abstimmungsseite gearbeitet, weil es völlig unscalable ist, aber wie kann ich das in C #?

Ich bin bei der Suche nach interessiert, wie die beiden Möglichkeiten arbeiten und wie kann ich tun, dass in C #. Danke im Voraus. Oh, und ich hoffe, Jeff diese Frage sieht, weil er wahrscheinlich eine große Antwort haben würde ...

War es hilfreich?

Lösung

Die beste Erklärung des BLT-Dateiformates ist hier:

    4 2          # four candidates are competing for two seats
    -2           # Bob has withdrawn (optional)
    1 4 1 3 2 0  # first ballot
    1 2 4 1 3 0
    1 1 4 2 3 0  # The first number is the ballot weight (>= 1).
    1 1 2 4 3 0  # The last 0 is an end of ballot marker.
    1 1 4 3 0    # Numbers in between correspond to the candidates
    1 3 2 4 1 0  # on the ballot.
    1 3 4 1 2 0
    1 3 4 1 2 0  # Chuck, Diane, Amy, Bob
    1 4 3 2 0
    1 2 3 4 1 0  # last ballot
    0            # end of ballots marker
    "Amy"        # candidate 1
    "Bob"        # candidate 2
    "Chuck"      # candidate 3
    "Diane"      # candidate 4
    "Gardening Club Election"  # title

Alles, was ich tat, war

  1. Führen Sie eine Ad-hoc-Abfrage in SQL Management Studio die Abstimmungsergebnisse zu erhalten
  2. Kopieren-Einfügen Ergebnisse in eine Textdatei (Ausgang durch Tabulatoren getrennte Standardeinstellung)
  3. Schrieb eine kleine Zeile 50 C # app zu konvertieren aus der Abfrage zu BLT-Format
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top