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);
}