PDA

Показать полную графическую версию : Нужен совет по разработке программного модуля для анализа выборов


SS3
12-03-2009, 00:00
Вот тут мне задали такое задание: Разработка программного модуля для анализа выборов. Отображения результатов по каждому населенному пункту.
Короче говоря прикладную программу. Результаты должны заносится в txt файл.
Вот мои размышления на эту тему:
У меня есть три объекта: кандидат+партия, регион, количество голосов.
Ввод данных:
Я думаю создать один массив куда я буду вводить информацию про кандидата(ФИО) и к какой партии он принадлежит, и чтобы все это сохраняло в файл.
В массив думаю встроить цикл do/while, так как мне не известно изначальное количество кандидатов.Например
Вв. ФИО кандидата : Лупенко М.О
Вв. партию : любители пива
Продолжить [Y/N]
У
нажимаю У и оно сохраняет данные в файл и приступает к добавлению нового кандидата
Теперь насчет регионов:
Ну тут думаю тоже делать через массивы, и сделаю вложенный цикл do/while так как изначальное количество регионов мне не известно и чтоб тоже все сохраняло в файл.
Например:
Вв. регионы:
Киев
Черкассы
Ялта
...
А насчет количества голосов за кандидатов по регионам я даже на знаю как сделать.
Ну я представляю это так

ФИО регион кол-во голосов
Лупенко М.О Ялта 8975
Лупенко М.О Киев 10009
Лупенко М.О Черкассы 7069
Барак Х.О Ялта 14597
Барак Х.О Киев 9784
Барак Х.О Черкассы 69742
Вот только как такой ввод сделать пока ума не приложу.
Пока я так думаю решить эту задачу.
Если Вы знаете более простой способ, то буду очень благодарен его услышать.
Также не откажусь от полезных ссылок и литературы, которая мне в этом деле помогла б.

VasyaPupkin81
12-03-2009, 08:41
Какой язык предполагается использовать?
По моему проще сделать так:
Форма №1 - ввод/редактирование справочника кандидатов ("кидается" на форму нужное количество полей и кнопка "сохранить").
Форма №2 - ввод/редактирование справочника регионов (тоже самое как и на форме №1).
Форма №3 - выбираем из списка кандидата, выбираем из списка регион и в отдельное поле вводим количество голосов.

З.Ы. Как вариант, все на одной форме, но на разных вкладках. Так даже удобнее будет.
З.З.Ы. И обязательно ли txt? ИМХО, тут проще в таблице базы данных хранить. Хотя если это только как задание в целях обучения (на практике не будет использоваться), то можно и так.

SS3
15-03-2009, 18:50
Вот тут я решаю такое интересное задание (http://forum.oszone.ru/thread-134480.html)и вот что я пока написал на Turbo Pascal:

program my1;
uses crt;
type
rec_info =record
FIO :string[30];
part :string[20];
end;

type
REGION=record
Pynkt:string[15];
end;

var
info_f :file of rec_info;
pynkt_f :file of REGION;
OBL :REGION;
info :rec_info;
ch :char;
choice :char;
{-----------------------------}
procedure creat_card_1;
begin
clrscr;
assign(info_f,'info.txt');
rewrite(info_f);
repeat
with info do
begin
write('Вв. ФИО кандидата: ');
readln(FIO);
write('Вв. партию: ');
readln(part);
end;
write(info_f,info);
writeln('Продолжить[Y/N]?');
ch:=readkey;
until (ch='n')or(ch='N');
close(info_f);
end;
{=============================}
procedure creat_card_2;
begin
assign(pynkt_f,'OBL.txt');
rewrite(pynkt_f);
clrscr;
repeat
with OBL do
begin
write('Введите населенный пункт-> ');
readln(pynkt);
end;
write(pynkt_f,OBL);
writeln('Продолжить [Y/N]?');
ch:=readkey;
until (ch='N')or(ch='n');
close(pynkt_f);
end;
{==========Главная программа=============}
begin
repeat
clrscr;
writeln('1- Вв. кандидатов');
writeln('2- Вв. населенный пункт');
write('Делайте выбор: ');
readln(choice);
case choice of
'1':creat_card_1;
'2':creat_card_2;
'3':exit;
end;
until ch='3';
end.

Я сделал две процедуры и мне нужно их соединить что бы получить вот такой результат:
Лупенко В. И Смела
Лупенко В. И Черкассы
Лупенко В. И Киев
или на подобии.
Я думал сделать вывод через цикл, но не могу понять куда вставлять счетчики.
Вот как я думаю сделать: голоса кандидатов по регионам вводятся в двойном цикле, так как количество кандидатов и регионов уже известно.




© OSzone.net 2001-2012