Bom boa noite pessoal, eu sou inciante em C e estou estudando pilha.Foi me passado um exercício onde eu deveria criar uma pilha para armazenar um
certo número de carros(marca,modelo,cor e placa).
Então e dividi o problema e tentei primeiro alocar dinamicamente as pilhas na memória e assim ficou meu código
#include <stdio.h>
#include <stdlib.h>
struct carro {
char cor[10],modelo[10],marca[10];
int placa;
};
typedef struct carro tcarro;
struct p {
int inicio;
tcarro *pilha;
};
typedef struct p tpilha;
tpilha* incrementar_pilha ();
void menu ();
int main () {
tpilha *p;
tcarro *c;
int op;
do {
menu();
scanf(" %d",&op);
switch (op) {
case 1 :
p=incrementar_pilha();
break;
}
}while (op != 'c');
system("pause");
return 0;
}
tpilha* incrementar_pilha () {
tpilha *p;
int max;
printf("Digite o numero maximo de carros");
scanf(" %d",&max);
p->pilha=(tcarro*)malloc(max*sizeof(tcarro));
return p;
}
void menu () {
printf("1. Adicionar Carro\n");
printf("2. Retirar Carro\n");
printf("3. Sair\n");
}
Mas pelo visto o erro está aqui : " p->pilha=(tcarro*)malloc(max*sizeof(tcarro)); ".
Alguém sabe como eu poderia criar uma pilha alocar esses carros?
Estou completamente perdido, obrigado pela ajuda.
OBS: esse é o enunciado : Uma aplicação para gerenciar informações sobre carros que ficam em um estacionamento: placa, marca, modelo e cor. A aplicação deve permitir inserir, alterar e excluir as informações de um carro.Utilizando Pilhas.
Pergunta
Samuel Fernandes
Bom boa noite pessoal, eu sou inciante em C e estou estudando pilha.Foi me passado um exercício onde eu deveria criar uma pilha para armazenar um
certo número de carros(marca,modelo,cor e placa).
Então e dividi o problema e tentei primeiro alocar dinamicamente as pilhas na memória e assim ficou meu código
#include <stdio.h> #include <stdlib.h> struct carro { char cor[10],modelo[10],marca[10]; int placa; }; typedef struct carro tcarro; struct p { int inicio; tcarro *pilha; }; typedef struct p tpilha; tpilha* incrementar_pilha (); void menu (); int main () { tpilha *p; tcarro *c; int op; do { menu(); scanf(" %d",&op); switch (op) { case 1 : p=incrementar_pilha(); break; } }while (op != 'c'); system("pause"); return 0; } tpilha* incrementar_pilha () { tpilha *p; int max; printf("Digite o numero maximo de carros"); scanf(" %d",&max); p->pilha=(tcarro*)malloc(max*sizeof(tcarro)); return p; } void menu () { printf("1. Adicionar Carro\n"); printf("2. Retirar Carro\n"); printf("3. Sair\n"); }Mas pelo visto o erro está aqui : " p->pilha=(tcarro*)malloc(max*sizeof(tcarro)); ".
Alguém sabe como eu poderia criar uma pilha alocar esses carros?
Estou completamente perdido, obrigado pela ajuda.
OBS: esse é o enunciado : Uma aplicação para gerenciar informações sobre carros que ficam em um estacionamento: placa, marca, modelo e cor. A aplicação deve permitir inserir, alterar e excluir as informações de um carro.Utilizando Pilhas.
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.