Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include <stdio.h> #include <conio.h> #include <stdlib.h> // Implementação de fila usando vetor /* Estrutura que será usada para cada elemento da fila */ typedef struct tipo_cliente { int conta, agencia; char nome[15]; int tipo; } TCliente; TCliente cliente[30]; TCliente cl; int op, tamfila; /************************************************************************/ void linha() { int i; for (i=1; i<=80; i++) printf("_"); printf("\n"); } void cabec() { system("cls"); printf("Banco Poupe Muito - Fila Estatica\n"); linha(); } /* Funcao para inserir um novo cliente no final da fila */ void inserir () { int continuar; do // leitura dos dados do cliente { cabec(); printf("\n Chegada de novo cliente na fila \n"); printf("\n Numero da conta: "); scanf("%d",&cl.conta); printf("\n Numero da agencia: "); scanf("%d",&cl.agencia); printf("\n Nome: "); fflush(stdin); gets(cl.nome); printf("\n Tipo de cliente(1- especial, 2-normal): "); scanf("%d",&cl.tipo); // Inserir cliente na fila if (tamfila <30) /* Se ainda tem vaga na fila */ { cliente[tamfila] = cl; tamfila++; printf("\n\nInserido com Sucesso!!!!\n\n"); } else /* Fila cheia*/ printf("\n\nFila cheia, cliente nao inserido!!!!\n\n"); printf("\n Continuar inserindo (1-sim/2-nao)? "); scanf("%d",&continuar); } while (continuar == 1); // verifica se quer continuar inserindo } /* Consultar um primeiro cliente da fila */ void consultarprimeiro() { cabec(); printf("\nConsulta primeiro cliente da fila\n"); if (tamfila != 0) { printf("\n\nAgencia Conta Nome Tipo\n"); printf("--------------------------------------------------------\n"); printf("%4d %4d %-15s %2d\n", cliente[0].agencia,cliente[0].conta, cliente[0].nome, cliente[0].tipo); printf("--------------------------------------------------------\n"); } else printf("\n\nA fila está vazia!!\n\n"); printf("\n\nTecle enter para voltar para o menu\n"); getche(); } /* remover um cliente da fila */ void retirafila() { int i, confrem, continuar; do { cabec(); printf("\nRetira primeiro cliente da fila \n"); if (tamfila != 0) // verifica se tem elementos na fila { printf("\n\nAgencia Conta Nome Tipo\n"); printf("---------------------------------------------------\n"); printf("%4d %4d %-15s %2d\n", cliente[0].agencia, cliente[0].conta, cliente[0].nome, cliente[0].tipo); printf("---------------------------------------------------\n"); printf("\n\nconfirma retirada do cliente (1-sim, 2-nao)? "); scanf("%d",&confrem); if (confrem ==1) // confirma que quer remover { for (i=0; i<tamfila; i++) cliente[i] = cliente[i+1]; tamfila--; printf("\n\n Retirado da fila com sucesso!!!!\n\n"); } else // cancelou a remocao printf("\n\n Retirada cancelada\n\n"); } else // fila vazia printf("\n\nFila vazia!!\n\n"); printf("\n\nDeseja retirar outro cliente(1-sim, 2-nao)? "); scanf("%d",&continuar); } while (continuar ==1); // continuar retirando cliente da fila } /* Lista todos os clientes da fila */ void listar () { int i; cabec(); printf("\nListagem de clientes da fila\n"); if (tamfila != 0) { printf("\n\nAgencia Conta Nome Tipo\n"); printf("-------------------------------------------------------\n"); for (i=0; i<tamfila; i++) printf("%4d %4d %-15s %2d\n", cliente[i].agencia,cliente[i].conta, cliente[i].nome, cliente[i].tipo); printf("-------------------------------------------------------\n"); printf("\n\nQuantidade de clientes na fila = %d\n",tamfila); } else printf("\n\n Nao tem nenhum cliente na fila"); printf("\n\n\nTecle enter para voltar para o menu\n"); getche(); } // Programa principal main() { tamfila= 0; do { cabec(); printf("\nOpcoes: "); printf("\n\n 1 - Inserir cliente na fila"); printf("\n\n 2 - Consultar primeiro da fila"); printf("\n\n 3 - Retirar primeiro cliente da fila"); printf("\n\n 4 - Listar todos os clientes da fila"); printf("\n\n 0 - para sair \n"); linha(); printf("\nEntre com a sua opcao: "); scanf("%d", &op); /* Le a opcao do usuario */ switch(op) { case 1: inserir(); break; case 2: consultarprimeiro(); break; case 3: retirafila(); break; case 4: listar(); break; case 0: break; default: printf("\nOpcao nao valida"); } } while (op != 0); }
Compartilhar