Advertisement
MarceloSousa

Linguagem C - Pilha Pronta

Apr 6th, 2014
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.12 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.     int Valor, flagInclui=0;
  65.             printf("Informe o Valor: ");
  66.             scanf("%d", &Valor);
  67.  
  68.     if (Primeiro == (struct Pilha*) NULL)
  69.             {
  70.                 Atual = Primeiro = Ultimo = (struct Pilha*) malloc(sizeof(struct Pilha));
  71.                 Atual-> Id = 1;
  72.             Atual-> Proximo = (struct Pilha*) NULL;
  73.  
  74.             Atual-> Valor = Valor;
  75.             }
  76.             else
  77.             {
  78.                 Atual = Primeiro;
  79.                 while(Atual!=(struct Pilha*)NULL){
  80.  
  81.                     if(Atual->Valor == Valor){
  82.                         printf("\nEsse valor já existe!\n");
  83.                         getch();
  84.                         return;
  85.                          flagInclui = 1;
  86.                     }
  87.                 Atual = Atual-> Proximo;
  88.                 }
  89.  
  90.  
  91.                 if(flagInclui == 0){
  92.                 Ultimo-> Proximo = (struct Pilha*) malloc(sizeof(struct Pilha));
  93.                 Atual = Ultimo-> Proximo;
  94.                 Atual-> Id = Ultimo-> Id + 1;
  95.                 Ultimo = Atual;
  96.             Atual-> Proximo = (struct Pilha*) NULL;
  97.  
  98.             Atual-> Valor = Valor;
  99.                 }
  100.             }
  101.  
  102.  
  103.  
  104.  
  105. }
  106. void Alterar(void) {
  107.  
  108.     Atual = Primeiro;
  109.     int flag,verificaID, Valor;
  110.  
  111.     printf("Informe o Id: ");
  112.     scanf("%d", &verificaID);
  113.  
  114.     while (Atual != (struct Pilha*) NULL) {
  115.  
  116.  
  117.         if (Atual-> Id == verificaID) {
  118.             printf("Informe o novo Valor: ");
  119.             scanf("%d", &Valor);
  120.             Atual-> Valor = Valor;
  121.             break;
  122.             flag = 1;
  123.         }
  124.         Atual = Atual-> Proximo;
  125.  
  126.     }
  127.      if(flag==1) {
  128.             printf("ID não encontrado\n\n");
  129.             }
  130.     system("pause");
  131. }
  132. void Excluir(void) {
  133.    
  134. }
  135. void Consultar(void) {
  136.  
  137.     Atual = Primeiro;
  138.     int verificaID;
  139.  
  140.     printf("Informe o ID: ");
  141.     scanf("%d", &verificaID);
  142.  
  143.     while (Atual != (struct Pilha*) NULL) {
  144.         if (Atual-> Id == verificaID) {
  145.             printf("ID: %d | Valor %d\n", Atual-> Id, Atual-> Valor);
  146.         }
  147.         Atual = Atual-> Proximo;
  148.     }
  149.  
  150.     system("pause");
  151. }
  152. void Listar(void) {
  153.     Atual = Primeiro;
  154.     while (Atual != (struct Pilha*) NULL) {
  155.         printf("ID: %d | Valor %d\n", Atual-> Id, Atual-> Valor);
  156.         Atual = Atual-> Proximo;
  157.  
  158.     }
  159.     system("pause");
  160. }
  161. void sobre_aplicativo(void) {
  162.  
  163.     printf("Aplicação inicia no dia 19/03/2014\n");
  164.     printf("Autores: \n");
  165.     printf("Marcelo Wender Sousa do Nascimento\n");
  166.     printf("Marina Moreno\n");
  167.     printf("Jhonatan\n\n");
  168.     system("Pause");
  169. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement