Comment puis-je générer des fichiers .blt pour les élections OpenSTV utilisant C #?

StackOverflow https://stackoverflow.com/questions/2233695

  •  19-09-2019
  •  | 
  •  

Question

Je viens de télécharger OpenSTV après avoir vu le dernier billet de blog SO, en ce qui concerne les résultats de l'élection du modérateur. Jeff a écrit qu'il a utilisé OpenSTV pour mener l'élection, et a fourni un fichier de vote (de .blt) avec elle qui contient les données de vote.

Ma question est: comment créer un fichier .blt en C #

?

Voici deux façons que je peux penser que la page de vote a fait:

  • La page de vote ajouté chaque vote dans une base de données SQL, puis en quelque sorte, ces votes ont été exportés dans un fichier .blt après le vote avait pris fin. Comment bien? Comment puis-je faire?
  • Ou, la page de vote a créé le fichier, puis ajouté à ce chaque fois que quelqu'un a voté. Je suis sûr que ce n'est pas comment la page de vote a fonctionné, car il est complètement infranchissable, mais comment pourrais-je faire cela en C #?

Je suis intéressé à savoir comment les deux possibilités fonctionnent et comment je peux le faire en C #. Merci d'avance. Oh, et j'espère que Jeff voit cette question, parce qu'il avait probablement une excellente réponse ...

Était-ce utile?

La solution

La meilleure explication du format de fichier BLT est ici:

    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

Tout ce que je faisais était

  1. Effectuer une requête ad-hoc dans SQL Management Studio pour obtenir les résultats de vote
  2. Résultats collé copie dans un fichier texte (sortie est délimité par des tabulations par défaut)
  3. une petite 50 Wrote ligne C # app pour convertir la requête au format BLT
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top