Advertisement
MarceloSousa

Linguagem C - Fila Pronta

Apr 6th, 2014
311
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.91 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #include <locale.h>
  5.  
  6. void Excluir(void);
  7. void Inserir(void);
  8. void Alterar(void);
  9. void Consultar(void);
  10. void Listar(void);
  11. void sobre_aplicativo(void);
  12.  
  13. struct Pilha {
  14.     int Id;
  15.     int Valor;
  16.     struct Pilha *Proximo;
  17. };
  18. struct Pilha *Primeiro = (struct Pilha*) NULL;
  19. struct Pilha *Ultimo = (struct Pilha*) NULL;
  20. struct Pilha *Atual = (struct Pilha*) NULL;
  21.  
  22. int main(void) {
  23.     setlocale(LC_ALL, "Portuguese");
  24.  
  25.  
  26.  
  27.     int Opcao = 1;
  28.     do {
  29.         system("cls");
  30.         printf(" #######################\n");
  31.         printf("#1 - Inserir Valor      #\n");
  32.         printf("#2 - Alterar Valor      #\n");
  33.         printf("#3 - Excluir Valor      #\n");
  34.         printf("#4 - Consultar Valor    #\n");
  35.         printf("#5 - Listar Valor       #\n");
  36.         printf("#6 - Sobre o Aplicativo #\n");
  37.         printf("#0 - Sair               #\n");
  38.         printf(" #######################\n");
  39.         printf("Opção: ");
  40.         scanf("%d", &Opcao);
  41.  
  42.  
  43.         switch (Opcao) {
  44.             case 1: Inserir();
  45.                 break;
  46.             case 2: Alterar();
  47.                 break;
  48.             case 3: Excluir();
  49.                 break;
  50.             case 4: Consultar();
  51.                 break;
  52.             case 5: Listar();
  53.                 break;
  54.             case 6: sobre_aplicativo();
  55.                 break;
  56.             case 0: break;
  57.             default: printf("Opção Invalida!");
  58.  
  59.         }
  60.     } while (Opcao != 0);
  61.     return 0;
  62. }
  63. void Inserir() {
  64.     if (Primeiro == (struct Pilha*) NULL)
  65.             {
  66.                 Atual = Primeiro = Ultimo = (struct Pilha*) malloc(sizeof(struct Pilha));
  67.                 Atual-> Id = 1;
  68.             }
  69.             else
  70.             {
  71.                 Ultimo-> Proximo = (struct Pilha*) malloc(sizeof(struct Pilha));
  72.                 Atual = Ultimo-> Proximo;
  73.                 Atual-> Id = Ultimo-> Id + 1;
  74.                 Ultimo = Atual;
  75.             }
  76.  
  77.             Atual-> Proximo = (struct Pilha*) NULL;
  78.  
  79.             int Valor;
  80.             printf("Informe o Valor: ");
  81.             scanf("%d", &Valor);
  82.             Atual-> Valor = Valor;
  83.  
  84.  
  85. }
  86. void Alterar(void) {
  87.  
  88.     Atual = Primeiro;
  89.     int verificaID, Valor;
  90.  
  91.     printf("Informe o Id: ");
  92.     scanf("%d", &verificaID);
  93.  
  94.     while (Atual != (struct Pilha*) NULL) {
  95.         if (Atual-> Id == verificaID) {
  96.             printf("Informe o novo Valor: ");
  97.             scanf("%d", &Valor);
  98.             Atual-> Valor = Valor;
  99.             break;
  100.         } else {
  101.             printf("ID não encontrado\n\n");
  102.             break;
  103.         }
  104.         Atual = Atual-> Proximo;
  105.     }
  106.     system("pause");
  107. }
  108. void Excluir(void) {
  109. if (Primeiro == (struct Pilha*) NULL)
  110.         return;
  111.  
  112.      if (Primeiro == Ultimo)
  113.             {
  114.                 Atual = Primeiro;
  115.                 free(Atual);
  116.                 Atual = Primeiro = Ultimo = (struct Pilha*) NULL;
  117.                 return;
  118.             }
  119.  
  120.             Atual = Primeiro;
  121.             Primeiro = Primeiro-> Proximo;
  122.             free(Atual);
  123. }
  124. void Consultar(void) {
  125.  
  126.     Atual = Primeiro;
  127.     int verificaID;
  128.  
  129.     printf("Informe o ID: ");
  130.     scanf("%d", &verificaID);
  131.  
  132.     while (Atual != (struct Pilha*) NULL) {
  133.         if (Atual-> Id == verificaID) {
  134.             printf("ID: %d | Valor %d\n", Atual-> Id, Atual-> Valor);
  135.         }
  136.         Atual = Atual-> Proximo;
  137.     }
  138.  
  139.     system("pause");
  140. }
  141. void Listar(void) {
  142.     Atual = Primeiro;
  143.     while (Atual != (struct Pilha*) NULL) {
  144.         printf("ID: %d | Valor %d\n", Atual-> Id, Atual-> Valor);
  145.         Atual = Atual-> Proximo;
  146.  
  147.     }
  148.     system("pause");
  149. }
  150. void sobre_aplicativo(void) {
  151.  
  152.     printf("Aplicação inicia no dia 19/03/2014\n");
  153.     printf("Autores: \n");
  154.     printf("Marcelo Wender Sousa do Nascimento\n");
  155.     printf("Marina Moreno\n");
  156.     printf("Jhonatan\n\n");
  157.     system("Pause");
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement