array – Problema con arreglo char en estructura

creo que me acabo de topar con mi primer error fatal en programacion, no tengo mucha idea respecto a ello, soy nuevo en esto.
El error inicia en el primer for, ya lo probé, después de tener la productos(i).nombre y mostrarlo, osea —-Producto 1 Chicles—Por dar un ejemplo, despues de eso los chicles dejan de funcionar, se quedan vacios ese slot del arreglo, lo se por que puse printf(“%s”,productos(i).nombre) y me aparecia vacio, ojo todo esto despues de la primera captura de meses (despues de julio, antes de julio o en medio del printf y el scan funciona esto)
Adjunto codigo:

#include <stdio.h>
#include <string.h>
#include<stdlib.h>
    struct producto{
        char  nombre();
        float julio;
        float agosto;
        float septiembre;
        float octubre;
        float noviembre;
        float diciembre;
    }productos(4);
float integralmeses(float*,float*,float*,float*,float*,float*);
float integralprod(float*);
float promedio(float);
float mayor(float());
int main ()
{
    int i,n;
    float *mes1,*mes2,*mes3,*mes4,*mes5,*mes6,suma(4),total,*pintegral,prom,masgrande;
strcpy(productos(0).nombre, "Chicles"); 
strcpy(productos(1).nombre, "Chiclosos"); 
strcpy(productos(2).nombre, "Gomitas");
strcpy(productos(3).nombre, "Paletas");
printf("Bienvenido....n");
printf("Favor de ingresar las cantidad que genero cada mes del segundo semestren");
for (i=0;i<4;i++)
{
    printf("t-----Producto %d ""%s""-----n",i+1,productos(i).nombre);
    fflush (stdin);
    printf("Julio: ");scanf("%f",&productos(i).julio);
    mes1 = &productos(i).julio; 
    printf("Agosto: ");scanf("%f",&productos(i).agosto);
    mes2 = &productos(i).agosto;
    printf("Septiembre: ");scanf("%f",&productos(i).septiembre);
    mes3 = &productos(i).septiembre;
    printf("Octubre: ");scanf("%f",&productos(i).octubre);
    mes4 = &productos(i).octubre;
    printf("Noviembre: ");scanf("%f",&productos(i).noviembre);
    mes5 = &productos(i).noviembre;
    printf("Diciembre: ");scanf("%f",&productos(i).diciembre);
    mes6 = &productos(i).diciembre;
    suma(i)=integralmeses(mes1,mes2,mes3,mes4,mes5,mes6);
    pintegral = &suma(i);
    total += integralprod(pintegral);
    system("pause");
    system("cls");
}

prom = promedio(total);
masgrande = mayor(suma);
printf("Producto      tNombre        tJulio    t Agosto  tSeptiembre   tOctubre t Noviembre  tDiciembre  tTotaln");
for (i=0;i<4;i++)
{
    printf("%7d",i+1);
    printf("%s",productos(i).nombre);
    printf("t%7.2f ",productos(i).julio);
    printf("t%7.2f ",productos(i).agosto);
    printf("t%7.2f ",productos(i).septiembre);
    printf("t%7.2f ",productos(i).octubre);
    printf("t%7.2f ",productos(i).noviembre);
    printf("t%7.2f ",productos(i).diciembre);
    printf("t%10.2f n",suma(i));
}

printf("nnSuma total de los 4 es: %.2fnPromedio es: %.2fn",total,prom);
printf("El producto mas alto fue el numero %.fn",1+masgrande);

system("pause");

return 0;
}
float promedio(float total)
{
    float promedio;
    promedio = total / 4 ;
    return promedio;
}
float integralprod(float* n)
{
    float integralprod;
        integralprod = (*n);
    return integralprod;
}
float integralmeses(float* julio, float* agosto, float* septiembre, float* octubre, float* noviembre, float* diciembre)
{
    float sumatoria;
        sumatoria = (*julio)+(*agosto)+(*septiembre)+(*octubre)+(*noviembre)+(*diciembre);
    return sumatoria;
    
}
float mayor(float n(4))
{
    float mayor=0,posmayor=0;
    int i;
    for(i = 0; i < 4; i++)
    {
        if(n(i) > mayor)
        {
            mayor = n(i);
            posmayor = i;
        }
    }
    return posmayor;
}