Liba

maindofinallyoooo

Jul 22nd, 2014
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.27 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <math.h>
  5.  
  6. #include "estruturas.h"
  7.  
  8. int main() {
  9.     char option[3]; /* Declaração da string que será a opção escolhida. */
  10.     do {
  11.         scanf("%s", option); /* Le do usuário a opção desejada. */
  12.        
  13.         if(strcmp("IV", option) == 0) { /* Se a opção for Inserir Voo. */
  14.             char data[30]; /* Declaração da string que será passada pelo usuário como dados. */
  15.             scanf("%s", data); /* Le do usuário os dados para inserção. */
  16.             insert_Plane_Driver(data); /* Chama a função de inserir voo com os dados fornecidos do usuário. */
  17.         }
  18.         if(strcmp("RV", option) == 0) { /* Se a opção for remover voo. */
  19.             char key[16]; /* Declaração da string que será passada pelo usuário como chave. */
  20.             scanf("%s", key); /* Le do usuário a chave para remoção. */
  21.             remove_Plane_Driver(key); /* Chama a função de remover voo com a chave fornecida do usuário. */
  22.         }
  23.         if(strcmp("BV", option) == 0 || strcmp("IA", option) == 0) { /* Se a opção for buscar voo. Ou imprimir a árvore de índices. */
  24.             FILE *p; /* Declaração do ponteiro de arquivo. */
  25.             p = fopen("index.dat", "rb+"); /* Abre o arquivo de indices para leitura e escrita. */
  26.             if(p != NULL) { /* Se a tentativa de abrir o arquivo foi sucedida. */
  27.                 long root; /* Declaração da raiz. */
  28.                 root = load_RNN_Root(p); /* Raiz recebe a raiz do arquivo. */
  29.                 if(strcmp("BV", option) == 0) { /* Se a opção for buscar voo. */
  30.                     char key[16]; /* Declaração da string que será passada pelo usuário como chave. */
  31.                     scanf("%s", key); /* Le do usuário a chave para busca. */
  32.                     search_Plane(p, root, key); /* Chama a função de buscar voo com a chave fornecida do usuário. */
  33.                 }
  34.                 if(strcmp("IA", option) == 0) { /* Se a opção for imprimir a árvore de índices. */
  35.                     printf("%ld\n", root); /* Imprime o RRN da raiz. */
  36.                     print_Index_Tree(p, root); /* Chama a função para imprimir toda a árvore. */
  37.                 }
  38.             }
  39.             else {
  40.                 printf("ERRO\n"); /* Debug. */
  41.             }
  42.             fclose(p);
  43.         }
  44.         if(strcmp("IP", option) == 0) { /* Se a opção for Inserir passageiro. */
  45.             char data[150]; /* Declaração da string que será passada pelo usuário como dados. */
  46.             scanf("%s", data); /* Le do usuário os dados para inserção. */
  47.             save_Pas(data); /* Chama a função de inserir voo com os dados fornecidos do usuário. */
  48.         }
  49.         if(strcmp("BP", option) == 0 || strcmp("RP", option) == 0) { /* Se a opção for buscar passageiro ou remover passageiro. */
  50.             char key[16]; /* Declaração da string que será passada pelo usuário como chave do voo. */
  51.             scanf("%s", key); /* Le do usuário a chave do voo. */
  52.             char pas[11]; /* Declaração da string que será passada pelo usuário como chave do passageiro. */
  53.             scanf("%s", pas); /* Le do usuário a chave do passageiro. */
  54.             printf("ERRO\n"); /* Função não terminada. */
  55.         }
  56.         if(strcmp("PP", option) == 0) { /* Se a opção for imprimir passageiros. */
  57.             char key[16]; /* Declaração da string que será passada pelo usuário como chave do voo. */
  58.             scanf("%s", key); /* Le do usuário a chave do voo. */
  59.             printf("ERRO\n"); /* Função não terminada. */
  60.         }          
  61.     } while(strcmp("FM", option) != 0); /* Enquanto a opção for diferente de FM. */
  62.    
  63.     return 1;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment