TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Diagrama de Classe

Por:   •  1/12/2015  •  Monografia  •  5.236 Palavras (21 Páginas)  •  366 Visualizações

Página 1 de 21

ANHANGUERA EDUCACIONAL – UNIDADE 4

Ciência da Computação

Relatório 02 – Listas Ligadas

Campinas

2013

ANHANGUERA EDUCACIONAL – UNIDADE 4

Ciência da Computação

                                         

Estrutura de Dados

                                                       Atividades Práticas Supervisionadas, sob

                                                       Orientação do Prof. Ricardo Barbosa,

                                                       Realizado pelos alunos:                                                                                    

  • Filipe Barreto S. Carneio        RA: 3770750140                            
  • Gustavo M. Paltrinieri                RA: 3770743660
  • Adriano Felipe                        RA: 4251858508  
  • Ericson Rodrigues Lorenzetti        RA: 6227192853
  • Wendel de Paula Barros        RA: 3715676648

Campinas

2013

Relatório

Desenvolvemos um sistema em linguagem C, denominado VoeBem, utilizando Lista Encadeada como estrutura de dados. Esse sistema permite fazer o cadastro, consulta e exclusão de Voos como também o cadastro e consulta de Passagens.

Os dados cadastrados ficam armazenados na memória RAM do computador de forma dinâmica, ou seja, a cada novo cadastro é alocado um espaço específico na memória para o armazenamento dos dados. Ao sair do sistema todos os dados são destruídos da memória não tendo possibilidade de recupera-los posteriormente, embora com algumas alterações seja possível fazer implementações que permitam salvar os dados em arquivos no disco rígido sem comprometer o projeto.

Existem diversas formas de estruturar os dados em um sistema computacional, mas nesse projeto específico trabalhamos com Lista Encadeada. Sua estrutura é linear e dinâmica, composta por nós que sempre apontam para o próximo elemento da lista, sendo que o último não aponta pra ninguém, ou seja, seu valor é nulo.

Um membro da estrutura guarda o encadeamento enquanto os outros membros guardam os dados do registro.

Sendo assim, foram implementadas algumas funções que são responsáveis pelo cadastro, consulta e exclusão dos dados. A cada cadastro é alocado na memória o espaço necessário para guardar o novo registro, depois os dados são atribuídos a esse registro e o apontamento da lista fica guardada em um membro. Portanto temos conhecimento somente do ultimo item incluído que será o primeiro da lista.

Fizemos 2 bibliotecas separadas responsáveis pela manipulação dos dados na lista de Voos e Passagens. Cada módulo contem um conjunto de funções e procedimentos que são chamadas pelo projeto principal. Como o uso tornou-se abstrato, qualquer implementação na forma de armazenamento dos dados será feito nas bibliotecas não afetando o sistema que sempre chamará as funções fixas.

Para deixar o sistema mais amigável, desenvolvemos sua manipulação através de menus e sub-menus que na verdade são loops onde a cada clico são processados as funções do sistema. Algumas validações também foram programadas para deixar o sistema mais intuitivo, como análise de duplicidade dos cadastros e verificação de existência dos mesmos antes de exclui-los ou consulta-los. A consequência dessas validações trazem mais processamentos que podem deixar o sistema mais lento em proporção ao volume de dados.

Apesar do fato de que o uso de Listas Encadeadas em memória deixa a manipulação de dados muito simples, é necessário tomar alguns cuidados quando trabalha manualmente com a memória. Sempre que remover um nó tem que liberar o espaço usado ou quando terminar a aplicação deve-se liberar todo espaço consumido por todos os elementos da lista, e foi o que fizemos aqui nesse projeto.

Imagens das Telas

Tela Inicial

[pic 1]

Menu Voos

[pic 2]

Cadastro de Voo

[pic 3]

Consulta de Voo

[pic 4]

Exclusão de Voo

[pic 5]

Cadastro de Passagem

No cadastro de Passagens foi feito um relacionamento com o cadastro de Voos, portando só pode fazer o cadastro da passagem tendo feito antes o cadastro do Voo, caso contrário o sistema não deixará cadastrar a Passagem.

[pic 6]

Ao fazer o cadastro da passagem e informar o numero do Voo, o sistema coleta as informações do Voo e preenche a estrutura com essas informações.

[pic 7]

Consulta de Passagem

[pic 8]


Código Fonte

[Arquivo Voo.c]

#include

#include

#include

typedef struct Voo {

    int  NumeroVoo;

    char Data[15];

    char Hora[15];

    char Embarque[50];

    char Desembarque[50];

    char Rota[50];

    char Duracao[10];

    int Passageiros;

    struct Voo *Prox;

} TVoo;

TVoo* Voo_Criar(){

    return NULL;

}

int Voo_Vazio(TVoo *V){

    return (V == NULL);

}

TVoo *Voo_Inserir(TVoo *V,TVoo Dados){

  TVoo* Novo = (TVoo*)malloc(sizeof(TVoo));

  Novo->NumeroVoo         = Dados.NumeroVoo;

  strcpy(Novo->Data,        Dados.Data);

  strcpy(Novo->Hora,        Dados.Hora);

  strcpy(Novo->Embarque,    Dados.Embarque);

...

Baixar como (para membros premium)  txt (20.9 Kb)   pdf (361.3 Kb)   docx (147.9 Kb)  
Continuar por mais 20 páginas »
Disponível apenas no TrabalhosGratuitos.com