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

(Resolvido) Listas dinamicas em c


Jefinho

Pergunta

bom dia galera

não consigo ver o erro nesse meu codigo

o compilador(gcc) indica na função inserirModelo

na linha

"Nova->chave = informacao;"

e sempre aparece o aviso

erro: tipos incompatíveis na atribuição

#include <stdio.h>
#include <stdlib.h>


//tipo para modelos de carros//
typedef struct  celulamodelo{
    int m;
    char chave[20];
    struct celulamodelo *prox;
     }CelulaModelo;
//tipo para Cor do carro//
typedef struct  celulaCor{
    int c;
    char chaveCor[20];
    struct celulaCor *prox1;
     }CelulaCor;
//tipo para cidade onde o carro foi vendido//
typedef struct  celulaCidade{
    int t;
    char chaveCidade[20];
    struct celulaCidade *prox2;
     }CelulaCidade;
     
     
/*
   Inicialização da Lista Encadeada
*/
void initLista(CelulaModelo **modelo)
{
   (*modelo)->prox = NULL;
}




void inserirModelo(CelulaModelo **modelo)
   {
       int i;
       int y;
       char informacao[20];
       CelulaModelo *Nova;
       printf("Entre a quantidade de modelos de carros");
    scanf("%d",&y);
    (*modelo)->m = y;
    i = 0;
    while (i <= (*modelo)->m)
    {
        printf("Entre com o modelo do carro");
         scanf("%s",&informacao);
         Nova = (CelulaModelo *)malloc(sizeof(CelulaModelo));
         Nova->chave = informacao;
         Nova->prox =(*modelo)->prox;
         *modelo = Nova;
         i=i+1;
    }
}    



//PROCEDIMENTO PARA O MENU INICIAL//
void menuInicial()
{
    printf("\n\n ------------------------------ \n\n");
    printf("1. consulta quantidade de carros vendidos\n");
    printf("2. consulta quantidade de carros de uma determinada cor vendidos\n");
    printf("3. consulta quantidade de carros vendidos em uma determinada cidade\n");
    printf("4. consulta quantidade de carro por modelo e cidade\n");
    printf("5. consulta quantidade de carro por modelo e cor\n");
    printf("6. consulta quantidade de carro por modelo, cor e cidade\n");
    printf("7. remove informação sobre venda\n");
    printf("8. lista nomes de modelos de carros\n"); 
    printf("9. lista nomes de cores\n");
    printf("10.lista nomes de cidades\n");
    printf("11. término de sequência de operações\n");                                 
   }
 // Função principal//  

int main()
{
    CelulaModelo *modelo;
    modelo = (CelulaModelo*)malloc(sizeof(struct celulamodelo));
    initLista(&modelo);
    inserirModelo(&modelo);
    menuInicial();
   return (0);
}

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Em C a atribuição de strings não pode ser feita com o operador =.

Use strcpy para copiar o conteudo de uma variável para outra.

Ou mesmo sprintf. Ex:

strcpy(Nova->chave, informacao);
ou
sprintf(Nova->chave,"%s", informacao);

Link para o comentário
Compartilhar em outros sites

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