Ver Mensaje Individual
  #11 (permalink)  
Antiguo 13/08/2010, 05:27
minette1988
 
Fecha de Ingreso: febrero-2010
Mensajes: 258
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: ventas mínimas mensuales y del año completo

Lo he hecho tal y como me has mostrado, pero cuando al primer mes le pongo dos ventas me sale como resultado la venta menor del mes 1 es: 0.00. ¿Por qué no compara el número del mes y después recorre las ventas de dicho mes y las compara para sacar la venta menor?. No entiendo por qué no funciona.

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. #define N_VENTAS 100
  6. #define N_MESES 12
  7.  
  8. int main(){
  9.       float total_venta[N_VENTAS];
  10.       int mes[N_MESES];
  11.       int i,j,k;
  12.       int n_mes[N_VENTAS];
  13.       char final;
  14.       int venta_menor;
  15.      
  16.       for(i=0; i<N_MESES; i++){
  17.          n_mes[i]=0;  
  18.          total_venta[i]=0.0;
  19.       }
  20.      
  21.       for(i=0; i<N_MESES; i++){
  22.            printf("Mes: ");
  23.            scanf("%d", &mes[i]);
  24.       }
  25.       final='n';
  26.       i=0;
  27.       while((i<N_VENTAS) && (final != 's') && (final != 'S')){
  28.             printf("Mes: ");
  29.             scanf("%d", &n_mes[i]);
  30.             printf("Valor de la venta: ");
  31.             scanf("%lf", &total_venta[i]);
  32.             printf("¿Salir? (s/n) ");
  33.             scanf("%1s", &final);
  34.             i++;
  35.       }
  36.      
  37.       for(j=0; j<N_MESES; j++)
  38.           venta_menor=0;
  39.           for(k=1; k<i; k++){
  40.              if(mes[i]==n_mes[j]){
  41.               if(total_venta[k]<total_venta[venta_menor])
  42.                   venta_menor=k;}
  43.         }      
  44.                   printf("La venta menor del mes %d es: %.2lf\n", mes[venta_menor],total_venta[venta_menor]);
  45.       getchar();
  46.       getchar();            
  47. }