Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

jpedro20

Gerenciamento de parques

Mensagens Recomendadas

jpedro20

Boa tarde

estou a resolver uns exercicios em que temos de fazer o gerenciamento de parques de estacionamento.

Tenho a seguinte etrutura de dados

#define Lv 1   /* lugar livre */
#define Oc 0   /* lugar ocupado */
#define Cond 1  /* condicionado */
#define NCond 0  /* não condicionado*/

#define MAXLOTACAO 500

typedef char Nome[10];

typedef struct sParque
{
  int nlugares;
  int lugares[MAXLOTACAO];
  Nome nparque;
  int tipo;
} Parque;


typedef struct sUMParques
{
  int nactivos;
  Parque parques[10];
} UMParques;

estou a ter problemas com a funçao entracarro que, quando esta função é invocada, um lugar livre desse parque passa a ocupado. Eu tenho o seguinte:

 UMParques entracarro(UMParques lp, Nome p)
{
   int i=0,j=0, Np=-1, chg=1;
   
   //verifica o parque em que entra o carro
   while (i<lp.nactivos && Np!=i)
   {
     if (strcmp(lp.parques[i].nparque,p)==0)
       Np=i;
     else 
       i++;
   }
   
   //Muda o lugar para ocupado
   while (j<lp.parques[Np].nlugares && chg)
   {
     if (lp.parques[Np].lugares[j]==Lv)
     {
       lp.parques[Np].lugares[j]=Oc;
       chg=0;
     }
     else
       j++;
   }
   return lp;
}

Isto compila mas depois quando entra um carro e vou verficiar os lugares livres (outra função que já defini), o resultado não é o que pretendo. O que estou a fazer de mal? Aquela parte em que vejo o parque em que o carro vai entrar está correcta? (se nao, como posso fazer?)

Desde já obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpedro20

Já está resolvido. Já editei o código em cima com a solução correcta. Tinha de inicializar o Np.

Cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.