Buscar

Fila do Banco

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);
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando

Outros materiais