Ir para conteúdo

donutLukke

Membros
  • Postagens

    4
  • Registro em

  • Última visita

Tudo que donutLukke postou

  1. Boa noite pessoal, tenho uma dúvida a respeito de organização e facilidade em ler um código, suponhamos que eu queria salvar um dado do tipo Produto. typedef struct_produto { int codigo[9]; char nome[30]; char marca[20]; }Produto; E eu também queira salvar um dado do tipo Colaborador. typedef struct_colaborador { int id[7]; char nome[30]; char cpf[11]; }Colaborador; Seria melhor eu criar uma função que pudesse salvar os dois tipos de dados, usando dessa forma uma varíavel que identificasse quando entrou um dado do tipo produto ou colaborador... int salvar(No_Arv **a, int opcao) { if(opcao == 1){ // Opção para salvar um dado do tipo produto ..... ..... } else if(opcao == 2){ // Opção para salvar um dado do tipo colaborador ..... ..... } } Ou criasse funções separadas, uma que salvasse o dado do tipo produto e outra que salvasse o dado do tipo colaborador? Desde já, agradeço pela ajuda.
  2. É que pensei na hipótese dos IDs serem identificadores que podem mudar, que podem um dia ter letras.
  3. Muito obrigado, algo tão óbvio e não consegui enxergar, muito paz para você e sua família.
  4. Boa noite pessoal, gostaria da ajuda de vocês. Estou fazendo um código que pega informações do usuário, coloca em uma AVL e depois passa os dados dessa AVL para um arquivo. O problema é que quando igualo ou sobreponho as posições da string nome[ ] em relação a string cpf[ ] (ambas da struct "stc_Aluno"), parece haver uma invasão de memória da string nome[ ] em cima da string cpf[ ]. Por exemplo: se uso... #define CAID 10 #define CANOME 11 #define CACPF 12 typedef struct A { char id[CAID]; char nome[CANOME]; char cpf[CACPF]; struct A *esquerdo, *direito; short altura; }stc_Aluno; O código consegue detectar se o CPF digitado já está na lista de dados. Já quando coloco assim... #define CAID 10 #define CANOME 12 #define CACPF 12 typedef struct A { char id[CAID]; char nome[CANOME]; char cpf[CACPF]; struct A *esquerdo, *direito; short altura; }stc_Aluno; O código não consegue detectar se o CPF digitado já está na lista de dados. Primeiro o código vai para a função de "idAluno", depois "nomeAluno" e por final a "cpfAluno". Dentro das funções "idAluno" e "cpfAluno", há a função "compareAluno", que é responsável por identificar se o dado digitado já está contido na nossa AVL. No primeiro aluno adicionado, o código roda corretamente, já quando insiro os dados do segundo aluno, no momento da comparação de cpfs, a função ignora se o "cpf" digitado e o "cpf" que está na AVL são iguais. Vou deixar o link do código logo abaixo, pode fazer a modificação que achar necessária e se possível, coloque aqui nesse post, o que você usou para resolver o problema. https://replit.com/join/snrbwfcatk-lucasverissimo1
×
×
  • Criar Novo...