Ir para conteúdo

  • Entrar usando o Facebook Entrar usando o Twitter Entrar usando o Windows Live Login com Steam Login com Google      Entrar   
  • Cadastre-se

Ícone Classificados

Adicionar um Anúncio

Membros VIP mais recentes

Redes Sociais

Membros mais bem avaliados

Atualizações recentes de status

Visualizar Todas Atualizações

Aniversariantes de Hoje


Foto
- - - - -

Lista ligada - Struct dentro de Struc


  • Por favor, faça o login para responder
2 respostas neste tópico

#1 angelita dias

angelita dias
  • Membros Juniores
  • 2 posts
  • Membro desde 04/05/2012
0
Neutra
  • Paulinia, São Paulo

Postado 04 de maio de 2012 - 14h04min

:confused:

Pessoal boa tarde,
Estou fazendo um projetinho sobre um gerenciameto simples de escola. Castrar um aluno, ou seja uma struct que tenha Nome, RA, Disciplina e nota. Ai que esta o problema os campos Disciplina e Nota devem ser outra struct pois um aluno pode estar matriculado em varias disciplinas diferentes, e a professora não que que utilize vetor apenas structs. Eu ja havia feito o projeto todo com uma struct só ai agora que fui ver que tinha que ser duas e tal... Sera que alguem consegue me esclarecer como fica o meu codigo com esta alteração ??? Eu ja comecei a mexer no começo ja estou muito confusa.

Segue o inicio do meu codigo e com a primeira função de inserir um novo aluno lembrando que não precisa ser em ordem nem nada insere no final mesmo.

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

struct disciplina
{
* * * char disciplina [50];
* * * int nota;
* * * *struct disciplina *prox; * // ISSO AQUI EU ADICIONEI DEPOIS DE FALAR COM A PROFIS
};

struct aluno
{
* * * char nome[50];
* * * struct disciplina *dis;// ISSO AQUI EU ADICIONEI DEPOIS DE FALAR COM A PROFIS
* * * int RA;
* * * *struct aluno *prox;
};

//Inserir novo Aluno na lista... Opção 1
int ins_aluno(struct aluno **pListaAluno, struct disciplina **pListaDis)// ISSO AQUI EU ADICIONEI DEPOIS DE FALAR COM A PROFIS
{
* * system("cls");
* * fflush(stdin);
* * fflush(stdout);

* * char nome[50];
* * char disciplina [50];
* * int RA;
* * int nota;

* *

* * printf("Insira o nome do Aluno: ");
* * gets(nome);

* * printf("Insira a disciplina cursada: ");
* * gets(disciplina);

* * printf("Insira o RA: ");
* * scanf("%d",&RA);
* *
* * printf("Insira a Nota: ");
* * scanf("%d",¬a);

* * struct aluno *aux, *aux2, *aux3;
* * aux = (struct aluno*)malloc(sizeof(struct aluno));
* * aux3 = (struct disciplina*)malloc(sizeof(struct disciplina));

* * strcpy(aux->nome, nome);
* * strcpy(aux3->disciplina, disciplina); * // ISSO AQUI EU ADICIONEI DEPOIS DE FALAR COM A PROFIS
* * aux->RA = RA;
* * aux3->nota = nota;
* * aux->prox = NULL;
* * aux3-> prox = NULL;

* * if ((*pListaAluno) == NULL)
* * {
* * * *(*pListaAluno) = aux;

* * * *printf("\nAluno inserido com sucesso!\n ");
* * * *system("pause");
* * * *return (1);
* * }
* * else
* * {
* * * * aux2 = (*pListaAluno);
* * * *
* * * * while (aux2->prox != NULL)
* * * * {
* * * * * * aux2=aux2->prox;
* * * * * *
* * * * }
* * * *
* * * * aux2->prox = aux;
* * * * *printf("\nAluno inserido com sucesso!\n ");
* * * * *system("pause");
* * * * *return (1);
* * }
* *
}


#2 SharaMoustache

SharaMoustache
  • Membros Plenos
  • 701 posts
  • Membro desde 27/03/2011
52
Excepcional
  • Brasília

Postado 05 de maio de 2012 - 04h08min

Faltou só aux->dis=aux3;

E se você faz:

printf("\nAluno inserido com sucesso!\n ");
system("pause");
return (1);


Tanto pro if quanto pro else, bastava colocar uma vez ao final da função...

...

-

-
Utilize as tags CODE!!! Aprenda: clique aqui


#3 angelita dias

angelita dias
  • Membros Juniores
  • 2 posts
  • Membro desde 04/05/2012
0
Neutra
  • Paulinia, São Paulo

Postado 05 de maio de 2012 - 13h31min

Ola obrigada pela resposta!

Mas ainda nao consegui compilar pois ele ja da erro nesta lista:

aux3 = (struct disciplina*)malloc(sizeof(struct disciplina));

quando tento alocar memoria para o aux3, na verdade eu nao sei se eu deveria alocar memoria para esta variavel tambem....

E agoraa??





0 usuário(s) está(ão) lendo este tópico

0 membros, 0 visitantes, 0 membros anônimos