Fui continuar o programa e um erro bem semelhante apareceu, poderia me dar uma luz?
Dei uma pesquisada e vi algumas pessoas aconselhando usar o debug para encontrar o motivo do erro, mas não consegui entender muito bem o que significava o codigo de erro.
codigo abaixo (juro que procurei o lugar pra colocar o comando de <> conforme mostra o primeiro topico deste forum, mas não encontrei)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct vacina
{
int codigo ;
char nome[50];
char cpf [20];
char tipo[30];
char data[12];
int lote ;
};
int main(void)
{
int i=0, j, k;
printf ("%d", i);
char str[20];
struct vacina cadastro[i];
printf ("Seja bem vindo ao sistema,\n\
\rdigite um valor para ser redirecionado\n\
\ra sua respectiva funcao :\n\
\r\tMenu\n");
do
{
printf(" 1 : Cadastrar uma nova ficha. \n");
printf(" 2 : Buscar uma ficha ja cadastrada.\n");
printf(" Outro valor: Sair do sistema. \n");
fgets(str , sizeof(str) , stdin);
k = atoi(str);
printf("valor de K= %d\n",k);
if (k==1)
{
fflush(stdin);
printf ("Digite os dados do cadastro conforme solicitado: \n");
cadastro[i].codigo = i;
printf ("%d\n", cadastro[i].codigo);
printf ("Nome completo:");
fgets (cadastro[i].nome, 50, stdin);
printf ("%s\n", cadastro[i].nome);
printf ("CPF:");
fgets (cadastro[i].cpf, 20, stdin);
printf ("%s\n", cadastro[i].cpf);
printf ("Nome da vacina: ");
fgets (cadastro[i].tipo, 30, stdin);
printf ("%s\n", cadastro[i].tipo);
printf ("Data da vacinação: ");
fgets (cadastro[i].data, 12, stdin);
printf("%s\n", cadastro[i].data);
printf ("Lote da vacina: ");
fgets(str, sizeof(str), stdin);
printf ("%s", str);
cadastro[i].lote = atoi (str);
printf ("\n=====================================================\n \n");
i++;
}
}while(k==1||k==2);
return 0;
}
Obs: Tentei preencher os valores utilizando variaveis em matrizes ao invés de utilizar uma struct e funcionou sem problemas.