Advertisement
sconetto

Lista - Banco 2

Apr 28th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.70 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct _fila fila;
  6.  
  7. struct _fila {
  8.     char* senha;
  9.     fila* prox;
  10. };
  11.  
  12. fila* cria_fila() {
  13.      return NULL;
  14. }
  15.  
  16. int vazia(fila *fil) {
  17.     return (fil == NULL);
  18. }
  19.  
  20. fila* insere_fila(fila *fil, char *senha) {
  21.     fila* novo = (fila*) malloc(sizeof(fila));
  22.     fila* aux = fil;
  23.     novo->senha = senha;
  24.     aux->prox = novo;
  25.     return aux;
  26. }
  27.  
  28. fila* retira_fila(fila* fil) {
  29.     fila *aux = fil;
  30.     fil = aux->prox;
  31.     free(aux);
  32.     return fil;
  33. }
  34.  
  35. void fila_imprime(fila* fil) {
  36.     fila* aux;
  37.     for (aux = fil; aux != NULL; aux = aux->prox) {
  38.         printf("%s ", aux->senha);
  39.     }
  40. }
  41.  
  42. void leia_string(char *s) {
  43.     char c;
  44.     int i = 0;
  45.     do {
  46.             c = getchar();
  47.             if(c != '\n')
  48.                 s[i] = c;
  49.             i++;
  50.         }while(c != '\n' && c != '\0');
  51. }
  52.  
  53. int main(int argc, char const *argv[]) {
  54.     char *senha;
  55.     fila *fil;
  56.     int aux1, aux2;
  57.     senha = malloc(sizeof(char));
  58.     fil = cria_fila();
  59.     while(1){
  60.             printf("Digite 0 para terminar a execução\n");
  61.             leia_string(senha);
  62.             senha[0]=toupper(senha[0]);
  63.             aux1 = strncmp(senha, "P", 1);
  64.             aux2 = strncmp(senha, "N", 1);
  65.             if(aux1 == 0 || aux2 == 0){
  66.                 fil = insere_fila(fil, senha);
  67.             }
  68.             else if(strcmp("Atendimento", senha) == 0){
  69.                 fil = retira_fila(fil);
  70.             }
  71.             else if(strcmp("0", senha) == 0)
  72.                 break;
  73.     }
  74.  
  75.     if(!vazia(fil)) {
  76.             printf("NENHUM CLIENTE\n");
  77.     }
  78.     else {
  79.         fila_imprime(fil);
  80.     }
  81.     return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement