Relatorio Final Codigo
Fundamentos de Programação
Inv 2014/2015
Trabalho Prático Final
Método D’Hondt
João Monteiro nº28536
914145310
Noite
Introdução
Este trabalho tinha como objectivo a construção de um programa em linguagem C com implementação do Método D’Hondt.
Este método criado por Victor D’Hondt, consiste num modelo matemático de representação proporcional utilizado em inúmeros países democráticos, e serve para converter votos eleitorais em mandatos obedecendo às seguintes regras: - Apura-se em separado o número de votos recebidos por cada lista no círculo eleitoral respectivo; - O número de votos apurados por cada lista é dividido, sucessivamente, por 1, 2, 3, 4, 5, etc., sendo os quocientes alinhados pela ordem decrescente da sua grandeza numa série de tantos termos quantos os mandatos atribuídos ao círculo eleitoral respectivo.
No enquadramento do enunciado, o programa deve utilizar entre outras funcionalidades:
Leitura e escrita de ficheiros ASCII;
Strings;
Vetores matrizes e/ou estruturas com alocação dinâmica de memória;
Apontadores.
Os dados deverão ser fornecidos por Teclado ou Ficheiro, consoante decisão do utilizador e o programa deve garantir também a criação de um ficheiro output demonstrativo da utilização do programa.
Análise do problema e Implementação do programa
Módulo “declarar.h”
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define KEYBOARD_INPUT 1
#define FILE_INPUT 0
#define TRUE 1
#define FALSE 0
char* converterMaiusculas(char* in); void carregaMatriz(); void encontraCandidatos(); int numero_mandatos; int numero_listas; int total_votos; int carrega_menu_inicial(); void carrega_breve_explicacao(); int carrega_dados_ficheiro(); int carrega_dados_teclado(); void carrega_menu_operativo(); void limpa_dados(); void opcao1(); void opcao2(); void opcao3(); void opcao4(int mostra_percentagem); void opcao5(); void opcao6(); void opcao7(); void opcao8();
void bubble_sort_crescente();