Ir ao conteúdo

Posts recomendados

Postado

boa noite,eu tenho que fazer um trabalho da faculdade e eu não entendi como fazer. o tópico do trabalho é esse :

 

Você faz parte da equipe de desenvolvimento do sistema Zer@Dengue e ficou encarregado de
desenvolver uma estrutura de dados para o controle de solicitações do usuário. Uma das
funcionalidades do Zer@Dengue é o cadastro de áreas que possuem o foco do mosquito, para isso,
precisa-se de um método que coloque todas as solicitações do usuário em uma ordem de
atendimento. A estrutura de dados escolhidas para implementar o controle de solicitações foi a fila.
Esta estrutura segue o conceito de FIFO (first in, first out), portanto os primeiros elementos a
entrarem são os primeiros a saírem da estrutura. Para o sistema do Zer@Dengue é necessário fazer
a implementação da Fila, sendo que a entrada de dados será o número da solicitação. Cada usuário
pode realizar no máximo 20 solicitações simultâneas. Além destas implementações, será necessário
desenvolver os métodos de criar fila, inserir item, remover item, retornar fila vazia, tamanho da fila
e a sequência armazenada. Todos esses métodos devem ser implementados em funções.
Linguagens sugeridas C / C++.
  

 

 

poderiam por favor me dar uma luz e mostrar como isso seria feito ?isso me ajudaria muito

Postado

@bruno benevenuto é muito parecido com uma pilha pois ambos são do tipo lista ou seja coleção de dados agrupados as diferenças sao as regras de entrada e saida. veja esse exemplo de fila isso te ajudará.

#include <stdio.h> 
#include <stdlib.h> 
#include <locale.h> 

#define tamanho 5 

struct tfila {  
int dados[tamanho];  
int ini;  
int fim;  
};


struct tfila fila; 
int op;

//Protipação 
void fila_entrar(); 
void fila_sair(); 
void fila_mostrar(); 
void menu_mostrar(); 


int main(){  
setlocale(LC_ALL, "Portuguese");      
	op = 1;    
	fila.ini = 0;  
	fila.fim = 0;  
	
	while (op != 0) {    
	system("cls");      
	fila_mostrar();    
	menu_mostrar(); 
	
	scanf("%d", &op);    
		switch (op) {      
		case 1:        
		fila_entrar();      
		break;
		case 2:        
		fila_sair();      
		break;    
		}        
	}    
	return(0); 
	}
//Adicionar um elemento no final da Fila 
	void fila_entrar(){  
		if (fila.fim == tamanho) {    
		printf("\nA fila está cheia, volte outro dia!\n\n");              
		system("pause");        
		}    
		else {        
		printf("\nDigite o valor a ser inserido: ");            
		scanf("%d", &fila.dados[fila.fim]);      
		fila.fim++;    
	}  
}

		//Retirar o primeiro elemento da Fila 
		void fila_sair() {  
		if (fila.ini == fila.fim) {    
		printf("\nFila vazia, mas logo aparece alguém!\n\n");              
		system("pause");        
		}   
		else {    
		int i;      
		for (i = 0; i < tamanho; i++) {      
		fila.dados[i] = fila.dados[i+1];              
		}      
		fila.dados[fila.fim] = 0;    
		fila.fim--;  
		}  
	}
	
//Mostrar o conteúdo da Fila 
		void fila_mostrar() {  
		int i;    
		printf("[  ");         
 		for (i = 0; i < tamanho; i++) {   
  		printf("%d  ", fila.dados[i]);           
  		 }  
   		printf("]\n\n");        
   	}
   
//Mostrar o menu de opções 
	void menu_mostrar() {  
	printf("\nEscolha uma opção:\n");          
	printf("1 - Incluir na Fila\n");              
	printf("2 - Excluir da Fila\n");              
	printf("0 - Sair\n\n");          
	}

 

  • Obrigado 1
Postado
5 minutos atrás, herbertbahia disse:

@bruno benevenuto é muito parecido com uma pilha pois ambos são do tipo lista ou seja coleção de dados agrupados as diferenças sao as regras de entrada e saida. veja esse exemplo de fila isso te ajudará.


#include <stdio.h> 
#include <stdlib.h> 
#include <locale.h> 

#define tamanho 5 

struct tfila {  
int dados[tamanho];  
int ini;  
int fim;  
};


struct tfila fila; 
int op;

//Protipação 
void fila_entrar(); 
void fila_sair(); 
void fila_mostrar(); 
void menu_mostrar(); 


int main(){  
setlocale(LC_ALL, "Portuguese");      
	op = 1;    
	fila.ini = 0;  
	fila.fim = 0;  
	
	while (op != 0) {    
	system("cls");      
	fila_mostrar();    
	menu_mostrar(); 
	
	scanf("%d", &op);    
		switch (op) {      
		case 1:        
		fila_entrar();      
		break;
		case 2:        
		fila_sair();      
		break;    
		}        
	}    
	return(0); 
	}
//Adicionar um elemento no final da Fila 
	void fila_entrar(){  
		if (fila.fim == tamanho) {    
		printf("\nA fila está cheia, volte outro dia!\n\n");              
		system("pause");        
		}    
		else {        
		printf("\nDigite o valor a ser inserido: ");            
		scanf("%d", &fila.dados[fila.fim]);      
		fila.fim++;    
	}  
}

		//Retirar o primeiro elemento da Fila 
		void fila_sair() {  
		if (fila.ini == fila.fim) {    
		printf("\nFila vazia, mas logo aparece alguém!\n\n");              
		system("pause");        
		}   
		else {    
		int i;      
		for (i = 0; i < tamanho; i++) {      
		fila.dados[i] = fila.dados[i+1];              
		}      
		fila.dados[fila.fim] = 0;    
		fila.fim--;  
		}  
	}
	
//Mostrar o conteúdo da Fila 
		void fila_mostrar() {  
		int i;    
		printf("[  ");         
 		for (i = 0; i < tamanho; i++) {   
  		printf("%d  ", fila.dados[i]);           
  		 }  
   		printf("]\n\n");        
   	}
   
//Mostrar o menu de opções 
	void menu_mostrar() {  
	printf("\nEscolha uma opção:\n");          
	printf("1 - Incluir na Fila\n");              
	printf("2 - Excluir da Fila\n");              
	printf("0 - Sair\n\n");          
	}

 

cara,muito obrigado,você deu uma iluminada enorme pra mim,obrigado mesmo 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...