ATPS Estrutura De Dados
Artigo: ATPS Estrutura De Dados. Pesquise 862.000+ trabalhos acadêmicosPor: RickdaRay • 10/10/2013 • 3.508 Palavras (15 Páginas) • 581 Visualizações
/* -----------------------------------------------------
ATPS de Estrutura de Dados Noturno - EDN;
3º periodo SI 2013;
07-10-13
Prof Virgil Del Duca Almeida
Grupo:
5212957441 – Alex Ramos da Silva
5217982551 – Carlos Henrique de Oliveira
5222979377 – Eduardo Duarte Ferreira
6213194501 – Jhonathan Silas Pereira Pinto
5212961614 – Marcilio de Aguiar Meireles
---------------------------------------------------------
*/
// programa para elaboração de estrutura de controle de voo e passagem da empresa VOEBEM.
# include <stdio.h>
# include <conio.h> //bibliotecas
# include <stdlib.h>
# include <string.h>
# include <conio.h>
# define MAXROTAS 5 // definições de constantes
# define MAX2 20
//--------------------------------------------------------------
// - Definição das estruturas
typedef struct{ // estrutura de datas
int dia;
int mes;
int ano;
} DATAS;
typedef struct{ // estrutura de horas
int hora;
int minuto;
} HORAS;
typedef struct{ // estrutura de rotas contem cidade de origem e cidade de destino
char CidadeOrigem[MAX2];
char CidadeDestino[MAX2];
}ROTAS;
typedef struct{
int numVoo;
DATAS dataVoo;
HORAS horaVoo;
char aeroportoSaida[MAX2];
char aeroportoChegada[MAX2];
ROTAS rota; // O TAMANHO DO VETOR DE ROTAS É PROVISÓRIO. ATÉ A IMPLEMENTAÇÃO DAS ETAPAS POSTERIORES
HORAS tempoEstimadoVoo;
int passageirosABordo;
} VOO;
typedef struct{
int numPassagem;
int numVoo;
DATAS dataEmbarque;
HORAS horaEmbarque;
int portaoEmbarque;
} PASSAGEM;
//---------------------------------------------------------------
// - Declaração dos tipos de estruturas principais
typedef VOO *TVoos;
typedef PASSAGEM *TPassagem;
//---------------------------------------------------------------
// - Definição da funções principais
int exibeMenu(){
system("cls");
int op;
do{
printf("------------------------------------\n\n");
printf("Escolha uma opcao:\n\n");
printf("\t1 - Alocar quantidade de Voos\n");
printf("\t2 - Cadastrar Voo\n");
printf("\t3 - Consultar Voo\n");
printf("\t4 - Excluir Voo\n");
printf("\t5 - Sair\n");
printf("\n------------------------------------\n");
printf("\tOpcao: ");
scanf("%d",&op);
}while ((op<0)&&(op>5));
return op;
}
//-------
TVoos alocaVoos(int *voosAlocados){ // - Função para alocar dinamicamente na memoria, espaço para cadastrar os voos.
system("cls");
TVoos aux; // Cria uma variavel provisória do tipo estrtura TVoos
int quantVoo; // Cria variavel inteira para armazenar a quantidade de voos a ser alocados
printf("Quantidade de voos a serem armazenados: ");
scanf("%d", &quantVoo);
aux = malloc(quantVoo * sizeof (VOO)); // Aloca dinamicamente na memoria e retorna o endereço da memoria para aux
*voosAlocados=*voosAlocados+quantVoo; // Aloca apenas se voosAlocados for igual a zero.
return aux;
}
//-------
void cadastrarVoo(TVoos Voos, int voosAlocados,
...