Estoy haciendo un programa que trata de leer un fichero y sacar datos a traves de él. El objetivo de este es sacar los importes totales de cada mes, y el total de cada vendedor (cod)
He señalado en el código las partes que fallan, espero que puedan ayudarme!
Código:
#include <stdio.h> #include <stdlib.h> struct FVENTAS { int cod; int imp; int mes; int dia; }; FILE *abrir_fichero(char *nom,char *modo) { FILE* fich; fich=fopen(nom,modo); if (fich==NULL) { printf("Error en la apertura del archivo"); exit (1); } return fich; } void mostrar_totales_mes(int *codmes) { int x,y; for (x=0;x<10;x++) { printf("Vendedor %d\n",x+1); puts("---------------"); for(y=0;y<12;y++) printf("Mes de %d: €%d",y+1,codmes[x][y]); } } void mostrar_totales(int *total) { int x; for (x=0;x<10;x++) { printf("Vendedor %d\n",x+1); puts("--------------"); printf("Ha generado un total de %d euros\n",total[x][y]); /*Y aquí: Subscripted value is neither array or pointer*/ } } void calculo(FILE* fich) { int total[10]; int codmes[10][12]; struct FVENTAS comodin; int x,y; for (x=0;x<10;x++) { total[x]=0; for(y=0;y<12;y++) codmes[x][y]=0; } fread(&comodin,sizeof(comodin),1,fich); while(!feof(fich)) { codmes[comodin.cod-1][comodin.mes-1]+=comodin.imp; total[comodin.cod-1]+=comodin.imp; fread(&comodin,sizeof(comodin),1,fich); } mostrar_totales_mes(codmes); // Aqui me dice -> Warning: passing argument 1 of "mostrar_totales_mes" from //incompatible pointer type mostrar_totales(total); } int main() { FILE* fich; fich=abrir_fichero("fventas.rtf","r"); calculo(fich); fclose(fich); return 0; }