Ir ao conteúdo
  • Cadastre-se

Leonardo Burato

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Tudo que Leonardo Burato postou

  1. Não tem um limite pra cursos que o aluno pode fazer, podendo um aluno estar em vários cursos, professor especificou isso. Tem como eu referência a lista de alunos ao ID do curso? Pois além da ID do aluno, eu vou ter o nome do mesmo, e pode ocorrer que eu adicione um aluno posterior eu criar o curso, ou tenha que remover um aluno em especifico de um curso, assim preciso de uma informação para saber como identificar qual curso está, e qual aluno é. Mas to me atrapalhando nesse pensando, como eu posso referenciar uma coisa na outra. Desculpa pedir assim, mas to iniciando o uso de lista encadeada, ainda não entendo direito. E muito obrigado pelas respostas, estão ajudando.
  2. Boa noite arfneto, Bom, o intuito do programa é realizar as opções da imagem abaixo, assim, estava pensando que eu teria que criar uma lista de alunos (que tivesse no máximo 6 alunos) para cada cursos (ID), assim eu poderia pesquisar os alunos, pois assim, vou cadastrar primeiramente o curso com a opção 1 do menu, e depois cadastrarei cada aluno. Com isso terei que mostrar e excluir tanto curso e alunos.
  3. Boa tarde, Estou realizando um trabalho da faculdade mas estou com duvida, eu necessito desenvolver uma lista encadeada com cursos de um plataforma de ensino, assim, eu tenho que criar um menu, com uma opção é adicionar um curso, ai informo o código e o nome do curso, esses valores passo pra uma lista encadeada, posterior em outra opção eu adiciono os aluno aos curso que eu adicionei anteriormente, contudo estou com dúvida como posso adicionar os alunos, ao mesmo curso que eu adicionei anteriormente, e se caso eu tenho dois curso eu possa informar o código da turma e ele adicione os valores referenciados ao curso certo. Poderiam me ajudar a como eu posso ligar os alunos ao curso e possa escolher qual curso eu quero adicionar. Tenho um limite de 6 alunos por curso. Agradeço qualquer ajuda ou ideia de onde posso buscar um meio de fazer isso. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <string.h> #define NOME 50 struct nodoA{ int codA; char nomeA[20]; }aluno; //Estrutura do nodo struct nodoC{ int codC; char nomeC[10]; struct nodoA alunos [6]; struct nodoC *proxC; }curso; struct nodoC *auxC; struct nodoC *inicio; int valor; char nC [10]; char nA [20]; // Procedimento para inserir curso void insere_curso(int codigC, char vetC []) { auxC=(struct nodoC*)malloc(sizeof(curso)); auxC->codC=codigC; auxC->proxC=NULL; strcpy( auxC->nomeC, vetC); if(inicio == NULL){ inicio = auxC; } else{ auxC->proxC=inicio; inicio=auxC; } } void insere_aluno(int codigC,int codigA, char vetA){ curso.codC=codigC; for(int i=0; i<6; i++){ auxC->alunos[i].codA=codigA; strcpy( auxC->alunos[i].nomeA, vetA); } } int consulta(int valor) { int resp = 0; struct nodoC *atual = inicio; while(atual != NULL){ if(atual->codC == valor){ resp = 1; } atual = atual->proxC; } return resp; } void exclui() { struct nodoC *atual = inicio; if(inicio != NULL){ inicio = inicio->proxC; free(atual); //libera o espaço ocupado na memória } else{ printf("Lista Vazia\n"); } } //remore curso void remove_curso(int valor) { struct nodoC *atual = inicio; struct nodoC *ant = NULL; if(inicio != NULL){ //Lista existe if(consulta(valor) != 1){ // Verifica se o valor existe na lista printf("Valor %d nao existe na lista\n",valor); } else{ if(inicio->proxC == NULL){ //testa se a lista só possui um elemento // Valor existe na lista, mas a lista só possui um elemento free(inicio); inicio = NULL; } else{ if(atual->codC == valor){ //Lista possui vários elementos e o elemento a ser excluido é o primeiro exclui(); } else{ //acha o valor a ser excluído while(atual->codC != valor){ ant = atual; atual = atual->proxC; } ant->proxC = atual->proxC; free(atual); } } } } else{ printf("Lista Vazia\n"); } } void menu(){ printf("\n-----------Centro de cursos (CCSO)-----------\n"); printf("1 - Insere curso: \n"); printf("2 - Insere aluno no curso: \n"); printf("3 - Remove curso: \n"); printf("4 - Remove aluno no curso: \n"); printf("5 - Exibir curso em execucao em ordem de nome: \n"); printf("6 - Exibir curso em execucao em ordem de ID: \n"); printf("7 - Exibir nome dos alunos de um curso: \n"); printf("8 - Exibir ID de todos os alunos: \n"); printf("9 - Exibir curso de aluno: \n"); printf("10 - Exibir curso que tem 6 alunos: \n"); printf("11 - Exibir informações de um curso: \n"); printf("0 - FIM \n"); } int main(void) { setbuf(stdout, NULL); int resp = 1; menu(); fflush(stdin); printf("\nDigite sua opcao: "); scanf("%d", &resp); while(resp != 0){ switch(resp){ case 1: printf("\nDigite o ID do curso: "); scanf("%d",&valor); fflush(stdin); printf("\nDigite o nome do curso: "); gets(nC); fflush(stdin); insere_curso(valor, nC); break; case 2: printf("\nDigite o ID do curso: "); scanf("%d",&valor); fflush(stdin); printf("\nDigite o ID do aluno: "); scanf("%d",&valor); fflush(stdin); printf("\nDigite o nome do aluno: "); // insere_aluno; break; case 3: printf("\nDigite o ID do curso a ser removido: "); scanf("%d",&valor); fflush(stdin); remove_curso(valor); break; case 4: printf("\nDigite o ID do curso: "); scanf("%d",&valor); fflush(stdin); printf("\nDigite o ID do aluno: "); scanf("%d",&valor); fflush(stdin); break; case 5: break; case 6: break; case 7: break; case 8: break; case 9: break; case 10: break; case 11: break; } menu(); fflush(stdin); printf("Digite sua opcao:\n"); resp=getch(); } system("pause"); return EXIT_SUCCESS; }

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!