Ir para conteúdo
Fórum Script Brasil
  • 0

Como passo os dados de uma struct por parametro e armazeno em um Vetor


alexmeddeiros

Pergunta

OI pessoal, é a primeira vez que participo do fórum. Não estou conseguindo escrever um programa em que necessito passar os dados de uma struct por por parametro para uma função e armazenar esses dados em uma fila...

Só pra ficar contextualizado a questão é:

=== questão =====

Um lava jato possui duas filas de automóveis que vão chegando e são atendidos quando chega a sua vez. Primeiramente é definido um tipo abstrato de dado (TAD) para comportar os dados de um automóvel: um identificador numérico, seu nome/modelo (com máximo de 30 caracteres); e o preço do serviço. Em seguida, é criado um tipo abstrato de dado (TAD) que define a “fila” de automóveis, para comportar um máximo de 50 carros. E, por último, são criadas duas filas de automóveis, como duas variáveis globais: fila1 e fila2.

2.jpg

De posse do trecho de código fornecido em Linguagem C:
·         Crie a função “enqueue” ou “insert”, que recebe por parâmetro os dados de um automóvel (encapsulados em um tad) e insere na fila escolhida pelo cliente (prefira passar a fila por parâmetro e por referencia), verificando se existe espaço na fila, e emitindo mensagem de erro caso a fila esteja cheia.
·         Crie uma função “inicializa”, que esvazia as duas filas no inicio do dia de trabalho.
·         Crie a função “remove”, que retira um automóvel de uma fila indicada.
·         Crie também uma função “preço_ganho”, que recebe uma fila de automóveis como parâmetro e retorna o valor arrecadado pelo posto naquele dia.
·         No main, chame estas rotinas para:
o    Colocar alguns automóveis nas duas filas (4 ou 5 em cada uma bastam).
o   Retire pelo menos um automóvel de uma das filas.
o   E por último calcule seus valores totais.

=== fim questão =====

 

 

OBS.: Não estou pedindo pra resolverem pra mim. So queria um norte...

Esse é o codigo que estou trabalhando..

#include <stdio.h>
#include <stdlib.h>
#define TAM 50


struct automovel{
    int num;
    char modelo[30];
    double preço;
};
struct lava_jato{
    automovel a[TAM];
    int ini, fim;
    
};
struct lava_jato fila1, fila2;

// -- assinatura das funções
void inicializa();
lava_jato insert();
void enqueue(lava_jato fila);



// --- Main ---
int main()
{
	fila1.fim = -1;
	insert();    

	
}// --- End main ---


void inicializa(lava_jato){
	fila1.ini = 0;
	fila1.fim = -1;
	fila2.ini = 0;
	fila2.fim = -1;
};

// --- Enfileirar ---
lava_jato insert(lava_jato fila){
	printf("Digite o modelo: ");
    scanf("%c", &fila1.a[fila1.fim].modelo);
    printf("Digite o preço: ");
    scanf("%l", &fila1.a[fila1.fim].preço);
    
    fila = fila1;
    enqueue(fila); 
}

void enqueue(lava_jato fila)	
{
	if(fila1.fim<TAM-1){
		fila1.fim++;
		fila1.a[fila1.fim]=fila;
	}else{
		printf("Fila cheia ");
	}
}

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...