Ir para conteúdo
Fórum Script Brasil

Savanna

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre Savanna

Savanna's Achievements

0

Reputação

  1. Ah, obrigada! Eu não entendi muito bem sobre ter de definir a posição do p.nome no gets. Pois quando peço para o programa mostrar na tela ele mostra normalmente, assim: for(c=0;c<numprod;c++){ printf("Digite o valor de ""%s"": R$ ",p[c].nome); scanf("%f",&p[c].preço); } Mas já consegui resolver o problema que tava atrapalhando. Era erro de buffer: Se resolve colocando um fflush(stdin); antes do gets();
  2. Preciso criar um código onde eu armazene o nome de lojas, nome dos produtos e os preços dos produtos em cada uma das lojas em variáveis structs. O erro acontece quando na primeira volta do laço de repetição o gets não executa, ou seja, pula a solicitação do nome da segunda loja e já pede o preço dos produtos. Agradeço quem puder me ajudar! #include<stdio.h> #include<string.h> struct produto{ char nome[50]; float preço; } p[1000] ; struct loja{ char nome[50]; struct produto; } l[1000] ; main(){ char escolha[50]; int i=0,b,numprod,c; printf("= = = = Faca sua lista de compras e quando acabar digite ""fim"" = = = =\n\n"); do{ printf("* "); struct produto; gets ( p.nome) ; strcpy(escolha, p.nome); i=i+1; }while(strcmp(escolha, "fim") != 0&&strcmp(escolha, "FIM") != 0); numprod=i-1; i=0; do{ if(i==0){ printf("= = = = Digite o nome de uma loja a ser pesquisada = = = =\n\n"); }else{ printf("= = Digite o nome da proxima loja a ser pesquisada ou [fim] para finalizar = =\n\n"); } struct loja; gets ( l.nome) ; strcpy(escolha, l.nome); i=i+1; for(c=0;c<numprod;c++){ printf("Digite o valor de ""%s"": R$ ",p[c].nome); scanf("%f",&p[c].preço); } }while(strcmp(escolha, "fim") != 0&&strcmp(escolha, "FIM") != 0); }
×
×
  • Criar Novo...