PFC 2016:Gerenciador de Tabelas Esportivas: mudanças entre as edições
De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 93: | Linha 93: | ||
D --+ | D --+ | ||
===Algoritmos em C=== | |||
<syntaxhighlight lang="c"> | |||
#include <stdio.h> | |||
#include <string.h> | |||
int entraJogador (char *novoJogador); | |||
void geraRodizio (int n, char vetorJogador[32][20]); | |||
void main () | |||
{ | |||
int tam; | |||
char novoJogador[20]; | |||
char vetorJogador[32][20]; | |||
int n = 0; //número de jogadores cadastrados | |||
int i; | |||
printf ("\nCADASTRO DE JOGADORES\n"); | |||
do | |||
{ | |||
tam = entraJogador (novoJogador); | |||
if (tam > 0) | |||
{ | { | ||
strcpy( | strcpy(vetorJogador[n], novoJogador); | ||
printf (" %d | n++; | ||
printf ("n: %d\n", n); | |||
} | } | ||
printf(" | } while (tam > 0); | ||
printf ("\nJOGADORES CADASTRADOS:\n"); | |||
for (i=0; i<n; i++) | |||
printf ("Jogador %d: %s\n", i + 1, vetorJogador[i]); | |||
printf ("\nPARTIDAS:\n"); | |||
geraRodizio (n, vetorJogador); | |||
} | |||
int entraJogador (char *novoJogador) | |||
{ | |||
int tam; | |||
printf ("\n Entre com novo JOGADOR ou tecle Enter para finalizar:\n"); | |||
gets(novoJogador); | |||
tam = strlen(novoJogador); | |||
printf ("Jogador: %s\n", novoJogador); | |||
printf ("tam: %d\n", tam); | |||
return (tam); | |||
} | |||
void geraRodizio (int n, char vetorJogador[32][20]) | |||
{ | |||
int c = 0; | |||
int j, k; | |||
for (j=0;j<n;j++) | |||
for (k=j+1;k<n;k++) | |||
printf (" %d: %s x %s\n", ++c, vetorJogador[j], vetorJogador[k]); | |||
} | |||
</syntaxhighlight> | |||
===Modelo Relacional do Banco de Dados=== | ===Modelo Relacional do Banco de Dados=== |
Edição das 01h10min de 31 de outubro de 2016
Projeto de Final de Curso
- Curso
- Técnico Integrado em Informática
- Equipe
- Gabriel Garcia da Rocha, Gabriel Severo e Leonardo Zapola
- Orientador
- Evandro Cantú
- Tema
- Gerenciador de Tabelas Esportivas
- Orientações
- Terças-feiras: 14h00 as 15h00
Especificações do Sistema
Usuários do sistema
Descrição dos usuários do sistema e os campos de devem ser armazenados no banco de dados:
- Usuário
- Nome de login
- Senha
- Nome Completo
- Dada Nascimento
- RG
- CPF
- Telefone
- Sexo
- Status de Usuários
- Administrador (Um no sistema)
- Organizador do Evento (Promovido pelo Administrador)
- Capitão de Equipe (Promovido pelo Organizador do Evento)
- Atletas
Tabelas
- Chaves e formato da competição em função do número de inscritos
- Rodízio
- Até 5 inscritos, todos contra todos:
- 3 inscritos: 3 partidas
- 4 inscritos: 6 partidas
- 5 inscritos: 10 partidas
- 2 grupos
- Classificam 1º e 2º de cada chave.
- 6 inscritos -> 2 chaves de 3
- 7 inscritos -> 1 chave de 4 e 1 chave de 3
- 8 inscritos -> 2 chaves de 4
- 3 grupos
- Classificam 1º e 2º de cada Grupo e os dois melhores 3º.
- 9 inscritos -> 3 chaves de 3 (classificam 1º e 2º de cada chave)
- 10 inscritos -> 1 chave de 4 e 2 chaves de 3 (classificam 1º e 2º de cada chave)
- 11 inscritos -> 2 chaves de 4 e 1 chave de 3 (classificam 1º e 2º de cada chave)
- 4 grupos
- Classificam 1º e 2º de cada chave.
- 12 inscritos -> 4 chaves de 3
- 13 inscritos -> 1 chave de 4 e 3 chaves de 3
- 14 inscritos -> 2 chaves de 4 e 2 chaves de 3
- 15 inscritos -> 3 chaves de 4 e 1 chave de 3
- 16 inscritos -> 4 chaves de 4
- 17 inscritos -> 3 chaves de 4 e 1 chave de 5
- 6 grupos
- Classificam 1º e 2º de cada chave.
- O 1º dos grupos 1, 2, 3 e 4 entram como avulsos nas quartas de final.
- 18 inscritos -> 6 chaves de 3
- 19 inscritos -> 5 chaves de 3 e 1 chave de 4
- 20 inscritos -> 4 chaves de 3 e 2 chave de 4
Algoritmo Competições
- Inscritos
- vetor [2 a N inscritos]
- Sorteio Chaves
- Escolhe aleatoriamente os integrantes de cada chave, se inscritos >= 6 (menos o cabeça de chave, se houver)
- Função Rodízio
- Recebe vetor [2 a 5 elementos] e define confrontos do rodízio.
Exemplo: vetor[A, B, C, D] A _ x _ B C _ x _ D A _ x _ C B _ x _ D A _ x _ D B _ x _ C
- Função Eliminatórias
- Recebe vetor [2 a M elementos] e define confrontos eliminatórios.
Exemplo: vetor[A, B, C, D] A --+ |--+ B --+ | |-- C --+ | |--+ D --+
Algoritmos em C
#include <stdio.h>
#include <string.h>
int entraJogador (char *novoJogador);
void geraRodizio (int n, char vetorJogador[32][20]);
void main ()
{
int tam;
char novoJogador[20];
char vetorJogador[32][20];
int n = 0; //número de jogadores cadastrados
int i;
printf ("\nCADASTRO DE JOGADORES\n");
do
{
tam = entraJogador (novoJogador);
if (tam > 0)
{
strcpy(vetorJogador[n], novoJogador);
n++;
printf ("n: %d\n", n);
}
} while (tam > 0);
printf ("\nJOGADORES CADASTRADOS:\n");
for (i=0; i<n; i++)
printf ("Jogador %d: %s\n", i + 1, vetorJogador[i]);
printf ("\nPARTIDAS:\n");
geraRodizio (n, vetorJogador);
}
int entraJogador (char *novoJogador)
{
int tam;
printf ("\n Entre com novo JOGADOR ou tecle Enter para finalizar:\n");
gets(novoJogador);
tam = strlen(novoJogador);
printf ("Jogador: %s\n", novoJogador);
printf ("tam: %d\n", tam);
return (tam);
}
void geraRodizio (int n, char vetorJogador[32][20])
{
int c = 0;
int j, k;
for (j=0;j<n;j++)
for (k=j+1;k<n;k++)
printf (" %d: %s x %s\n", ++c, vetorJogador[j], vetorJogador[k]);
}
Modelo Relacional do Banco de Dados
--Leonardo.zapola (discussão) 14h11min de 7 de julho de 2016 (BRT)