donutLukke Posted February 26, 2023 at 10:25 PM Share Posted February 26, 2023 at 10:25 PM 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. Quote Link to comment Share on other sites More sharing options...
fredericopissarra Posted February 27, 2023 at 01:35 PM Share Posted February 27, 2023 at 01:35 PM 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; } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.