Ir ao conteúdo
  • Cadastre-se

Lista ligada - Struct dentro de Struc


angelita dias

Posts recomendados

: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",&nota);

* * 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);

* * }

* *

}

Link para o comentário
Compartilhar em outros sites

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??

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...