Buscar

Como Fazer esse Programa em C++?

Desenvolva um programa que utiliza os conceitos de fila circular.
Faça a simulação de duas filas de um banco.
Uma fila é para clientes normais e outro é para clientes com prioridade (grávidas, idosos, etc).
Utilize números para identificar clientes normais e letras para identificar clientes com prioridade.

O programa deverá identificar o tipo de cliente e colocar na fila específica.
São 2 caixas no banco.
Um para cada tipo de cliente.
O caixa de prioridade somente atenderá clientes normais se não existir clientes com prioridade.

Exemplo:
Chegadas:
Chegou 1 - Fila Normal
Chegou 2 - Fila Normal
Chegou A - Fila Prioridade
Chegou 3 - Fila Normal
Chegou B - Fila Prioridade
Chegou 4 - Fila Normal
Chegou 5 - Fila Normal
Chegou 6 - Fila Normal
Chegou C - Fila Prioridade
Chegou 7 - Fila Normal

Atendimentos:
Caixa Normal - Atende 1
Caixa Prioridade - Atende A
Caixa Normal - Atende 2
Caixa Prioridade - Atende B
Caixa Normal - Atende 3
Caixa Prioridade - Atende 4
Caixa Normal - Atende 5
Caixa Prioridade - Atende 6
Caixa Normal - Atende 7
Caixa Prioridade - Atende C

Você precisa de um menu com as seguintes opções:

1 - Inserir na Fila (Identifique a fila por numero ou letra)
2 - Próximo Caixa Normal
3 - Próximo Caixa Prioridade
4 - Ver fila Normal
5 - Ver fila Prioridade

💡 4 Respostas

User badge image

Estudante PD

Que tal tentar fazer? Não sei C++, então não posso ajudar, mas seguem algumas dicas:

O livro "Estruturas de dados" das professoras Renata Galante e Nina te dão uma boa visão de como montar algoritmos de listas/filas (fila é um tipo de lista com algumas restrições na inserção e retirada de elementos) em qualquer linguagem de programação, pois estão escritos em pseudocódigo.

Nesta thread (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) há uma lista com bons livros sobre C++ para iniciantes.

o/

0
Dislike0
User badge image

Andre Smaira

Para a resolução desse problema foram utilizados conhecimentos em linguagem C e algoritmos.


#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <time.h>

#include <stdlib.h>

typedef struct {

char nome[100];

int numFila;

int senha;

}normal;

typedef struct {

char nome[100];

int numFila;

int senha;

}preferencial;

normal filaNormal[10];

preferencial filaPreferencial[10];

int senha,cont,cont2;

int menor = 0;

int ind=0;

for (tamanho=0;tamanho < 10;tamanho++){

if (menor > vetor[tamanho]) {

menor = vetor[tamanho];

}

}

return menor;

int ordena_Vetor(int vetor[]){

int i,x,j,ind,temp;

int retorno=0;

for (i=0;i<10;i++){

for(j=i+1;j<10;j++){

if( vetor[j] < vetor[i]){

temp = vetor[j];

vetor[j] = vetor[i];

vetor[i] = temp ;

}

}

}

return senha;

}

int existe_Espaco(int vetor[],int posicao){

int vazio[10];

if(vazio[posicao]=='0')

return 1;

else

return 0;

}

int chamar_Senha(int vetor[]){

int num,i,retorno = 0;

int vazio[10];

int vet[10];

for(i=0; i<10; i++) {

if (vazio[i]=='O'){

vetor[i]=num;

vazio[i]='X';

retorno=1;

break;

}

}

return retorno;

}

int main (){

srand(time(NULL));

int tipo_Fila,i ;

int resultadoFila;

char op;

int fila_Preferencial[10] = {0,0,0,0,0,0,0,0,0,0};

int fila_Normal[10]= {0,0,0,0,0,0,0,0,0,0};

do{

op='n';

printf("Digite qual fila deseja entrar:\n");

printf(" 1 - Para a fila normal\n");

printf(" 2 - Para a fila preferencial\n");

printf(" 3 - Listar Todos\n");

printf(" 0 - Para encerrar o programa\n\n");

printf("Resposta: ");

scanf("%d", &tipo_Fila);

if (tipo_Fila == 1){

int i=0;

printf("Digite seu nome:");

scanf("%s",&filaNormal[cont].nome);

printf("Bem vindo a fila %s\n", filaNormal[cont].nome);

printf("voce esta na fila de espera normal e o numero do seu ticket e : ");

filaNormal[cont].senha=senha;

printf("%d",senha);

cont++;

senha++;

}

if(tipo_Fila == 2){

printf("Digite seu nome:");

scanf("%s", &filaPreferencial[cont2].nome);

printf("Bem vindo a fila %s\n", filaPreferencial[cont2].nome);

filaPreferencial[cont2].senha=senha;

printf("Você está na fila de espera preferencial e numero do seu ticket e : ");

printf("%d",senha);

cont2++;

senha++;

}

if(tipo_Fila==3){

for(i=0;i<cont;i++){

if(strcmp(filaNormal[0].nome,"")!= 0&&i==0)printf("FilaNormal\n");

printf("Nome ----> %s\n",filaNormal[i].nome );

printf("Senha ---> %d\n\n",filaNormal[i].senha);

}

for(i=0;i<cont2;i++){

if(strcmp(filaPreferencial[0].nome,"")!= 0&&i==0)

printf("FilaPreferencial\n");

printf("Nome ----> %s\n",filaPreferencial[i].nome );

printf("Senha ---> %d\n\n",filaPreferencial[i].senha);

}

}

if(tipo_Fila == 0){

exit(0);

}

printf("\nPegar outra senha S/N ");

fflush(stdin);

scanf("%c",&op);

}while(op=='s');

}

