Boa tarde galera,
Estou fazendo um trabalho para a faculdade sobre um programa de supermercado. Estou rodando o programa e está funcionando porém ao adicionar o nome do segundo produto ele está pulando a etapa. Já tentei de todas as formas resolver mas até o momento não consegui.
#include <stdio.h>
#include <stdlib.h>
#define ARQ "produtos.txt"
typedef struct produto
{
int codigo;
char nome[30];
float limite;
}Produtos;
void print_menu()
{
printf("****************\n");
printf ("Sejam Bem Vindos - Mercado Anhanguera: \n");
printf("Digite o que deseja fazer:\n");
printf("0 - Sair do programa.\n");
printf("1 - Incluir produto(s).\n");
printf("****************\n");
}
int main()
{
Produtos code,name,limit,dados[100]={{0}};
int opcao,i,q;
char resp;
FILE *arquivo,*arq;
if((arquivo = fopen(ARQ,"a+")) == NULL)
{
printf("Erro ao abrir arquivo!!!\n");
exit(1);
}
do{
print_menu();
scanf("%d",&opcao);
switch(opcao)
{
case 1:
printf("Digite a quantidade de produtos que deseja inserir:\n");
scanf("%d",&q);
for(i=0;i<q;i++){
code.codigo = i+1;
printf("Digite o nome do produto que deseja incluir:\n");
scanf("%s",name.nome);
printf("Digite o setor do produto:\n");
scanf("%d",&limit.limite);
printf("\n");
printf("%d %s %.2f\n",code.codigo,name.nome,limit.limite);
fprintf(arquivo,"%d %s %.2f\n",code.codigo,name.nome,limit.limite);
}
break;
}
}while(opcao != 0);
fclose(arquivo);
system("pause");
}
Já olhei e reli várias vezes porém não consigo identificar