Cadastro de Estudantes v0.0.1
Gera uma lista ligada de estudantes.
|
Define TAD da interface com usuario. Mais...
Ir para o código fonte deste ficheiro.
Macros | |
#define | ERR_INIC_FILA 1 |
#define | ERR_INIC_LISTA 2 |
#define | ERR_INIC_PILHA 3 |
#define | MIN_DISCIPLINA 1 |
#define | MAX_DISCIPLINA 200 |
#define | DEFAULT_COLS 80 |
#define | DEFAULT_LINES 25 |
Enumerações | |
enum | eOptMenu { oCreateQueue = 1, oInsertStudent, oPrint, oPrintQueue = 31, oPrintList, oPrintStack, oGift = 4, oRemove, oExit, oUnknown, oNone } |
Funções | |
void | PrintMenu (void) |
void | Greeting (void) |
enum eOptMenu | ParseOption (const char *, enum eOptMenu, struct TipoFila *, struct TipoLista *, struct TipoPilha *) |
Processa opcoes do usuario. | |
bool | MoreInput (void) |
int | GetDisciplina (char **) |
Obtém disciplina através da string passada como parâmetro. | |
enum eOptMenu | InsertStudent (struct TipoFila *, struct TipoLista *, struct TipoPilha *) |
Insere aluno na lista. | |
enum eOptMenu | InsertNextStudent (struct TipoItem *, struct TipoLista *, struct TipoPilha *) |
Insere próximo estudante na lista. | |
enum eOptMenu | InsertPilha (struct TipoPilha *) |
Insere elementos na pilha. | |
enum eOptMenu | GetCommand (char *, char *) |
Obtem um comando através de uma string. | |
enum eOptMenu | CriaFila (struct TipoFila *) |
Gera uma fila, cada elemento da fila é um inteiro, representando a senha do aluno na fila. | |
enum eOptMenu | RemoveStudent (struct TipoLista *) |
Remove aluno da lista duplamente encadeada. | |
enum eOptMenu | WhichCmd (char *, const char *,...) |
Seleciona um dos comandos de impressão, função recebe um número variável de parâmetros. |
Define TAD da interface com usuario.
#define DEFAULT_COLS 80 |
Define número padrão de colunas. Em caso de erro este será o tamanho adotado.
#define DEFAULT_LINES 25 |
Define número de linhas padrão. Em caso de erro este será o tamanho adotado.
#define ERR_INIC_FILA 1 |
erro ao inicializar a fila.
#define ERR_INIC_LISTA 2 |
Erro ao inicializar a lista.
#define ERR_INIC_PILHA 3 |
Erro ao inicializar a pilha.
#define MAX_DISCIPLINA 200 |
Maximo codigo das disciplinas.
#define MIN_DISCIPLINA 1 |
Minimo codigo das diciplinas.
enum eOptMenu |
Opcoes do menu.
Gera uma fila, cada elemento da fila é um inteiro, representando a senha do aluno na fila.
Fila | - Estrutura de dados do TipoFila. |
enum eOptMenu GetCommand | ( | char * | pstr, |
char * | pcmd | ||
) |
Obtem um comando através de uma string.
pstr | - Ponteiro para uma string qualquer contendo um dos comandos abaixo: -pf - Imprime fila -pl - ImprimeLista -pp - ImprimePilha |
pcmd | - Ponteiro de retorno com o comando extraido da string do parametro um. |
int GetDisciplina | ( | char ** | p | ) |
Obtém disciplina através da string passada como parâmetro.
Faz o parse das disciplinas.
[in,out] | p | - ponteiro para ponteiro. Este parâmetro recebe o endereco do ponteiro da string que contém as entradas das disciplinas. Este buffer é scaniado até que seja encontrado um espaço, quando encontrado é substituído por final da string, e convertido para um inteiro. Como a função recebe o endereço da variável ela é atualiza para a próxima entrada. ATENÇÃO! quem chamou deve passar o endereço de uma variável que pode perder seu conteúdo. |
void Greeting | ( | void | ) |
Imprime titulo do programa.
enum eOptMenu InsertNextStudent | ( | struct TipoItem * | pitem, |
struct TipoLista * | pLista, | ||
struct TipoPilha * | pPilha | ||
) |
Insere próximo estudante na lista.
Toda a checagen é feito nesta função, como: verificar se todas as disciplinas foram entradas corretamente, ou se nome foi entradado em branco, se usuário inseriu um comando.
[in,out] | pitem | - item a ser inserido na lista, observe que este parâmetro serve como retorno para quem chamou, vazio significa uma flag. |
[in,out] | pLista | - ponteiro para a lisata onde serão inseridos os novos alunos. |
[in,out] | pPilha | - ponteiro para a pilha, de onde serão desenpilhados os brindes a cada inscrito. |
Insere elementos na pilha.
Cada elemento da pilha é um brinde que será distribuido aos alunos por ordem de chegada, ou seja, a cada aluno inscrito recebe o brinde do topo da pilha.
[in,out] | pPilha | - Recebe topo da pilha e empilha cada novo elemento. |
enum eOptMenu InsertStudent | ( | struct TipoFila * | pFila, |
struct TipoLista * | pLista, | ||
struct TipoPilha * | pPilha | ||
) |
Insere aluno na lista.
função controla quando deverá parar de pedir entrada para o usuário. Ela para quando:
1. InsertNextStudent retorna diferente de oNone (opção não faça nada). 2. O nome do aluno for deixada em branco. 3. Não tem mais alunos na fila.
[in,out] | pFila | - ponteiro para fila. |
[in,out] | pLista | - ponteiro para a lista onde serão inseridos os alunos. |
[in,out] | pPilha | - ponteiro par a pilha. |
bool MoreInput | ( | void | ) |
função verifica se ha mais dados a serem lidos da entrada padrão.
enum eOptMenu ParseOption | ( | const char * | pOpt, |
enum eOptMenu | opt, | ||
struct TipoFila * | pFila, | ||
struct TipoLista * | pLista, | ||
struct TipoPilha * | pPilha | ||
) |
Processa opcoes do usuario.
[in] | pOpt | - ponteiro para string com a entrada do usuário. |
[in] | opt | - opção do usuário na forma enum optMenu. |
[in,out] | pFila | - ponteiro para a fila. |
[in,out] | pLista | - ponteiro para a lista. |
[in,out] | pPilha | - pilha de elementos; brindes. |
void PrintMenu | ( | void | ) |
Imprime opcoes do menu.
Remove aluno da lista duplamente encadeada.
[in,out] | pLista | - in informações a respeito da lista. out atualiza lista em caso algum registro foi removido. |
enum eOptMenu WhichCmd | ( | char * | pstr, |
const char * | fmt, | ||
... | |||
) |
Seleciona um dos comandos de impressão, função recebe um número variável de parâmetros.
[in,out] | pstr | - in string com a entrada do usuário contendo ou não um comando. Se existe um comando ele sera extraído, tudo que estiver depois do comando será ignorado out. |
[in] | fmt | - formato de uma mensagem que deve aparacer para o usuário. Segue os mesmos critérios de printf. |
... | um número variável de parâmetros, comforme fmt. |