0
Dislike0
User badge image

Andre Smaira

Para a resolução desse problema foram utilizados conhecimentos em linguagem C e algoritmos.


#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <time.h>

#include <stdlib.h>

typedef struct {

char nome[100];

int numFila;

int senha;

}normal;

typedef struct {

char nome[100];

int numFila;

int senha;

}preferencial;

normal filaNormal[10];

preferencial filaPreferencial[10];

int senha,cont,cont2;

int menor = 0;

int ind=0;

for (tamanho=0;tamanho < 10;tamanho++){

if (menor > vetor[tamanho]) {

menor = vetor[tamanho];

}

}

return menor;

int ordena_Vetor(int vetor[]){

int i,x,j,ind,temp;

int retorno=0;

for (i=0;i<10;i++){

for(j=i+1;j<10;j++){

if( vetor[j] < vetor[i]){

temp = vetor[j];

vetor[j] = vetor[i];

vetor[i] = temp ;

}

}

}

return senha;

}

int existe_Espaco(int vetor[],int posicao){

int vazio[10];

if(vazio[posicao]=='0')

return 1;

else

return 0;

}

int chamar_Senha(int vetor[]){

int num,i,retorno = 0;

int vazio[10];

int vet[10];

for(i=0; i<10; i++) {

if (vazio[i]=='O'){

vetor[i]=num;

vazio[i]='X';

retorno=1;

break;

}

}

return retorno;

}

int main (){

srand(time(NULL));

int tipo_Fila,i ;

int resultadoFila;

char op;

int fila_Preferencial[10] = {0,0,0,0,0,0,0,0,0,0};

int fila_Normal[10]= {0,0,0,0,0,0,0,0,0,0};

do{

op='n';

printf("Digite qual fila deseja entrar:\n");

printf(" 1 - Para a fila normal\n");

printf(" 2 - Para a fila preferencial\n");

printf(" 3 - Listar Todos\n");

printf(" 0 - Para encerrar o programa\n\n");

printf("Resposta: ");

scanf("%d", &tipo_Fila);

if (tipo_Fila == 1){

int i=0;

printf("Digite seu nome:");

scanf("%s",&filaNormal[cont].nome);

printf("Bem vindo a fila %s\n", filaNormal[cont].nome);

printf("voce esta na fila de espera normal e o numero do seu ticket e : ");

filaNormal[cont].senha=senha;

printf("%d",senha);

cont++;

senha++;

}

if(tipo_Fila == 2){

printf("Digite seu nome:");

scanf("%s", &filaPreferencial[cont2].nome);

printf("Bem vindo a fila %s\n", filaPreferencial[cont2].nome);

filaPreferencial[cont2].senha=senha;

printf("Você está na fila de espera preferencial e numero do seu ticket e : ");

printf("%d",senha);

cont2++;

senha++;

}

if(tipo_Fila==3){

for(i=0;i<cont;i++){

if(strcmp(filaNormal[0].nome,"")!= 0&&i==0)printf("FilaNormal\n");

printf("Nome ----> %s\n",filaNormal[i].nome );

printf("Senha ---> %d\n\n",filaNormal[i].senha);

}

for(i=0;i<cont2;i++){

if(strcmp(filaPreferencial[0].nome,"")!= 0&&i==0)

printf("FilaPreferencial\n");

printf("Nome ----> %s\n",filaPreferencial[i].nome );

printf("Senha ---> %d\n\n",filaPreferencial[i].senha);

}

}

if(tipo_Fila == 0){

exit(0);

}

printf("\nPegar outra senha S/N ");

fflush(stdin);

scanf("%c",&op);

}while(op=='s');

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais

Perguntas relacionadas

Question Icon

Como Fazer esse Programa em C++?

Linguagem de Programação (c/c++)

UNINOVE

User badge image

Robson Santos

Question Icon

Não sei como fazer esse programa por favor me ajudem

Prática de Programação (linguagem C)

UNINOVE

User badge image

Bertholdo e Pamela