Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
jefferson2008.1

ponteiros e estrutura em c [ajuda]

Recommended Posts

no meu código

na função inserirModelo eu faço


printf("Entre a quantidade de modelos de carros: ");
scanf("%d",&y);
(*modelo)->m = y;
i = 0;
while (i < (*modelo)->m )
{....................

mas o valor de y parece que não é atribuído a (*modelo)->m

pois o while so repete um vez indetendente do valor do y

alguem pode me dar uma ajuda ,dica...?


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

//tipo para modelos de carros//
typedef struct celulamodelo{
int m;
char chave[20]; //modifique "50" pelo tamanho de string desejado
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[20]);
Nova = (CelulaModelo *)malloc(sizeof(CelulaModelo));
sprintf(Nova->chave,"%s", 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);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

É realmente intrigante porque não encontro erro lógico nenhum!!! mais.

eu encontrei um erro pode ser ele eu ainda não testei, já que estou sem compilador aqui.


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[20]);//Aqui
Nova = (CelulaModelo *)malloc(sizeof(CelulaModelo));
sprintf(Nova->chave,"%s", informacao);
Nova->prox =(*modelo)->prox;
*modelo = Nova;
i=i+1;
}
}

corrige essa parte e vê se da certo (se for esse o caso)


while (i < (*modelo)->m )
{
printf("Entre com o modelo do carro: ");
scanf("%c",&informacao[20]);
...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×