Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''listasencadeadas''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Encontrado 2 registros

  1. Eu estou fazendo um cadastro escolar onde eu crio uma lista duplamente encadeada circular para inserir os alunos, e uma lista simplesmente encadeada para inserir uma disciplina do aluno. Na parte de cadastrar aluno deu tudo certo, mas na hora de inserir a lista de disciplina na lista do aluno selecionado da erro. Quem puder me ajudar eu agradeço. Segue o código: aluno.h #ifndef ALUNO_H_INCLUDED #define ALUNO_H_INCLUDED typedef struct DisciplinasListas { char nome[100]; struct DisciplinasListas * prox; }Disciplina; struct AlunosLista{ char nome[100], dataNascimento[11],matricula[10]; Disciplina * disciplinas; struct AlunosLista * next; struct AlunosLista * prev; }; void cadastrarAluno(); void imprimirLista(); void cadastrarDisciplinas(); struct AlunosLista * buscaAluno(char *); #endif main.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdbool.h> #include "aluno.h" typedef struct AlunosLista node; node *head = NULL, *tail = NULL; void cadastrarAluno() { node *newNode = (node *) malloc(sizeof(node)); printf("\nForneca a matricula: "); fgets(newNode->matricula,10,stdin); setbuf(stdin,NULL); printf("\nForneca o nome: "); fgets(newNode->nome,100,stdin); setbuf(stdin,NULL); printf("\nForneca a data de nascimento: "); fgets(newNode->dataNascimento,11,stdin); setbuf(stdin,NULL); newNode->disciplinas=NULL; newNode->next = newNode; newNode->prev = newNode; if(head==NULL) { head = newNode; tail = newNode; } else { tail->next = newNode; newNode->next = head; newNode->prev = tail; tail = newNode; head->prev = tail; } } void imprimirLista() { if(head==NULL) return; node *current = head; do { printf("\n%s", current->matricula); Disciplina *currentDisc = current->disciplinas; do { printf("\n%s", currentDisc->nome); currentDisc = currentDisc->prox; } while(currentDisc != current->disciplinas); current = current->next; } while(current != head); } struct AlunosLista * buscaAluno(char matricula[]) { if(head==NULL) return; node *current = head; do { if(!strcmp(current->matricula,matricula)) { return current; current = current->next; } } while(current != head); return 0; } void cadastrarDisciplinas() { char disciplina[100], matricula[10]; if(head==NULL) return; printf("\nForneça a matricula do aluno:"); fgets(matricula,10,stdin); setbuf(stdin,NULL); struct AlunosLista *busca = buscaAluno(matricula); if(busca!=0) { printf("\nForneça o nome da disciplina:"); fgets(disciplina,100,stdin); setbuf(stdin,NULL); node *current = head; do { if(current==busca) { if (!strcmp(current->matricula,matricula)) { Disciplina * lDisciplina = (Disciplina *)malloc(sizeof(Disciplina)); strcpy(lDisciplina->nome,disciplina); lDisciplina->prox = current->disciplinas; current->disciplinas->prox = lDisciplina; break; } } current = current->next; } while(current != head); } else printf("\nAluno inexistente!!!"); } int main(){ int opcao; do{ printf("\n1-cadastrar aluno"); printf("\n2-cadastrar disciplinas do aluno"); printf("\n3-listar"); printf("\n4-sair"); printf("\nForneca a sua opcao: "); scanf("%d",&opcao); setbuf(stdin,NULL); switch(opcao){ case 1: cadastrarAluno(); break; case 2: cadastrarDisciplinas(); break; case 3: imprimirLista(); break; } }while(opcao!=4); return 0; }
  2. Boa noite! Minha primeira pergunta no fórum, vamos lá: Preciso de uma ajuda para resolver este exercício, pois tento de tudo quanto é código e não imagino como resolve-lo: "Considerando listas de valores inteiros, implemente uma função que receba como parâmetro uma lista encadeada e um valor inteiro n e divida a lista em duas, de tal forma que a segunda lista comece no primeiro nó logo após a primeira ocorrência de n na lista original. Essa função deve obedecer ao protótipo: Lista*separa(Lista * l,int n); A função deve retornar um ponteiro para a segunda subdivisão da lista original, enquanto l deve continuar apontando para o primeiro elemento da primeira subdivisão da lista." Pfr me ajudem... pfr alguém...
×
×
  • Criar Novo...