• Comunicados

    • Gabriel Torres

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

      Prezados membros do Fórum do Clube do Hardware,

      Está aberto o processo de seleção de novos moderadores para diversos setores do fórum. Os requisitos são:
        Pelo menos 1000 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 ao formulário 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.
Entre para seguir isso  
Seguidores 0
angelita dias

Lista ligada - Struct dentro de Struc

3 posts neste tópico

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

* * }

* *

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

...

-

Compartilhar este post


Link para o post
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??

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar agora
Entre para seguir isso  
Seguidores 0