|
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. |