Jump to content

Recommended Posts

Posted

Ola pessoal...eu estou a fazer um trabalho em C, que permite o registo de passagens nas portagens. A funcionalidade que nos pedem é:

  • Inserir um condutor
  • Listar condutores
  • Inserir carros
  • Listar carros
  • Ler dados de ficheiros

Estas são as funcionalidades base. Depois uma das funcionalidades extra é:

  • Ordenar carros por matricula, marca e modelo.

Os carros estão armazenados numa lista ligada. Nós usamos um algoritmo de ordenação, mas por alguma razão está a dar erro.

O código relevante à estrutura carro é o seguinte:

typedef struct carro
{
  char *Codigo;
  char *Matricula;
  char *Marca;
  char *Modelo;
  char *Ano;
  char *CodigoDono;
}CARRO;

typedef struct nocarro
{
  CARRO *inf;
  struct nocarro *seg;
}NOCARRO;

typedef struct listacarros
{
  NOCARRO *inicio;
  int nel;
}LISTACARROS;

Para ordenar utilizamos um algoritmo bubblesort:

void OrdenarCarroMatricula(CARRO* C, int ncarros)
{
  int j;
  bool houveTroca;
  do
  {
     houveTroca = false;
     for (j= 0; j< ncarros-1; j++)
     if (strcmp(C[j].Matricula,C[j+1].Matricula)>0)
     {
         houveTroca = true;
         trocacarro(&C[j], &C[j+1]);
     }
  } while (houveTroca);
}

Alguém poderia perceber o que há de errado no código??

Posted (edited)

O código relevante à estrutura carro é o seguinte:

typedef struct carro
{
 // ...
}CARRO; // <-----------------------------------------------------

typedef struct nocarro
{
}NOCARRO; // <----------------------------------------------------

typedef struct listacarros
{
}LISTACARROS; // <-----------------------------------------------------

Para ordenar utilizamos um algoritmo bubblesort:

void OrdenarCarroMatricula(CARRO* C,  // <-----------------------------------------------
                          int ncarros)
{
// ...
}

não te parece que esteja algo errado ao juntar a informação assinalada ?

Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p

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
×
×
  • Create New...

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.