Jump to content
Sign in to follow this  
bmvr_88

Aceder a membros de uma struct dentro de outra struct

Recommended Posts

bmvr_88

Boas noites mais uma vez!!!

for(j=0 ; j<qt_livros ; j++){    
	  
	  __fpurge(stdin);
	  printf("\n\n\tIntroduza o ISBN do livro desejado: ");
	  gets(ISBN);
	      
	  quantidade=lerNumero(1,10000,"Quantidade");
	      
	      
	  strcpy(fac.liv[i].ISBN,ISBN);
	  fac.liv[i].quantidade=quantidade;
	  
// 		  write(socket_fd,&fac,sizeof(struct Factura));

	}

	for(i=0;i<qt_livros;i++){
	  printf("\n\nFACTURA Nº: %d\n",i);
	  printf("\nNOME CLIENTE[%d]: %s\n",i,fac.nome_cliente);
	  strcpy(ISBN,fac.liv[i].ISBN);
	  printf("\nISBN [%d]: %s\n",i,ISBN);
	  printf("\nQuantidade [%d]: %d\n",i,fac.liv[i].quantidade);
	  
	}

no código apresentado em cima pretendo preencher um array de struct Livro dentro da struct Factura, no entanto quando tento imprimir os dados guardados no array de struct Livro só me apresenta os dados da ultima inserção, alguém sabe o que se passa??

Abraço...

Share this post


Link to post
Share on other sites
jpedro20

for(j=0 ; j<qt_livros ; j++){    
	  
	  __fpurge(stdin);
	  printf("\n\n\tIntroduza o ISBN do livro desejado: ");
	  gets(ISBN);
	      
	  quantidade=lerNumero(1,10000,"Quantidade");
	      
	      
	  strcpy(fac.liv[i].ISBN,ISBN);
	  fac.liv[i].quantidade=quantidade;
	  
// 		  write(socket_fd,&fac,sizeof(struct Factura));

	}

Neste ciclo não estás a incrementar o i. Assim escreve sempre na mesma posição do array e portanto só aparece a última inserção quando fazes a listagem

EDIT: Reparei agora que tu queres é utilizar a variável j e não i

Share this post


Link to post
Share on other sites
bmvr_88

Obrigado jpedro20!!!! :)

Não tinha reparado nesse promenor  :wallbash:

Felicidades e abraços pra todos!!!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.