Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/09/2010, 05:53
minette1988
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 10 meses
Puntos: 0
ejercicio de arrays

Hola, tengo un problema con el siguiente ejercicio: Tengo dos funciones, la primera calcula el total de todas las ventas y la segunda calcula el total de ventas de cada vendedor. No me suma las ventas de un vendedor y tampoco me suma todas las ventas de los vendedores.

Ejemplo de compilación:

1) Añadir datos
2) Mostrar total de vendedor
3) Mostrar total de ventas
4) Salir
1
Número del vendedor:1
Número del producto:1
Cantidad vendida: 3.2

1) Añadir datos
2) Mostrar total de vendedor
3) Mostrar total de ventas
4) Salir
1
Número del vendedor:1
Número del producto:1
Cantidad vendida:5.8

1) Añadir datos
2) Mostrar total de vendedor
3) Mostrar total de ventas
4) Salir
2

Número del vendedor: 1
Venta total del vendedor 1=5.80

1) Añadir datos
2) Mostrar total de vendedor
3) Mostrar total de ventas
4) Salir
3

Total de ventas: 5.80
Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. #define N_VENDEDORES 18
  4. #define N_PRODUCTOS 10
  5.  
  6. /* Función que muestra el menú del programa y retorna
  7. el número de menú elegido por el usuario */
  8. int mostrarMenu();
  9.  
  10. /* Función que calcula el total de todas las ventas*/
  11. double mostrarTotal(double v[][N_PRODUCTOS]);
  12.  
  13. /* Función que calcula el total de ventas de un vendedor*/
  14. double totalVendedor(double v[][N_PRODUCTOS], int nVendedor);
  15.  
  16. int main(){
  17. double ventas[N_VENDEDORES][N_PRODUCTOS]={0};
  18. int resp=mostrarMenu();
  19. int nvend, nprod;
  20. double cantidad;
  21.  
  22. while(resp!=4){
  23. switch(resp){
  24. case 1:
  25. printf("Numero de vendedor: ");scanf("%d",&nvend);
  26. printf("Numero de producto: ");scanf("%d",&nprod);
  27. printf("Cantidad ventida: ");scanf("%lf",&cantidad);
  28. ventas[nvend][nprod]=cantidad;
  29. break;
  30. case 2:
  31. printf("Numero de vendedor: ");scanf("%d",&nvend);
  32. printf("Ventas total del vendedor %d=%.2lf\n",
  33. nvend,totalVendedor(ventas,nvend));
  34. break;
  35. case 3:
  36. printf("Total de ventas=%.2lf\n",
  37. mostrarTotal(ventas));
  38. break;
  39. }
  40. resp=mostrarMenu();
  41. }
  42.  
  43. }
  44. int mostrarMenu(){
  45. int resp;
  46. printf("\n\n");
  47. printf("1) Añadir datos\n");
  48. printf("2) Mostrar total de vendedor\n");
  49. printf("3) Mostrar total de ventas\n");
  50. printf("4) Salir\n");
  51. scanf("%d",&resp);
  52. return resp;
  53. }
  54.  
  55. double mostrarTotal(double v[][N_PRODUCTOS]){
  56. double resp=0;
  57. int i,j;
  58. for(i=0;i<N_VENDEDORES;i++){
  59. for(j=0;j<N_PRODUCTOS;j++){
  60. resp+=v[i][j];
  61. }
  62. }
  63. return resp;
  64. }
  65.  
  66. double totalVendedor(double v[][N_PRODUCTOS], int nVendedor){
  67. double resp=0;
  68. int i;
  69. for(i=0;i<N_PRODUCTOS;i++){
  70. resp+=v[nVendedor][i];
  71. }
  72. return resp;
  73. }