Implemente um programa para manipular os dados dos usuários da biblioteca. Crie uma estrutura contendo as variáveis: a. Crie uma lista para armazenar os dados. As funcionalidades que devem ser implementadas são: criar lista, incluir usuário, excluir usuário, buscar (pelo CPF). Conta o número de alunos de determinado curso.
Passo 1
Beleza, vamos lá! O enunciado pede pra gente criar um programa que gerencie os dados dos usuários de uma biblioteca. Isso envolve manipular listas, adicionar e remover usuários, buscar informações específicas como o CPF e contar quantos alunos de um certo curso estão cadastrados. Vamos precisar entender como trabalhar com estruturas de dados, listas e funções básicas de programação para realizar essas tarefas.
Passo 2
Primeiro, vamos definir uma estrutura para armazenar os dados dos usuários. Em muitas linguagens de programação, isso pode ser feito usando
struct
em C ou class
em Python. A estrutura vai conter informações como nome, CPF, curso, etc.typedef struct {
char nome[50];
char cpf[12];
char curso[30];
} Usuario;
Passo 3
Agora, vamos criar uma lista para armazenar esses usuários. Podemos usar um array ou uma lista dinâmica, dependendo da linguagem. Para simplicidade, vamos usar um array estático com um tamanho máximo definido.
#define MAX_USUARIOS 100
Usuario listaUsuarios[MAX_USUARIOS];
int totalUsuarios = 0;
Passo 4
Vamos implementar a função para incluir um novo usuário na lista. Essa função vai receber os dados do usuário, verificar se há espaço na lista e adicionar o usuário.
void incluirUsuario(char nome[], char cpf[], char curso[]) {
if(totalUsuarios < MAX_USUARIOS) {
strcpy(listaUsuarios[totalUsuarios].nome, nome);
strcpy(listaUsuarios[totalUsuarios].cpf, cpf);
strcpy(listaUsuarios[totalUsuarios].curso, curso);
totalUsuarios++;
} else {
printf("Lista cheia!\n");
}
}
Passo 5
Agora, a função para excluir um usuário pelo CPF. A lógica aqui é encontrar o usuário com o CPF fornecido e remover ele da lista, ajustando a lista para não deixar espaços vazios.
void excluirUsuario(char cpf[]) {
int encontrado = -1;
for(int i = 0; i < totalUsuarios; i++) {
if(strcmp(listaUsuarios[i].cpf, cpf) == 0) {
encontrado = i;
break;
}
}
if(encontrado != -1) {
for(int i = encontrado; i < totalUsuarios - 1; i++) {
listaUsuarios[i] = listaUsuarios[i+1];
}
totalUsuarios--;
} else {
printf("Usuário não encontrado!\n");
}
}
Passo 6
Vamos fazer a função de buscar um usuário pelo CPF. Essa função vai percorrer a lista e retornar os dados do usuário se encontrar o CPF.
Usuario* buscarUsuario(char cpf[]) {
for(int i = 0; i < totalUsuarios; i++) {
if(strcmp(listaUsuarios[i].cpf, cpf) == 0) {
return &listaUsuarios[i];
}
}
return NULL;
}
Passo 7
Por fim, precisamos contar o número de alunos de um determinado curso. Para isso, vamos percorrer a lista e contar quantas vezes o curso especificado aparece.
int contarAlunosCurso(char curso[]) {
int contador = 0;
for(int i = 0; i < totalUsuarios; i++) {
if(strcmp(listaUsuarios[i].curso, curso) == 0) {
contador++;
}
}
return contador;
}
Resposta
Prontinho! Com esses passos, você consegue criar um programa que gerencia os usuários da biblioteca, permitindo adicionar, remover, buscar por CPF e contar alunos de um curso específico.
Exercícios relacionados
Implemente uma lista dinâmica de números positivos em que os números ímpares fiquem todos juntos no início da lista e os pares fiquem todos juntos no final da lista
b. Implementa a função INIC que permite fazer a carga inicial da lista
b. Implementa a função INIC que permite fazer a carga inicial da lista
Agora vamos trabalhar com arquivos:
a. Implemente um procedimento que grave os dados da lista em um arquivo binário.
a. Implemente um procedimento que grave os dados da lista em um arquivo binário.
Elabore um programa que solicita ao usuário uma sequência de caracteres e os armazena em um vetor alocado dinamicamente. Em seguida, realize a cópia dos caracteres para um outro vetor alocado dinamicamente em que são excluídos os espaços.
Implemente uma lista dinâmica de números positivos em que os números ímpares fiquem todos juntos no início da lista e os pares fiquem todos juntos no final da lista
e. Implemente a função LISTAR, que coloca na tela todos os elementos existentes.
e. Implemente a função LISTAR, que coloca na tela todos os elementos existentes.