Criação de um projeto de software com grafos com linguagem C++
Budget: $10 – $30 USD
Escrever um programa C++ que implementa alguns dos recursos para uma rede social. Nesta rede, os usuários cadastrados podem seguir outros usuários.
O programa deve implementar, no mínimo, as seguintes funcionalidades:
Apresentar ao usuário um menu com as seguintes opções:
Cadastrar novo usuário: Nesta opção, serão solicitados e inseridos os seguintes dados obrigatórios:
e-mail: esse campo é um identificador único (chave) do usuário. O programa não pode aceitar dois usuários com o mesmo e-mail
Nome
Data de nascimento
Número de telefone
Cidade
UF
Seguir: Nesta opção se informa dois e-mails de usuários (u1 e u2), ambos válidos dentro do sistema. O usuário u1 passa a ser um seguidor do usuário u2. Apenas exibir mensagem informativa caso u1 já for um seguidor de u2.
Deixar de seguir: Informa-se dois e-mails de usuários (u1 e u2), ambos válidos dentro do sistema. O usuário u1 deixa de ser um seguidor do usuário u2. Apenas exibir mensagem informativa caso u1 não for um seguidor de u2.
Listar usuários: Exibe a relação de todos usuários cadastrados: e-mail, nome, quantidade de pessoas que ele segue e de pessoas que seguem ele.
Consultar dados de usuário: Ler um e-mail válido de usuário e exibe todos os demais dados do respectivo usuário, incluindo a quantidade e nome de todos os usuários que este segue.
Verificar caminho: Nesta opção se informa dois e-mails de usuários (u1 e u2), ambos válidos dentro do sistema e exibe o menor caminho entre ambos os usuários. Se não houver nenhum caminho, exibir esta informação.
Excluir usuário: Deve-se exibir os dados completos do usuário informado e pedir uma confirmação para exclusão. Se confirmado, todos os dados deste usuário e todas as suas conexões devem ser removidas do sistema.
Exibir rede: Exibir graficamente o grafo de usuários e suas conexões
Exportar rede: Se escolhe o formato (png, jpeg, pdf, dot) e exportar a rede para um arquivo neste formato
Todos os dados do programa devem ser armazenados automaticamente em algum tipo de arquivo (texto, SQLite, …) e recuperados toda a vez que entrar no programa. Ou seja, ao sair e entrar no programa todos os dados anteriores devem persistir.
OBRIGATÓRIO:
– Entregar um .zip contendo todos os arquivos necessários para compilação e execução do programa;
– Incluir um arquivo README com instruções para compilação e execução do programa.
– O programa já deve vir com arquivo de dados com, no mínimo, 10 usuários cadastrados e 20 conexões;
– Resumo explicativo sobre a execução do código;
Irei disponibilizar a biblioteca com grafos.
O programa deve implementar, no mínimo, as seguintes funcionalidades:
Apresentar ao usuário um menu com as seguintes opções:
Cadastrar novo usuário: Nesta opção, serão solicitados e inseridos os seguintes dados obrigatórios:
e-mail: esse campo é um identificador único (chave) do usuário. O programa não pode aceitar dois usuários com o mesmo e-mail
Nome
Data de nascimento
Número de telefone
Cidade
UF
Seguir: Nesta opção se informa dois e-mails de usuários (u1 e u2), ambos válidos dentro do sistema. O usuário u1 passa a ser um seguidor do usuário u2. Apenas exibir mensagem informativa caso u1 já for um seguidor de u2.
Deixar de seguir: Informa-se dois e-mails de usuários (u1 e u2), ambos válidos dentro do sistema. O usuário u1 deixa de ser um seguidor do usuário u2. Apenas exibir mensagem informativa caso u1 não for um seguidor de u2.
Listar usuários: Exibe a relação de todos usuários cadastrados: e-mail, nome, quantidade de pessoas que ele segue e de pessoas que seguem ele.
Consultar dados de usuário: Ler um e-mail válido de usuário e exibe todos os demais dados do respectivo usuário, incluindo a quantidade e nome de todos os usuários que este segue.
Verificar caminho: Nesta opção se informa dois e-mails de usuários (u1 e u2), ambos válidos dentro do sistema e exibe o menor caminho entre ambos os usuários. Se não houver nenhum caminho, exibir esta informação.
Excluir usuário: Deve-se exibir os dados completos do usuário informado e pedir uma confirmação para exclusão. Se confirmado, todos os dados deste usuário e todas as suas conexões devem ser removidas do sistema.
Exibir rede: Exibir graficamente o grafo de usuários e suas conexões
Exportar rede: Se escolhe o formato (png, jpeg, pdf, dot) e exportar a rede para um arquivo neste formato
Todos os dados do programa devem ser armazenados automaticamente em algum tipo de arquivo (texto, SQLite, …) e recuperados toda a vez que entrar no programa. Ou seja, ao sair e entrar no programa todos os dados anteriores devem persistir.
OBRIGATÓRIO:
– Entregar um .zip contendo todos os arquivos necessários para compilação e execução do programa;
– Incluir um arquivo README com instruções para compilação e execução do programa.
– O programa já deve vir com arquivo de dados com, no mínimo, 10 usuários cadastrados e 20 conexões;
– Resumo explicativo sobre a execução do código;
Irei disponibilizar a biblioteca com grafos.
Related categories:
C++ Programming
Software Development
Software Documentation
Software Engineering
Desktop Application