Programação Orientada Objeto
Pesquisas Acadêmicas: Programação Orientada Objeto. Pesquise 862.000+ trabalhos acadêmicosPor: biskuizera • 20/3/2015 • 1.318 Palavras (6 Páginas) • 654 Visualizações
SCC 204 – Programação Orientada a Objetos
Trabalho 1
Todos os trabalhos da disciplina são parte de um projeto que envolve o desenvolvimento de um
Comunicador Instantâneo. Nesta primeira etapa devese
desenvolver:
1) Uma classe Usuário contendo as seguintes informações:
•Email do usuário
•Senha do usuário
•Nome completo
•Apelido ou nickname para o Comunicador Instantâneo
•Cidade
•Estado
•País
•Data de nascimento
E os seguintes métodos:
•setters e getters
◦Os setters devem ainda verificar:
▪Se o email do usuário tem um arroba, se não tiver, não aceite o email.
Se o email
tiver um espaço,
ou tab, ele também não será aceito. Nesses casos, escreva na tela
printf(“Email invalido\n”);
em seguida, continue a leitura do campo email até que esse seja válido.
▪Se a senha tem de 2 a 30 caracteres. Se tiver mais ou menos caracteres, ela não será válida e deve
mostrar a mensagem de erro abaixo:
printf(“Quantidade de caracteres da senha invalida\n”);
em seguida, continue a leitura do campo senha até que esse seja válido.
▪Se a data de nascimento é uma data válida. Verifique apenas se os dias estão entre 1 e 31, se o mês
está entre 1 e 12, e, finalmente, se o ano é menor ou igual ao atual. Caso não seja válida, escreva na
tela:
printf(“Data de nascimento invalida\n”);
em seguida, continue a leitura do campo data de nascimento até que esse seja válido.
•insereRelacionamentoUsuario(usuario) adicionar usuario na lista → de contatos do usuário atual. Essa
lista de contatos deve, também, ser mantida em um segundo arquivo binário de dados
relacionamentos.dat
•removeRelacionamentoUsuario(usuario) → remove usuario da lista de contatos do usuário atual.
Lembrese
que a lista de contatos é mantida em no arquivo binário de dados relacionamentos.dat
•autenticar(email, senha) método que recebe email e senha, verifica → se usuário existe por meio de
busca binária em arquivo de indexação usuarios.idx e carrega os demais dados do usuário contidos no
arquivo binário de dados usuarios.dat para dentro do objeto
•imprimir → imprime informações do usuário no formato:
printf(“%s\n”, email);
printf(“%s\n”, nome);
printf(“%d\n”, numeroDeContatosNaLista);
•imprimirContatos → lista todos os contatos do usuário no formato (segundo a ordem em que foram
adicionados):
printf(“%s\t%s\n”, emaildocontato, apelido);
2) Cada Usuário deve conter um vetor com seus contatos. Esse vetor deve ser implementado em uma
classe Vector para o caso de C++. Java já conta com uma classe Vector previamente implementada e
que deve ser utilizada. Há uma classe vector na Standard Template Library (STL) do C++, no entanto,
neste caso, o aluno deve criar sua própria classe Vector com base na disponível em Java.
3) Criar uma classe Comunicador com os seguintes métodos:
•inserirUsuario → que recebe um objeto do tipo Usuário, verifica se o usuário existe (via email) e o
salva em um arquivo binário de dados usuarios.dat. Após inserir, devese
regerar o arquivo binário de
indexação dos dados usuarios.idx.
•removerUsuario → que recebe o email
do Usuário, verifica se o usuário existe (via email) e o remove
do arquivo binário de dados usuarios.dat. Após remoção, devese
regerar o arquivo binário de
indexação dos dados usuarios.idx. Lembrese
de remover todos os relacionamentos existentes de
outros usuário com o removido.
•buscaSeqUsuario → que recebe uma string com o email do Usuário e busca por um registro no arquivo
binário de dados usuarios.dat de maneira sequencial. Em seguida, carrega esses dados e cria e retorna
um objeto do tipo Usuario
•buscaBinUsuario → utiliza um arquivo de indexação usuarios.idx para buscar um usuário via seu
email. Devese
utilizar busca binária. Esse arquivo de indexação deve conter os emails e os offsets dos
registros de usuários contidos no arquivo de dados. Em seguida, posiciona no registro correspondente
do arquivo binário de dados usuarios.dat, carrega esses dados e cria e retorna um objeto do tipo
Usuario
Descrição dos arquivos
Todos os arquivos serão binários.
Formato do arquivo usuarios.dat:
...