Código C:
Ver original/*dos funciones, la primera calcula el total de todas las ventas
y la segunda calcula el total de ventas de cada vendedor.*/
#include <stdio.h>
#define N_VENDEDORES 18
#define N_PRODUCTOS 10
/* Función que muestra el menú del programa y retorna
el número de menú elegido por el usuario */
int mostrarMenu();
/* Función que calcula el total de todas las ventas*/
double mostrarTotal(double v[][N_PRODUCTOS]);
/* Función que calcula el total de ventas de un vendedor*/
double totalVendedor(double v[][N_PRODUCTOS], int nVendedor);
int main(){
double ventas[N_VENDEDORES][N_PRODUCTOS]={0};
int resp=mostrarMenu();
int nvend, nprod;
double cantidad, cantidad_tmp[N_VENDEDORES][N_PRODUCTOS]={0}; // nueva linea
while(resp!=4){
switch(resp){
case 1:
ventas[nvend][nprod]=cantidad+cantidad_tmp[nvend][nprod]; //Nuevo linea
cantidad_tmp[nvend][nprod] += cantidad; //Nueva linea
break;
case 2:
printf("Ventas total del vendedor %d=%.2lf\n", nvend,totalVendedor(ventas,nvend));
break;
case 3:
printf("Total de ventas=%.2lf\n", mostrarTotal(ventas));
break;
}
resp=mostrarMenu();
}
}
int mostrarMenu(){
int resp;
printf("2) Mostrar total de vendedor\n"); printf("3) Mostrar total de ventas\n"); return resp;
}
double mostrarTotal(double v[][N_PRODUCTOS]){
double resp=0;
int i,j;
for(i=0;i<N_VENDEDORES;i++){
for(j=0;j<N_PRODUCTOS;j++){
resp+=v[i][j];
}
}
return resp;
}
double totalVendedor(double v[][N_PRODUCTOS], int nVendedor){
double resp=0;
int i;
for(i=0;i<N_PRODUCTOS;i++){
resp+=v[nVendedor][i];
}
return resp;
}
ver: nueva linea
, lo que te pasaba era que modificabas la cantidad pasada ingresada por la nueva ingresada en vez de sumarlas.