#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);
}
Pergunta
Jefinho
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
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.