Hola, un problema es que en la linea 70 es g_total la segunda vez, no seria guion medio sino guion bajo.
Igual g_total entiendo que que es la suma de los totales de cada 'factura', por ende no deberia ser una variable dentro de la estructura. si lo que quieres es solo mostrarlo puedes crear en main() (o en un pequeño procedimiento nuevo) una variable de tipo float; es ese caso seria asi:
int main{
system("cls");
int n;
float g_total=0; ///agregar esto
-----------
for(int i=0;i<n; i++){
ver(&productos[i]);
}
for(int i=0;i<n; i++){ ///agregar esto hasta terminar
g_total=g_total+productos[i].total);
}
cout<<"el gran total es: "<<g_total<<endl;
Tu programa si pones bien la primer sugerencia total y g_total de cada factura son iguales.
*Ahora que vuelvo a ver tu programa y creo que lo que queres hacer es por ejemplo si dos facturas son del mismo productos sumar el total de las dos. Si ese es el caso ese dato no tiene sentido que lo guarde porque los podes obtener sumando los totales cuando quieras sino podria haber incongruencia en los datos, es decir que cada vez que agreges una factura tienes que actualizar g_total en cada factura con ese producto. Ademas aunque en caso de que controles que no suceda alguna incongruencia en los datos, no tiene ninguna funcionalidad tenerlo asi, por eso lo que puse seria una manera de hacerlo.
Saludos!