so pra ter certeza, os metodos de ordenação que vao ser usados no ep 4 podem ser qualquer um? nao influenciando na nota?
Bom dia Renato,
Note os vetores devem ser mantidos ordenados todo o tempo. Com isso, acho que você não vai chamar uma função para ordená-los.
Abraços,
--
carlinhos
Note os vetores devem ser mantidos ordenados todo o tempo. Com isso, acho que você não vai chamar uma função para ordená-los.
Abraços,
--
carlinhos
estou com um probleminha...
pAluno_Disciplina ant, atual;
pAluno_Disciplina novo;
atual = lista;
ant = NULL;
novo = malloc(sizeof(Aluno_Disciplina));
if(novo==NULL){
printf("Erro de memória!\n");
exit(0);
}
novo->ind_aluno = x.ind_aluno;
novo->ind_disc = x.ind_disc;
nas duas últimas linhas, da o mesmo erro... "dereferencing pointer to incomplete type"
tentei mudar para novo.ind_aluno, mas o erro muda para: " request for member ‘ind_aluno’ in something not a structure or union"
alguem tem alguma idéia?!
abraçoss
pAluno_Disciplina ant, atual;
pAluno_Disciplina novo;
atual = lista;
ant = NULL;
novo = malloc(sizeof(Aluno_Disciplina));
if(novo==NULL){
printf("Erro de memória!\n");
exit(0);
}
novo->ind_aluno = x.ind_aluno;
novo->ind_disc = x.ind_disc;
nas duas últimas linhas, da o mesmo erro... "dereferencing pointer to incomplete type"
tentei mudar para novo.ind_aluno, mas o erro muda para: " request for member ‘ind_aluno’ in something not a structure or union"
alguem tem alguma idéia?!
abraçoss
Acho que o problema deve estar em x, e não no novo.
Eu veria se x tá, de fato, apontando pra alguma coisa e se "x." acessa o campo (será q não é "x->"?)
Eu veria se x tá, de fato, apontando pra alguma coisa e se "x." acessa o campo (será q não é "x->"?)
não eh no x não... x eh passado nos parametros da função...
pAluno_Disciplina inserenaordem(pAluno_Disciplina lista, Aluno_Disciplina x)
pAluno_Disciplina inserenaordem(pAluno_Disciplina lista, Aluno_Disciplina x)
acho que seria x->ind_aluno ou (*x).ind_aluno
deve dar certo agora ..
deve dar certo agora ..
nenhum dos dois... =/
aki ta a função toda até o trecho com problemas...
pAluno_Disciplina inserenaordem(pAluno_Disciplina lista, Aluno_Disciplina x){
pAluno_Disciplina ant, atual;
pAluno_Disciplina novo;
atual = lista;
ant = NULL;
novo = malloc(sizeof(Aluno_Disciplina));
if(novo==NULL){
printf("Erro de memória!\n");
exit(0);
}
novo.ind_aluno = *x.ind_aluno;
novo->ind_disc = x.ind_disc;
as structs estão todas especificadas como o prof carlinhos pediu...
aki ta a função toda até o trecho com problemas...
pAluno_Disciplina inserenaordem(pAluno_Disciplina lista, Aluno_Disciplina x){
pAluno_Disciplina ant, atual;
pAluno_Disciplina novo;
atual = lista;
ant = NULL;
novo = malloc(sizeof(Aluno_Disciplina));
if(novo==NULL){
printf("Erro de memória!\n");
exit(0);
}
novo.ind_aluno = *x.ind_aluno;
novo->ind_disc = x.ind_disc;
as structs estão todas especificadas como o prof carlinhos pediu...
onde está escrito
novo.ind_aluno = *x.ind_aluno;
na verdade é
novo->ind_aluno = x.ind_aluno;
né?
Eu acho que o problema não está nesse pedaço de código..
O erro é de compilação? Aqui eu compilei sem problemas isso ai.
Eu alterei um pouco as structs do pdf, talvez seja isso. Fiz assim:
struct aluno_disciplina {
int ind_aluno;
int ind_disc;
struct aluno_disciplina *prox_aluno; // Aqui.
struct aluno_disciplina *prox_disc;
};
typedef struct aluno_disciplina Aluno_Disciplina;
typedef struct aluno_disciplina* pAluno_Disciplina;
struct aluno {
int nusp;
char nome[64];
pAluno_Disciplina inicio;
};
struct disciplina {
char sigla[8];
char nome[64];
pAluno_Disciplina inicio;
};
typedef struct aluno Aluno;
typedef struct disciplina Disciplina;
novo.ind_aluno = *x.ind_aluno;
na verdade é
novo->ind_aluno = x.ind_aluno;
né?
Eu acho que o problema não está nesse pedaço de código..
O erro é de compilação? Aqui eu compilei sem problemas isso ai.
Eu alterei um pouco as structs do pdf, talvez seja isso. Fiz assim:
struct aluno_disciplina {
int ind_aluno;
int ind_disc;
struct aluno_disciplina *prox_aluno; // Aqui.
struct aluno_disciplina *prox_disc;
};
typedef struct aluno_disciplina Aluno_Disciplina;
typedef struct aluno_disciplina* pAluno_Disciplina;
struct aluno {
int nusp;
char nome[64];
pAluno_Disciplina inicio;
};
struct disciplina {
char sigla[8];
char nome[64];
pAluno_Disciplina inicio;
};
typedef struct aluno Aluno;
typedef struct disciplina Disciplina;
as alterações que vc fez estão corretas sim.. eu estava testando o código e esqueci de colocar no original...
qto às alterações de struct também pensei em fazê-las...
já que parece q não fui o único que pensei nisso...
Carlinhos,
a as alterações das structs do pdf podem ser feitas?!
Estranho... eu fiz as estruturas na ordem e na forma do enunciado, e pra mim o seu código também compila sem problemas.
Se entendi, você só mudou o nome do campo, certo?
Melhor não mudar, pois simplifica para o monitor manter a mesma estrutura.
abraços,
--
carlinhos
Melhor não mudar, pois simplifica para o monitor manter a mesma estrutura.
abraços,
--
carlinhos
No enunciado está assim:
struct aluno_disciplina {
int ind_aluno;
int ind_disc;
pAluno_Disciplina prox_aluno;
pAluno_Disciplina prox_disc;
};
Deixei assim:
struct aluno_disciplina {
int ind_aluno;
int ind_disc;
struct aluno_disciplina *prox_aluno;
struct aluno_disciplina *prox_disc;
};
Porque coloquei typedef do pAluno_Disciplina depois disso..
Achei que fosse dar erro nos typedefs das structs se colocassemos eles antes de especificar as structs, mas acabei de constatar que não. Compila sem problemas de qualquer jeito.
struct aluno_disciplina {
int ind_aluno;
int ind_disc;
pAluno_Disciplina prox_aluno;
pAluno_Disciplina prox_disc;
};
Deixei assim:
struct aluno_disciplina {
int ind_aluno;
int ind_disc;
struct aluno_disciplina *prox_aluno;
struct aluno_disciplina *prox_disc;
};
Porque coloquei typedef do pAluno_Disciplina depois disso..
Achei que fosse dar erro nos typedefs das structs se colocassemos eles antes de especificar as structs, mas acabei de constatar que não. Compila sem problemas de qualquer jeito.
agora compila... ¬¬
não entendi
troquei desse jeito que o felipe disse. E deu certo.. terminei o EP e agora depois de pronto, ele já não dá problemas.
Estranho porque foi só alterar as structs e ele funcionou...
E agora retornando para como estava antes[creio q seja como estava antes, rsrsrs]
Não entendi... talvez alguma ordem estava errada... felipe, declarar de qq forma dá certo?!
não entendi
troquei desse jeito que o felipe disse. E deu certo.. terminei o EP e agora depois de pronto, ele já não dá problemas.
Estranho porque foi só alterar as structs e ele funcionou...
E agora retornando para como estava antes[creio q seja como estava antes, rsrsrs]
Não entendi... talvez alguma ordem estava errada... felipe, declarar de qq forma dá certo?!
Acho que vc deve ter esquecido de alguma coisa da primeira vez..
Nao sei se de qq forma dá certo, só sei que da forma como postei e como está no enunciado dão certo =)
Nao sei se de qq forma dá certo, só sei que da forma como postei e como está no enunciado dão certo =)
Mas x->ind_aluno não é igual a (*x).ind_aluno?
eu não entendo onde possa ser o problema, pq tentei de [acredito eu] todas a maneiras possiveis[ e plausiveis] de fazer a atribuição...
Oi Willen,
Você tem certeza que o erro está nessa parte do código? Ela parece não ter erros.
Você tem certeza que o erro está nessa parte do código? Ela parece não ter erros.