Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
jpedro20

Gerenciamento de parques

Recommended Posts

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

Share this post


Link to post
Share on other sites
jpedro20

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

Cumprimentos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.