Por favor ayuda URGENTE invalid type float[const int] for arrays subscript

Iniciado por salack01, 13 Noviembre 2019, 08:31 AM

0 Miembros y 1 Visitante están viendo este tema.

salack01

Necesito ayuda es super urgente, es un trabajo que me toca presentar en unas horas
el programa me tiene que decir el valor en dinero de la recaudacion de cada
sucursal de la empresa y el valor en total de la empresa
pero me tira un error y no he podido solucionarlo, alguien que me ayude rapido por favor.





#include <iostream>
#include <locale.h>

using namespace std;

//el programa tiene que decirme el valor recaudado de cada sucursal y el de la empresa en general

const int CANT_ARTICULOS=10;
const int CANT_SUCURSALES=5;
float recaudacionPorSucursal(float precios[CANT_ARTICULOS], float cantVendidas[CANT_SUCURSALES][CANT_ARTICULOS], int fila);
void calcularRecaudacionTotal(float precios[CANT_ARTICULOS], float cantVendidas[CANT_SUCURSALES][CANT_ARTICULOS]);

int main (){
   setlocale(LC_ALL,"");
   
   float precioArt[10];
   int cantSucursalesArticulos[CANT_SUCURSALES][CANT_ARTICULOS];
   
   for(int i = 1; i <= 10; i++){
      
      cout << "Ingrese el precio del articulo número "<<i<<" : ";
      cin >> precioArt;
   }
   
   for(int s = 0; s < CANT_SUCURSALES; s++){
      
      for (int a = 0; a < CANT_ARTICULOS; a++){
         cout << "Digite las cantidades vendidas del articulo # " << a+1 <<" en la sucursal "<<s+1<<": ";
         cin >>  cantSucursalesArticulos[a];
      }
   }
   
   float precios, cantVendidas;
   
   calcularRecaudacionTotal(precios[CANT_ARTICULOS],cantVendidas[CANT_SUCURSALES][CANT_ARTICULOS]);
   
   return 0;
}


void calcularRecaudacionTotal(float precios[CANT_ARTICULOS], float cantVendidas[CANT_SUCURSALES][CANT_ARTICULOS]){
   float rTotal = 0;
   
   for(int s = 0; s < CANT_SUCURSALES; s++){
      rTotal += recaudacionPorSucursal(precios,cantVendidas,s);
      
      cout << "Venta en la sucursal " << s + 1 << " es " << recaudacionPorSucursal(precios,cantVendidas,s) * 1000 << "$" << endl;   
   }
   
   cout << "La recaudacion total es " << rTotal * 1000 << "$";
}

float recaudacionPorSucursal(float precios[CANT_ARTICULOS], float cantVendidas[CANT_SUCURSALES][CANT_ARTICULOS], int fila){
   int rSucursal = 0;
   
   for(int c = 0; c < CANT_ARTICULOS; c++){
      rSucursal += cantVendidas[fila][c] * precios[c];
   }
   
   return rSucursal;
}

@XSStringManolo

En que línea te sale el error? Yo entiendo el error como que estás usando un float dentro del operador array.

K-YreX

Pretendes que te den la solución en un plazo de unas horas por no haber intentado solucionarlo antes y encima... te has parado a ver tu propio mensaje?? Un código donde faltan índices que no se ven, con la mitad del texto en cursiva, la otra mitad tachado, sin etiquetas de Código GeSHi y donde es casi imposible leer nada...

Yo diría que el fallo que se puede ver a priori es que están usando dos funciones que reciben un array y una matriz de <float> y en el <main> has creado dos variables de tipo <float> sin más que son las que estás pasando a la función.

Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;