Как я генерирую.BLT файлы для выборов OpenSTV с помощью C#?

Я просто загрузил OpenSTV после наблюдения нового ТАК сообщение в блоге, относительно результатов выборов модератора. Jeff записал, что использовал OpenSTV для проведения выборов и предоставил файл выборов (.blt) наряду с ним, который содержит голосующие данные.

Мой вопрос: как Вы создаете.BLT файл в C#?

Вот два способа, которыми я могу думать об этом, голосующая страница сделала это:

  • Голосующая страница добавила каждое голосование в базу данных SQL, и затем так или иначе, эти голоса экспортировались в.BLT файл после голосования, закончился. Как, хотя? Как я могу сделать это?
  • Или, голосующая страница создала файл и затем добавила к нему каждый раз, когда кто-то голосовал. Я уверен, что это не то, как голосующая страница работала, потому что это абсолютно неприступно, но как я мог сделать это в C#?

Я интересуюсь обнаружением, как работают обе возможности и как я могу сделать это в C#.Заранее спасибо. О, и я надеюсь, что Jeff видит этот вопрос, потому что у него, вероятно, был бы большой ответ...

16
задан Tim Post 16 June 2012 в 05:52
поделиться

1 ответ

Лучшее объяснение формата файла BLT находится здесь:

    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

Все, что я сделал, это

  1. Выполнил специальный запрос в SQL Management Studio, чтобы получить результаты голосования
  2. Скопировать результаты в текстовый файл (по умолчанию вывод разделен табуляцией)
  3. Написал небольшое 50-строчное приложение C # для преобразования из запроса в формат BLT
24
ответ дан 30 November 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: