Domanda

Ho appena scaricato OpenSTV dopo aver visto il più recente post SO blog, per quanto riguarda i risultati delle elezioni moderatore. Jeff ha scritto che ha usato OpenSTV per condurre le elezioni, e ha fornito un file di scheda elettorale (.blt) con esso che contiene i dati di voto.

La mia domanda è: come si fa a creare un file .blt in C #

?

Qui ci sono due modi in cui posso pensare che la pagina di voto lo ha fatto:

  • La pagina di votazione aggiunti ogni voto in un database SQL, e quindi in qualche modo, questi voti sono stati esportati in un file .blt dopo la votazione era finita. Come però? Come posso fare questo?
  • In alternativa, la pagina di voto ha creato il file e quindi aggiunto ad esso ogni volta che qualcuno ha votato. Sono sicuro che questo non è come la pagina di voto ha funzionato, perché è completamente unscalable, ma come potrei fare questo in C #?

Sono interessato a scoprire come funzionano entrambe le possibilità e come posso farlo in C #. Grazie in anticipo. Oh, e spero che Jeff vede questa domanda, perché non aveva probabilmente hanno una grande risposta ...

È stato utile?

Soluzione

La migliore spiegazione del formato di file BLT è qui:

    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

Tutto quello che ho fatto è stato

  1. Eseguire una query ad-hoc in SQL Management Studio per ottenere i risultati di voto
  2. Risultati di copia-incollato in un file di testo (uscita è delimitato da tabulazioni di default)
  3. ha scritto un piccolo 50 linea C # app convertire da query in formato BLT
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top