donutLukke Postado Fevereiro 26, 2023 em 22:25 Compartilhar Postado Fevereiro 26, 2023 em 22:25 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
fredericopissarra Postado Fevereiro 27, 2023 em 13:35 Compartilhar Postado Fevereiro 27, 2023 em 13:35 Depende do que você quer fazer, é claro, mas eu sugeriria, se for o caso de ter uma única interface, que 3 funções fossem criadas. Por exemplo: enum kind_e { PRODUCT, CONSUMER }; _Bool saveProduct( Product *p ) { ... } _Bool saveConsumer( Consumer *p ) { ... } _Bool save( void *p, enum kind_e kind ) { switch ( kind ) { case PRODUCT: return saveProduct( p ); case CONSUMER: return saveConsumer( p ); } return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.