Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Everton Nascimento

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

Recommended Posts

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 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.

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 =====

se puderem dar uma força.

Esse é o codigo que estou trabalhando..

#include <stdio.h>
#include <stdlib.h>
#include <conio.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;

void inicializa();
lava_jato insert();
void enqueue(lava_jato fila);

int main()
{
    fila1.fim = -1;
    insert();
    _getch();
}

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

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

void inicializa()
{
}

lava_jato insert()
{
    return lava_jato();
}

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

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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
Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×