Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/08/2010, 08:04
minette1988
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ejercicio de vectores

Hola, el enunciado dice así: Una compañía inmobiliaria tiene 25 vendedores. Cada operación que hace un vendedor se guarda con las siguientes informaciones: número del vendedor (int), nombre del vendedor (20 char), monto de la venta (float). Estas informaciones se almacenarán en tres vectores, y se deberá escribir un programa que calcule el total de ventas realizado por cada uno de los vendedores por separado, expresando el resultado como:

NUMERO DEL VENDEDOR NOMBRE DEL VENDEDOR TOTAL DE VENTAS

1 pepe 1500.54
2 ana 55741.38


Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define N_VENDEDORES 4
  5. #define N_VENTAS 10
  6.  
  7. int main(){
  8.     int num_del_vend[N_VENDEDORES];
  9.     char nom_del_vend[N_VENDEDORES][21];
  10.     float total_vend[N_VENDEDORES];
  11.    
  12.     int num_vend_venta[N_VENTAS];
  13.     char nom_vend_venta[N_VENTAS][21];
  14.     float monto_venta[N_VENTAS];
  15.     int i,j,k;
  16.     char final;
  17.    
  18.     for(i=0; i<=(N_VENDEDORES-1); i++){
  19.         printf("Numero del vendedor: ");
  20.         scanf("%d", &num_del_vend);
  21.         printf("Nombre del vendedor: ");
  22.         scanf("%20s", nom_del_vend[i]);
  23.         total_vend[i]=0.0;    
  24.     }  
  25.     printf("\n\nVENTAS:\n ");
  26.     final = 'n';
  27.     i=0;
  28.     while((i<=(N_VENTAS-1))&&((final != 's') && (final != 'S'))) {
  29.         printf("Numero del vendedor: ");
  30.         scanf("%d", &num_vend_venta[i]);
  31.         printf("Nombre del vendedor: ");
  32.         scanf("%30s", nom_vend_venta[i]);
  33.         printf("Monto de la venta: ");
  34.         scanf("%f", &monto_venta[i]);
  35.         printf("¿Salir? (s/n)");
  36.         scanf("%1s", &final);
  37.         i++;
  38.     }
  39.     for(j=0; j<=(N_VENDEDORES-1); j++)
  40.         for(k=0; k<=(i-1); k++)
  41.            if(num_vend_venta[k]==num_del_vend[j])
  42.                total_vend[j]+=monto_venta[k];
  43.                
  44.     printf("%s %s %s\n", "NUMERO DEL VENDEDOR", "NOMBRE DEL VENDEDOR", "TOTAL DE VENTAS");
  45.        for(i=0; i<=(N_VENDEDORES-1); i++)
  46.           printf("\n\n%d     %s      %.2f\n",num_del_vend[i],nom_del_vend[i],total_vend[i]);
  47.          
  48.         getchar();
  49.         getchar();
  50. }

Cuando lo compilo no me suma las ventas de cada vendedor y además el número del vendedor no es correcto:

Numero del vendedor: 1
Nombre del vendedor: ana
Numero del vendedor: 2
Nombre del vendedor: carlos
Numero del vendedor: 3
Nombre del vendedor: tomas
Numero del vendedor: 4
Nombre del vendedor: pablo

VENTAS:
Número del vendedor: 1
Nombre del vendedor: ana
Monto de la venta: 45.12
¿Salir? (s/n) n
Número del vendedor: 1
Nombre del vendedor: ana
Monto de la venta: 10.12
¿Salir? (s/n) n
Número del vendedor: 2
Nombre del vendedor: carlos
Monto de la venta: 11.15
¿Salir? (s/n) n
Número del vendedor: 2
Nombre del vendedor: carlos
Monto de la venta: 85.32

NUMERO DEL VENDEDOR NOMBRE DEL VENDEDOR TOTAL DE VENTAS
4 ana 0.00
7812632 carlos 0.00
52 tomas 0.00
2130567168 pablo 0.00