- Construa um programa que leia um arquivo texto, cujo nome é passado como parâmetro de entrada, e carregue um vetor de registros de no máximo 100 registros com o seguinte formato:
- Matrícula: um número inteiro;
- Nome: uma string com no máximo 50 caracteres
- Sexo: somente o código de referência (F - Feminino ou M - Masculino)
- CPF: um número inteiro (deverá ser usado um inteiro longo - long int);
- Curso: uma string com no máximo 30 caracteres
- Telefone: uma string com no máximo 20 caracteres
OBS: Caso o arquivo não exista, deve-se continuar o programa com o vetor vazio.
Após a leitura, o programa deverá apresentar um menu com as seguintes opções: inclusão, consulta, exclusão e fim do programa. De acordo com a opção escolhida pelo usuário (opções inválidas devem ser tratadas), deve-se realizar os seguintes procedimentos:
a) Inclusão:
- Solicitar ao usuário uma nova matrícula.
- Verificar se a matrícula digitada já existe. Se existir, emitir uma mensagem explicativa e voltar ao passo anterior. Caso contrário, permitir o cadastro do novo aluno.
- Verificar se o usuário deseja cadastrar um novo registro. Se afirmativo, repetir os passos anteriores. Caso contrário, encerrar o módulo e retornar ao menu.
b) Consulta:
- Solicitar ao usuário a matrícula desejada.
- Verificar se a matrícula digitada já existe. Se existir, mostrar todos os dados do aluno (o sexo deve ser apresentado por extenso). Caso contrário, emitir uma mensagem explicativa de registro inexistente.
- Verificar se o usuário deseja realizar uma nova consulta. Se afirmativo, repetir os passos anteriores. Caso contrário, encerrar o módulo e retornar ao menu.
c) Exclusão:
- Solicitar ao usuário a matrícula desejada.
- Verificar se a matrícula digitada já existe. Se não existir, emitir uma mensagem explicativa de registro inexistente. Caso contrário, mostrar todos os dados do aluno (o sexo deve ser apresentado por extenso) e solicitar a confirmação da exclusão. Se confirmada, remover o registro. Se não, ir para o próximo passo.
- Verificar se o usuário deseja remover outro registro. Se sim, repetir os passos anteriores. Caso contrário, encerrar o módulo e retornar ao menu.
OBS: Remover um registro consiste em deslocar para esquerda todos registros subseqüentes e decrementar a quantidade de registros.
d) Fim do Programa:
- Ordenar o vetor de registros em ordem crescente (utilizar o método quicksort).
- Gravar o vetor ordenado no arquivo passado como parâmetro de entrada do programa. Se ele já existir, deve ser substituído. Senão, deve ser criado.
- Encerra-se o programa